From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx3-rdu2.redhat.com ([66.187.233.73] helo=mx1.redhat.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fx0VU-0001d2-V7 for kexec@lists.infradead.org; Tue, 04 Sep 2018 01:51:54 +0000 Date: Tue, 4 Sep 2018 09:51:31 +0800 From: Dave Young Subject: Re: [PATCH 2/5 V6] x86/ioremap: strengthen the logic in early_memremap_pgprot_adjust() to adjust encryption mask Message-ID: <20180904015131.GA10877@dhcp-128-65.nay.redhat.com> References: <20180831081930.31561-1-lijiang@redhat.com> <20180831081930.31561-3-lijiang@redhat.com> <20180903024512.GA2568@dhcp-128-65.nay.redhat.com> <20180904004417.GA9842@dhcp-128-65.nay.redhat.com> <20180904012902.GB9842@dhcp-128-65.nay.redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180904012902.GB9842@dhcp-128-65.nay.redhat.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: lijiang Cc: thomas.lendacky@amd.com, linux-efi , bhe@redhat.com, Ard Biesheuvel , joro@8bytes.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, mingo@redhat.com, ebiederm@xmission.com, hpa@zytor.com, tglx@linutronix.de T24gMDkvMDQvMTggYXQgMDk6MjlhbSwgRGF2ZSBZb3VuZyB3cm90ZToKPiBPbiAwOS8wNC8xOCBh dCAwODo0NGFtLCBEYXZlIFlvdW5nIHdyb3RlOgo+ID4gT24gMDkvMDMvMTggYXQgMTA6MDZwbSwg bGlqaWFuZyB3cm90ZToKPiA+ID4g5ZyoIDIwMTjlubQwOeaciDAz5pelIDEwOjQ1LCBEYXZlIFlv dW5nIOWGmemBkzoKPiA+ID4gPiBPbiAwOC8zMS8xOCBhdCAwNDoxOXBtLCBMaWFuYm8gSmlhbmcg d3JvdGU6Cj4gPiA+ID4+IEZvciBrZHVtcCBrZXJuZWwsIHdoZW4gU01FIGlzIGVuYWJsZWQsIHRo ZSBhY3BpIHRhYmxlIGFuZCBkbWkgdGFibGUgd2lsbCBuZWVkCj4gPiA+ID4+IHRvIGJlIHJlbWFw cGVkIHdpdGhvdXQgdGhlIG1lbW9yeSBlbmNyeXB0aW9uIG1hc2suIFNvIHdlIGhhdmUgdG8gc3Ry ZW5ndGhlbgo+ID4gPiA+PiB0aGUgbG9naWMgaW4gZWFybHlfbWVtcmVtYXBfcGdwcm90X2FkanVz dCgpLCB3aGljaCBtYWtlcyB1cyBoYXZlIGFuIG9wcG9ydHVuaXR5Cj4gPiA+ID4+IHRvIGFkanVz dCB0aGUgbWVtb3J5IGVuY3J5cHRpb24gbWFzay4KPiA+ID4gPj4KPiA+ID4gPj4gU2lnbmVkLW9m Zi1ieTogTGlhbmJvIEppYW5nIDxsaWppYW5nQHJlZGhhdC5jb20+Cj4gPiA+ID4+IC0tLQo+ID4g PiA+PiAgYXJjaC94ODYvbW0vaW9yZW1hcC5jIHwgOSArKysrKysrKy0KPiA+ID4gPj4gIDEgZmls ZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiA+ID4gPj4KPiA+ID4g Pj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2lvcmVtYXAuYyBiL2FyY2gveDg2L21tL2lvcmVt YXAuYwo+ID4gPiA+PiBpbmRleCBlMDFlNmM2OTVhZGQuLmY5ZDlhMzk5NTVmMyAxMDA2NDQKPiA+ ID4gPj4gLS0tIGEvYXJjaC94ODYvbW0vaW9yZW1hcC5jCj4gPiA+ID4+ICsrKyBiL2FyY2gveDg2 L21tL2lvcmVtYXAuYwo+ID4gPiA+PiBAQCAtNjg5LDggKzY4OSwxNSBAQCBwZ3Byb3RfdCBfX2lu aXQgZWFybHlfbWVtcmVtYXBfcGdwcm90X2FkanVzdChyZXNvdXJjZV9zaXplX3QgcGh5c19hZGRy LAo+ID4gPiA+PiAgCWVuY3J5cHRlZF9wcm90ID0gdHJ1ZTsKPiA+ID4gPj4gIAo+ID4gPiA+PiAg CWlmIChzbWVfYWN0aXZlKCkpIHsKPiA+ID4gPj4gKyAgICAgICAgICAgICAgICAvKgo+ID4gPiA+ PiArICAgICAgICAgICAgICAgICAqIEluIGtkdW1wIGtlcm5lbCwgdGhlIGFjcGkgdGFibGUgYW5k IGRtaSB0YWJsZSB3aWxsIG5lZWQKPiA+ID4gPj4gKyAgICAgICAgICAgICAgICAgKiB0byBiZSBy ZW1hcHBlZCB3aXRob3V0IHRoZSBtZW1vcnkgZW5jcnlwdGlvbiBtYXNrLiBIZXJlCj4gPiA+ID4+ ICsgICAgICAgICAgICAgICAgICogd2UgaGF2ZSB0byBzdHJlbmd0aGVuIHRoZSBsb2dpYyB0byBh ZGp1c3QgdGhlIG1lbW9yeQo+ID4gPiA+PiArICAgICAgICAgICAgICAgICAqIGVuY3J5cHRpb24g bWFzay4KPiA+ID4gPiAKPiA+ID4gPiBBc3N1bWUgdGhlIGFjcGkvZG1pIHRhYmxlcyBhcmUgaWRl bnRpY2FsIGZvciBib3RoIDFzdCBrZXJuZWwgYW5kIGtkdW1wCj4gPiA+ID4ga2VybmVsLCBJJ20g bm90IHN1cmUgd2hhdCBpcyB0aGUgZGlmZmVyZW5jZSwgd2h5IG5lZWQgc3BlY2lhbCBoYW5kbGlu Zwo+ID4gPiA+IGZvciBrZHVtcC4gQ2FuIHlvdSBhZGQgbW9yZSBleHBsYW5hdGlvbnM/Cj4gPiA+ ID4gCj4gPiA+IAo+ID4gPiBPaywgaSB3aWxsIHVzZSBhIGRtaSBleGFtcGxlIHRvIGV4cGxhaW4g dGhpcyBpc3N1ZS4KPiA+ID4gCj4gPiA+IFRoZXJlIGFyZSBzaWduaWZpY2FudCBkaWZmZXJlbmNl cyBhYm91dCBFODIwIGJldHdlZW4gdGhlIDFzdCBrZXJuZWwgYW5kIGtkdW1wIGtlcm5lbC4gSSBw YXN0ZWQgdGhlbSBhdCBib3R0b20uCj4gPiA+IAo+ID4gPiBGaXJzdGx5LCB3ZSBuZWVkIHRvIGtu b3cgaG93IHRoZXkgYXJlIGNhbGxlZC4KPiA+ID4gX19hY3BpX21hcF90YWJsZSgpXCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBlYXJseV9t ZW1yZW1hcF9pc19zZXR1cF9kYXRhKCkKPiA+ID4gICAgICAgICAgICAgICAgICAgIHwtPiBlYXJs eV9tZW1yZW1hcCgpLT4gZWFybHlfbWVtcmVtYXBfcGdwcm90X2FkanVzdCgpLT4gfCBtZW1yZW1h cF9pc19lZmlfZGF0YSgpCj4gPiA+ICBkbWlfZWFybHlfcmVtYXAoKS8gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWVtcmVtYXBfc2hvdWxk X21hcF9kZWNyeXB0ZWQoKS0+IGU4MjBfX2dldF9lbnRyeV90eXBlKCkKPiA+ID4gCj4gPiA+IFNl Y29uZGx5LCB3ZSBhbHNvIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgbWVtcmVtYXBfc2hvdWxkX21h cF9kZWNyeXB0ZWQoKSwgd2hpY2ggaXMgaWxsdXN0cmF0ZWQgYnkgdGhlIGZha2UgY29kZS4KPiA+ ID4gc3RhdGljIGJvb2wgbWVtcmVtYXBfc2hvdWxkX21hcF9kZWNyeXB0ZWQocmVzb3VyY2Vfc2l6 ZV90IHBoeXNfYWRkciwKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBzaXplKQo+ID4gPiB7Cj4gPiA+IAo+ID4gPiAgICAgLyogY29k ZSAuLi4gKi8KPiA+ID4gCj4gPiA+ICAgICBzd2l0Y2ggKGU4MjBfX2dldF9lbnRyeV90eXBlKHBo eXNfYWRkciwgcGh5c19hZGRyICsgc2l6ZSAtIDEpKSB7Cj4gPiA+ICAgICAgICAgY2FzZSBFODIw X1RZUEVfUkVTRVJWRUQ6Cj4gPiA+ICAgICAgICAgY2FzZSBFODIwX1RZUEVfQUNQSToKPiA+ID4g ICAgICAgICBjYXNlIEU4MjBfVFlQRV9OVlM6Cj4gPiA+ICAgICAgICAgY2FzZSBFODIwX1RZUEVf VU5VU0FCTEU6Cj4gPiA+ICAgICAgICAgICAgICAgICAvKiBGb3IgU0VWLCB0aGVzZSBhcmVhcyBh cmUgZW5jcnlwdGVkICovCj4gPiA+ICAgICAgICAgICAgICAgICBpZiAoc2V2X2FjdGl2ZSgpKQo+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiA+ID4gICAgICAgICAgICAgICAg IC8qIEZhbGx0aHJvdWdoICovCj4gPiA+IAo+ID4gPiAgICAgICAgIGNhc2UgRTgyMF9UWVBFX1BS QU06Cj4gPiA+ICAgICAgICAgICAgICAgICAvKiBGb3IgU01FLCB0aGVzZSBhcmVhcyBhcmUgZGVj cnlwdGVkICovCj4gPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiA+ID4gICAgICAg ICBkZWZhdWx0Ogo+ID4gPiAgICAgICAgICAgICAgICAgLyogdGhlc2UgYXJlYXMgYXJlIGVuY3J5 cHRlZCBieSBkZWZhdWx0Ki8KPiA+ID4gICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gPiAgICAg fQo+ID4gPiAKPiA+ID4gICAgIHJldHVybiBmYWxzZTsKPiA+ID4gfQo+ID4gPiAKPiA+ID4gRm9y IHRoZSBkbWkgY2FzZSwgdGhlIGRtaSBiYXNlIGFkZHJlc3MgaXMgMHg2Mjg2YjAwMCBpbiBteSB0 ZXN0IG1hY2hpbmUuCj4gPiA+IAo+ID4gPiBJbiB0aGUgMXN0IGtlcm5lbCwgdGhlIGU4MjBfX2dl dF9lbnRyeV90eXBlKCkgY2FuIGdldCBhIHZhbGlkIGVudHJ5IGFuZCB0eXBlIGJ5IHRoZSBkbWkg YWRkcmVzcywgYW5kIHdlIGNhbiBhbHNvIGZpbmQgdGhlIGRtaSBiYXNlIGFkZHJlc3MgZnJvbSBl ODIwLgo+ID4gPiAoc2VlIHRoZSAxc3Qga2VybmVsIGxvZykKPiA+ID4gMHg2Mjg2YjAwMCDiiIgg W21lbSAweDAwMDAwMDAwNjI4NmIwMDAtMHgwMDAwMDAwMDYyODZlZmZmXQo+ID4gPiBTbywgdGhl c2UgYXJlYXMgYXJlIGRlY3J5cHRlZCBhY2NvcmRpbmcgdG8gdGhlIG1lbXJlbWFwX3Nob3VsZF9t YXBfZGVjcnlwdGVkKCkuCj4gPiA+IAo+ID4gPiBJbiBrZHVtcCBrZXJuZWwsIHRoZSBkbWkgYmFz ZSBhZGRyZXNzIGlzIHN0aWxsIDB4NjI4NmIwMDAsIGJ1dCB3ZSBjYW4gbm90IGZpbmQgdGhlIGRt aSBiYXNlIGFkZHJlc3MgZnJvbSBlODIwIGFueSBtb3JlLiBUaGUgZTgyMF9fZ2V0X2VudHJ5X3R5 cGUoKSBjYW4KPiA+ID4gbm90IGdldCBhIHZhbGlkIGVudHJ5IGFuZCB0eXBlIGJ5IHRoZSBkbWkg YmFzZSBhZGRyZXNzLCBpdCB3aWxsIGdvIGludG8gdGhlIGRlZmF1bHQgYnJhbmNoLiBUaGF0IGlz IHRvIHNheSwgdGhlc2UgYXJlYXMgYmVjb21lIGVuY3J5cHRlZC4gSW4gZmFjdCwgdGhlc2UKPiA+ ID4gYXJlYXMgYXJlIGFsc28gZGVjcnlwdGVkLCBzbyB3ZSBoYXZlIHRvIHN0cmVuZ3RoZW4gdGhl IGxvZ2ljIG9mIGFkanVzdGluZyB0aGUgbWVtb3J5IGVuY3J5cHRpb24gbWFzay4KPiA+ID4gCj4g PiA+IAo+ID4gPiBUaGUgMXN0IGtlcm5lbCBsb2c6Cj4gPiA+IAo+ID4gPiBbICAgIDAuMDAwMDAw XSBCSU9TLXByb3ZpZGVkIHBoeXNpY2FsIFJBTSBtYXA6Cj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJ T1MtZTgyMDogW21lbSAweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDAwMDhiZmZmXSB1c2Fi bGUKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDA4YzAw MC0weDAwMDAwMDAwMDAwOWZmZmZdIHJlc2VydmVkCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1Mt ZTgyMDogW21lbSAweDAwMDAwMDAwMDAwZTAwMDAtMHgwMDAwMDAwMDAwMGZmZmZmXSByZXNlcnZl ZAo+ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDAwMTAwMDAw LTB4MDAwMDAwMDAyOTkyMGZmZl0gdXNhYmxlCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgy MDogW21lbSAweDAwMDAwMDAwMjk5MjEwMDAtMHgwMDAwMDAwMDI5OTIxZmZmXSByZXNlcnZlZAo+ ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDI5OTIyMDAwLTB4 MDAwMDAwMDA2MjI1NmZmZl0gdXNhYmxlCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDog W21lbSAweDAwMDAwMDAwNjIyNTcwMDAtMHgwMDAwMDAwMDYyMzU2ZmZmXSByZXNlcnZlZAo+ID4g PiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDYyMzU3MDAwLTB4MDAw MDAwMDA2MjM1Y2ZmZl0gQUNQSSBkYXRhCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDog W21lbSAweDAwMDAwMDAwNjIzNWQwMDAtMHgwMDAwMDAwMDYyM2RiZmZmXSB1c2FibGUKPiA+ID4g WyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjNkYzAwMC0weDAwMDAw MDAwNjI2MWJmZmZdIHJlc2VydmVkCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21l bSAweDAwMDAwMDAwNjI2MWMwMDAtMHgwMDAwMDAwMDYyNjNkZmZmXSB1c2FibGUKPiA+ID4gWyAg ICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjYzZTAwMC0weDAwMDAwMDAw NjI2OWRmZmZdIHJlc2VydmVkCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAw eDAwMDAwMDAwNjI2OWUwMDAtMHgwMDAwMDAwMDYyN2Q2ZmZmXSB1c2FibGUKPiA+ID4gWyAgICAw LjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjdkNzAwMC0weDAwMDAwMDAwNjI3 ZTNmZmZdIEFDUEkgZGF0YQo+ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgw MDAwMDAwMDYyN2U0MDAwLTB4MDAwMDAwMDA2MjdlNGZmZl0gQUNQSSBOVlMKPiA+ID4gWyAgICAw LjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjdlNTAwMC0weDAwMDAwMDAwNjI3 ZThmZmZdIEFDUEkgZGF0YQo+ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgw MDAwMDAwMDYyN2U5MDAwLTB4MDAwMDAwMDA2MjdlYWZmZl0gdXNhYmxlCj4gPiA+IFsgICAgMC4w MDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjI3ZWIwMDAtMHgwMDAwMDAwMDYyN2Vi ZmZmXSBBQ1BJIGRhdGEKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAw MDAwMDA2MjdlYzAwMC0weDAwMDAwMDAwNjI4NmFmZmZdIHVzYWJsZQo+ID4gPiBbICAgIDAuMDAw MDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDYyODZiMDAwLTB4MDAwMDAwMDA2Mjg2ZWZm Zl0gcmVzZXJ2ZWQKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAw MDA2Mjg2ZjAwMC0weDAwMDAwMDAwNjgyZjhmZmZdIHVzYWJsZQo+ID4gPiBbICAgIDAuMDAwMDAw XSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4MmY5MDAwLTB4MDAwMDAwMDA2OGIwNWZmZl0g cmVzZXJ2ZWQKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2 OGIwNjAwMC0weDAwMDAwMDAwNjhiMDlmZmZdIEFDUEkgTlZTCj4gPiA+IFsgICAgMC4wMDAwMDBd IEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjhiMGEwMDAtMHgwMDAwMDAwMDY4YjFhZmZmXSBy ZXNlcnZlZAo+ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4 YjFiMDAwLTB4MDAwMDAwMDA2OGIxZGZmZl0gQUNQSSBOVlMKPiA+ID4gWyAgICAwLjAwMDAwMF0g QklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2OGIxZTAwMC0weDAwMDAwMDAwNzFkMWRmZmZdIHVz YWJsZQo+ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDcxZDFl MDAwLTB4MDAwMDAwMDA3MWQyZGZmZl0gcmVzZXJ2ZWQKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklP Uy1lODIwOiBbbWVtIDB4MDAwMDAwMDA3MWQyZTAwMC0weDAwMDAwMDAwNzFkM2RmZmZdIEFDUEkg TlZTCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNzFkM2Uw MDAtMHgwMDAwMDAwMDcxZDRkZmZmXSBBQ1BJIGRhdGEKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklP Uy1lODIwOiBbbWVtIDB4MDAwMDAwMDA3MWQ0ZTAwMC0weDAwMDAwMDAwNzdmZmZmZmZdIHVzYWJs ZQo+ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDc4MDAwMDAw LTB4MDAwMDAwMDA4ZmZmZmZmZl0gcmVzZXJ2ZWQKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1l ODIwOiBbbWVtIDB4MDAwMDAwMDBmZWQ4MDAwMC0weDAwMDAwMDAwZmVkODBmZmZdIHJlc2VydmVk Cj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAxMDAwMDAwMDAt MHgwMDAwMDAwODdlZmZmZmZmXSB1c2FibGUKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIw OiBbbWVtIDB4MDAwMDAwMDg3ZjAwMDAwMC0weDAwMDAwMDA4N2ZmZmZmZmZdIHJlc2VydmVkCj4g PiA+IAo+ID4gPiBUaGUga2R1bXAga2VybmVsIGxvZzoKPiA+ID4gCj4gPiA+IFsgICAgMC4wMDAw MDBdIEJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoKPiA+ID4gWyAgICAwLjAwMDAwMF0g QklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDAwMTAwMC0weDAwMDAwMDAwMDAwOGJmZmZdIHVz YWJsZQo+ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMDUyMDAw MDAwLTB4MDAwMDAwMDA2MWZmZmZmZl0gdXNhYmxlCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1Mt ZTgyMDogW21lbSAweDAwMDAwMDAwNjIyZWUwMDAtMHgwMDAwMDAwMDYyMzAwZmZmXSBBQ1BJIGRh dGEKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjMwMTAw MC0weDAwMDAwMDAwNjIzMDFmZmZdIEFDUEkgTlZTCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1Mt ZTgyMDogW21lbSAweDAwMDAwMDAwNjI3MDMwMDAtMHgwMDAwMDAwMDYyNzAzZmZmXSBBQ1BJIGRh dGEKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA2MjczNTAw MC0weDAwMDAwMDAwNjI3MzdmZmZdIEFDUEkgZGF0YQo+ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9T LWU4MjA6IFttZW0gMHgwMDAwMDAwMDYyNzNhMDAwLTB4MDAwMDAwMDA2MjczYWZmZl0gQUNQSSBk YXRhCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwNjhiMDYw MDAtMHgwMDAwMDAwMDY4YjA5ZmZmXSBBQ1BJIE5WUwo+ID4gPiBbICAgIDAuMDAwMDAwXSBCSU9T LWU4MjA6IFttZW0gMHgwMDAwMDAwMDY4YjFiMDAwLTB4MDAwMDAwMDA2OGIxZGZmZl0gQUNQSSBO VlMKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDA3MWQyZTAw MC0weDAwMDAwMDAwNzFkM2RmZmZdIEFDUEkgTlZTCj4gPiA+IFsgICAgMC4wMDAwMDBdIEJJT1Mt ZTgyMDogW21lbSAweDAwMDAwMDAwNzFkM2UwMDAtMHgwMDAwMDAwMDcxZDRkZmZmXSBBQ1BJIGRh dGEKPiA+ID4gWyAgICAwLjAwMDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDdmZTAwMDAw MC0weDAwMDAwMDA4N2RmNzBmZmZdIHVzYWJsZQo+ID4gPiAKPiA+IAo+ID4gQ2FuIHlvdSBwcm92 aWRlIHRoZSBlZmkgbWVtbWFwIGRtZXNnPyAgYm9vdCB3aXRoIGVmaT1kZWJ1Zz8KPiAKPiBUaGUg cmlnaHQgd2F5IHNob3VsZCBiZSBjaGVja2luZyB0aGUgZWZpIG1lbSB0eXBlcyBpbnN0ZWFkIG9m IG9ubHkKPiBjaGVja2luZyBpc19rZHVtcF9rZXJuZWwuCj4gCj4gU29tZXRoaW5nIGxpa2UgYmVs b3csIHByb2JhYmx5IGFsc28gY2hlY2sgdGhlIHJlZ2lvbiBzaXplIHdpdGggc29tZXRoaW5nCj4g bGlrZSBlZmlfbWVtX3JhbmdlX3R5cGUoYWRkciwgc2l6ZSksIHJldHVybiAtRUlOVkFMIGluIGNh c2UgY3Jvc3MKPiBkaWZmZXJlbnQgdHlwZSBlZmkgbWVtb3J5IGRlc2MsIGFkZGVkIGVmaSBwZW9w bGUgaW4gY2M6Cj4gCj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2lvcmVtYXAuYyBiL2FyY2gv eDg2L21tL2lvcmVtYXAuYwo+IGluZGV4IGM2M2E1NDVlYzE5OS4uNGEyNGUxMzhjMGQwIDEwMDY0 NAo+IC0tLSBhL2FyY2gveDg2L21tL2lvcmVtYXAuYwo+ICsrKyBiL2FyY2gveDg2L21tL2lvcmVt YXAuYwo+IEBAIC01MjcsNiArNTI3LDEzIEBAIHN0YXRpYyBib29sIG1lbXJlbWFwX3Nob3VsZF9t YXBfZGVjcnlwdGVkKHJlc291cmNlX3NpemVfdCBwaHlzX2FkZHIsCj4gIAkJYnJlYWs7Cj4gIAl9 Cj4gIAo+ICsJaWYgKGlzX2tkdW1wX2tlcm5lbCgpIHsKPiArCQlzd2l0Y2ggKGVmaV9tZW1fdHlw ZShwaHlzX2FkZHIpKSB7Cj4gKwkJLyogcmVmZXIgdG8gYXJjaC94ODYvYm9vdC9jb21wcmVzc2Vk L2Vib290LmMgLT4gc2V0dXBfZTgyMCgpKi8KPiArCQljYXNlIC4uLgo+ICsJCX0KPiArCX0KPiAr Cj4gIAlyZXR1cm4gZmFsc2U7Cj4gIH0KPiAgCgpIb2xkIG9uLCBJIHN1cHBvc2Uga2V4ZWMgcmVi b290IGFsc28gbmVlZCB0aGlzLCBidXQgaWYgaXQgd29ya3Mgd2l0aG91dAphIGZpeCB0aGVuIHRo ZXJlIG1pZ2h0IGJlIHRoaW5nIHRvIGJlIG1hZGUgY2xlYXIuCgprZXhlYy10b29scyB3aWxsIHJl YWQgL3Byb2MvaW9tZW0gYW5kIHJlY3JlYXRlIHRoZSBlODIwIHJhbmdlcyBmb3IgMm5kCmtlcm5l bCBzbyBpbiB0aGVvcnkgd2Ugc2hvdWxkIGJlIGZpbmUgd2l0aG91dCBhIGZpeC4KCkNhbiB5b3Ug ZGVidWcgdGhlIGtleGVjLXRvb2xzIGxvYWQgcHJvY2VzcyBhYm91dCB0aGUgZTgyMCBjcmVhdGlu ZyBjb2RlCnBhdGg/Cgo+IAo+ID4gCj4gPiA+ID4+ICsgICAgICAgICAgICAgICAgICovCj4gPiA+ ID4+ICAJCWlmIChlYXJseV9tZW1yZW1hcF9pc19zZXR1cF9kYXRhKHBoeXNfYWRkciwgc2l6ZSkg fHwKPiA+ID4gPj4gLQkJICAgIG1lbXJlbWFwX2lzX2VmaV9kYXRhKHBoeXNfYWRkciwgc2l6ZSkp Cj4gPiA+ID4+ICsJCSAgICBtZW1yZW1hcF9pc19lZmlfZGF0YShwaHlzX2FkZHIsIHNpemUpIHx8 Cj4gPiA+ID4+ICsJCSAgICBpc19rZHVtcF9rZXJuZWwoKSkKPiA+ID4gPj4gIAkJCWVuY3J5cHRl ZF9wcm90ID0gZmFsc2U7Cj4gPiA+ID4+ICAJfQo+ID4gPiA+PiAgCj4gPiA+ID4+IC0tIAo+ID4g PiA+PiAyLjE3LjEKPiA+ID4gPj4KPiA+ID4gPiAKPiA+ID4gPiBUaGFua3MKPiA+ID4gPiBEYXZl Cj4gPiA+ID4gCgpUaGFua3MKRGF2ZQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18Ka2V4ZWMgbWFpbGluZyBsaXN0CmtleGVjQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXhlYwo=