From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 34A86C433E0 for ; Wed, 17 Mar 2021 11:22:02 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A18E164F64 for ; Wed, 17 Mar 2021 11:22:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A18E164F64 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=S1fGcoyLe40nQIf5Dv4nwpsIStm7lBgRGzyoehIxjAY=; b=fjtsEryiDFh3qZV81zD3D9Mrs lolpkVRLxo+d+g1jW9uvA3I2ajc8MMysYCfrAJyttYW35vlktGx/fX2hBVxJ0KvOvMBPhXwmm17Vy SjbKLawDnjxaCzClYclxWYeto0jEl/sOYq1FTkImJVFw9xB+9NdPxsRiXWgH4JfFSTkY5mcnn3oeO Kt73b1Y0jXB6QBrerWZfm0LCMZXWmK+SQ3SwgEG/kU5FcSNBDfEI9HOYoRZn4X5YvYzdwzPdkGpsk jvTiPzWrw6tbBXzd48VYlXHEH2i4J62pI6E8OViIC5Iq+AbGLD5M1gX7g2TqQ8DAmYxiHVVEQLPXZ Rh+jQhIKg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lMUE1-0030bI-3N; Wed, 17 Mar 2021 11:20:29 +0000 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lMUDv-0030aA-Sz for linux-arm-kernel@lists.infradead.org; Wed, 17 Mar 2021 11:20:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1615980022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QaEGLo4X+NXL8tELF4RXIvdfb6RpjHhM2xKHX0rYoII=; b=eRpkPngK4+BG1H7lUe73NJJDxiVf2Ocx/7rbcfkPYmP/7JErzSOU5OF76KoRpos8G4BhaD QPiyiUX7i09RUklsynEVmFCYM6zqXkkbEg/HEuzcqFCyZFwhFWPV2zRW4KenDIjBUMPIYF cAQwvBRSQBQNZt1y4Vy0BHi94aXqykI= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-151-R_kdP-m1Nz2gWLDFCNTusQ-1; Wed, 17 Mar 2021 07:20:20 -0400 X-MC-Unique: R_kdP-m1Nz2gWLDFCNTusQ-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 09D6F83DD21; Wed, 17 Mar 2021 11:20:19 +0000 (UTC) Received: from [10.36.112.124] (ovpn-112-124.ams2.redhat.com [10.36.112.124]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8683A5D9C0; Wed, 17 Mar 2021 11:20:16 +0000 (UTC) Subject: Re: [RFC] mm: Enable generic pfn_valid() to handle early sections with memmap holes To: Anshuman Khandual , linux-mm@kvack.org Cc: Russell King , Catalin Marinas , Will Deacon , Andrew Morton , Mike Rapoport , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <1615174073-10520-1-git-send-email-anshuman.khandual@arm.com> <745496f5-e099-8780-e42e-f347b55e8476@redhat.com> <72902ace-5f00-b484-aa71-e6841fb7d082@arm.com> From: David Hildenbrand Organization: Red Hat GmbH Message-ID: <2541b182-1f1c-c1ed-c15c-9d71160eb6fe@redhat.com> Date: Wed, 17 Mar 2021 12:20:15 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: <72902ace-5f00-b484-aa71-e6841fb7d082@arm.com> Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210317_112024_601239_F77A589A X-CRM114-Status: GOOD ( 41.57 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTEuMDMuMjEgMDU6MjksIEFuc2h1bWFuIEtoYW5kdWFsIHdyb3RlOgo+IAo+IAo+IE9uIDMv OC8yMSAyOjA3IFBNLCBEYXZpZCBIaWxkZW5icmFuZCB3cm90ZToKPj4gT24gMDguMDMuMjEgMDQ6 MjcsIEFuc2h1bWFuIEtoYW5kdWFsIHdyb3RlOgo+Pj4gUGxhdGZvcm1zIGxpa2UgYXJtIGFuZCBh cm02NCBoYXZlIHJlZGVmaW5lZCBwZm5fdmFsaWQoKSBiZWNhdXNlIHRoZWlyIGVhcmx5Cj4+PiBt ZW1vcnkgc2VjdGlvbnMgbWlnaHQgaGF2ZSBjb250YWluZWQgbWVtbWFwIGhvbGVzIGNhdXNlZCBi eSBtZW1ibG9jayBhcmVhcwo+Pj4gdGFnZ2VkIHdpdGggTUVNQkxPQ0tfTk9NQVAsIHdoaWNoIHNo b3VsZCBiZSBza2lwcGVkIHdoaWxlIHZhbGlkYXRpbmcgYSBwZm4KPj4+IGZvciBzdHJ1Y3QgcGFn ZSBiYWNraW5nLiBUaGlzIHNjZW5hcmlvIGNvdWxkIGJlIGNhcHR1cmVkIHdpdGggYSBuZXcgb3B0 aW9uCj4+PiBDT05GSUdfSEFWRV9FQVJMWV9TRUNUSU9OX01FTU1BUF9IT0xFUyBhbmQgdGhlbiBn ZW5lcmljIHBmbl92YWxpZCgpIGNhbiBiZQo+Pj4gaW1wcm92ZWQgdG8gYWNjb21tb2RhdGUgc3Vj aCBwbGF0Zm9ybXMuIFRoaXMgcmVkdWNlcyBvdmVyYWxsIGNvZGUgZm9vdHByaW50Cj4+PiBhbmQg YWxzbyBpbXByb3ZlcyBtYWludGFpbmFiaWxpdHkuCj4+Pgo+Pj4gQ29tbWl0IDRmNWIwYzE3ODk5 NiAoImFybSwgYXJtNjQ6IG1vdmUgZnJlZV91bnVzZWRfbWVtbWFwKCkgdG8gZ2VuZXJpYyBtbSIp Cj4+PiBoYWQgdXNlZCBDT05GSUdfSEFWRV9BUkNIX1BGTl9WQUxJRCB0byBnYXRlIGZyZWVfdW51 c2VkX21lbW1hcCgpLCB3aGljaCBpbgo+Pj4gdHVybiBoYWQgZXhwYW5kZWQgaXRzIHNjb3BlIHRv IG5ldyBwbGF0Zm9ybXMgbGlrZSBhcmMgYW5kIG02OGsuIFJhdGhlciBsZXRzCj4+PiByZXN0cmlj dCBiYWNrIHRoZSBzY29wZSBmb3IgZnJlZV91bnVzZWRfbWVtbWFwKCkgdG8gYXJtIGFuZCBhcm02 NCBwbGF0Zm9ybXMKPj4+IHVzaW5nIHRoaXMgbmV3IGNvbmZpZyBvcHRpb24gaS5lIENPTkZJR19I QVZFX0VBUkxZX1NFQ1RJT05fTUVNTUFQLgo+Pj4KPj4+IFdoaWxlIGhlcmUsIGl0IGV4cG9ydHMg dGhlIHN5bWJvbCBtZW1ibG9ja19pc19tYXBfbWVtb3J5KCkgdG8gYnVpbGQgZHJpdmVycwo+Pj4g dGhhdCBkZXBlbmQgb24gcGZuX3ZhbGlkKCkgYnV0IGRvZXMgbm90IGhhdmUgdGhlIHJlcXVpcmVk IHZpc2liaWxpdHkuIEFmdGVyCj4+PiB0aGlzIG5ldyBjb25maWcgaXMgaW4gcGxhY2UsIGp1c3Qg ZHJvcCBDT05GSUdfSEFWRV9BUkNIX1BGTl9WQUxJRCBmcm9tIGJvdGgKPj4+IGFybSBhbmQgYXJt NjQgcGxhdGZvcm1zLgo+Pj4KPj4+IENjOiBSdXNzZWxsIEtpbmcgPGxpbnV4QGFybWxpbnV4Lm9y Zy51az4KPj4+IENjOiBDYXRhbGluIE1hcmluYXMgPGNhdGFsaW4ubWFyaW5hc0Bhcm0uY29tPgo+ Pj4gQ2M6IFdpbGwgRGVhY29uIDx3aWxsQGtlcm5lbC5vcmc+Cj4+PiBDYzogQW5kcmV3IE1vcnRv biA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KPj4+IENjOiBNaWtlIFJhcG9wb3J0IDxycHB0 QGtlcm5lbC5vcmc+Cj4+PiBDYzogRGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlkQHJlZGhhdC5jb20+ Cj4+PiBDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCj4+PiBDYzogbGlu dXgta2VybmVsQHZnZXIua2VybmVsLm9yZwo+Pj4gQ2M6IGxpbnV4LW1tQGt2YWNrLm9yZwo+Pj4g U3VnZ2VzdGVkLWJ5OiBEYXZpZCBIaWxkZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT4KPj4+IFNp Z25lZC1vZmYtYnk6IEFuc2h1bWFuIEtoYW5kdWFsIDxhbnNodW1hbi5raGFuZHVhbEBhcm0uY29t Pgo+Pj4gLS0tCj4+PiBUaGlzIGFwcGxpZXMgb24gNS4xMi1yYzIgYWxvbmcgd2l0aCBhcm02NCBw Zm5fdmFsaWQoKSBmaXggcGF0Y2hlcyBbMV0gYW5kCj4+PiBoYXMgYmVlbiBsaWdodGx5IHRlc3Rl ZCBvbiB0aGUgYXJtNjQgcGxhdGZvcm0uIFRoZSBpZGVhIHRvIHJlcHJlc2VudCB0aGlzCj4+PiB1 bmlxdWUgc2l0dWF0aW9uIG9uIHRoZSBhcm0gYW5kIGFybTY0IHBsYXRmb3JtcyB3aXRoIGEgY29u ZmlnIG9wdGlvbiB3YXMKPj4+IHByb3Bvc2VkIGJ5IERhdmlkIEggZHVyaW5nIGFuIGVhcmxpZXIg ZGlzY3Vzc2lvbiBbMl0uIFRoaXMgc3RpbGwgZG9lcyBub3QKPj4+IGJ1aWxkIG9uIGFybSBwbGF0 Zm9ybSBkdWUgdG8gcGZuX3ZhbGlkKCkgcmVzb2x1dGlvbiBlcnJvcnMuIE5vbmV0aGVsZXNzCj4+ PiB3YW50ZWQgdG8gZ2V0IHNvbWUgZWFybHkgZmVlZGJhY2sgd2hldGhlciB0aGUgb3ZlcmFsbCBh cHByb2FjaCBoZXJlLCBpcwo+Pj4gYWNjZXB0YWJsZSBvciBub3QuCj4+Cj4+IEl0IG1pZ2h0IG1h a2Ugc2Vuc2UgdG8ga2VlcCB0aGUgYXJtIHZhcmlhbnQgZm9yIG5vdy4gVGhlIGFybTY0IHZhcmlh bnQgaXMgd2hlcmUgdGhlIG1hZ2ljIGhhcHBlbnMgYW5kIHdoZXJlIHdlIG1pc3NlZCB1cGRhdGVz IHdoZW4gd29ya2luZyBvbiB0aGUgZ2VuZXJpYyB2YXJpYW50Lgo+IAo+IFN1cmUsIHdpbGwgZHJv cCB0aGUgY2hhbmdlcyBvbiBhcm0uCj4gCj4+Cj4+IFRoZSBnZW5lcmljIHZhcmlhbnQgcmVhbGx5 IG9ubHkgYXBwbGllcyB0byA2NGJpdCB0YXJnZXRzIHdoZXJlIHdlIGhhdmUgU1BBUlNFTUVNLiBT ZWUgeDg2IGFzIGFuIGV4YW1wbGUuCj4gCj4gT2theS4KPiAKPj4KPj4gWy4uLl0KPj4KPj4+ICDC oCAvKgo+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbW16b25lLmggYi9pbmNsdWRlL2xp bnV4L21tem9uZS5oCj4+PiBpbmRleCA0Nzk0NmNlYzc1ODQuLjkzNTMyOTk0MTEzZiAxMDA2NDQK Pj4+IC0tLSBhL2luY2x1ZGUvbGludXgvbW16b25lLmgKPj4+ICsrKyBiL2luY2x1ZGUvbGludXgv bW16b25lLmgKPj4+IEBAIC0xNDA5LDggKzE0MDksMjMgQEAgc3RhdGljIGlubGluZSBpbnQgcGZu X3NlY3Rpb25fdmFsaWQoc3RydWN0IG1lbV9zZWN0aW9uICptcywgdW5zaWduZWQgbG9uZyBwZm4p Cj4+PiAgwqAgfQo+Pj4gIMKgICNlbmRpZgo+Pj4gIMKgICtib29sIG1lbWJsb2NrX2lzX21hcF9t ZW1vcnkocGh5c19hZGRyX3QgYWRkcik7Cj4+PiArCj4+PiAgwqAgI2lmbmRlZiBDT05GSUdfSEFW RV9BUkNIX1BGTl9WQUxJRAo+Pj4gIMKgIHN0YXRpYyBpbmxpbmUgaW50IHBmbl92YWxpZCh1bnNp Z25lZCBsb25nIHBmbikKPj4+ICt7Cj4+PiArwqDCoMKgIHBoeXNfYWRkcl90IGFkZHIgPSBQRk5f UEhZUyhwZm4pOwo+Pj4gKwo+Pj4gK8KgwqDCoCAvKgo+Pj4gK8KgwqDCoMKgICogRW5zdXJlIHRo ZSB1cHBlciBQQUdFX1NISUZUIGJpdHMgYXJlIGNsZWFyIGluIHRoZQo+Pj4gK8KgwqDCoMKgICog cGZuLiBFbHNlIGl0IG1pZ2h0IGxlYWQgdG8gZmFsc2UgcG9zaXRpdmVzIHdoZW4KPj4+ICvCoMKg wqDCoCAqIHNvbWUgb2YgdGhlIHVwcGVyIGJpdHMgYXJlIHNldCwgYnV0IHRoZSBsb3dlciBiaXRz Cj4+PiArwqDCoMKgwqAgKiBtYXRjaCBhIHZhbGlkIHBmbi4KPj4+ICvCoMKgwqDCoCAqLwo+Pj4g K8KgwqDCoCBpZiAoUEhZU19QRk4oYWRkcikgIT0gcGZuKQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJl dHVybiAwOwo+Pgo+PiBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlIGZpbmUgZm9yIG90aGVyIGFyY2hz IGFzIHdlbGwuCj4+Cj4+PiArCj4+PiArI2lmZGVmIENPTkZJR19TUEFSU0VNRU0KPj4KPj4gV2h5 IGRvIHdlIG5lZWQgdGhlIGlmZGVmIG5vdz8gSWYgdGhhdCdzIHRvIGNvdmVyIHRoZSBhcm0gY2Fz ZSwgdGhlbiBwbGVhc2UgY29uc2lkZXIgdGhlIGFybTY0IGNhc2Ugb25seSBmb3Igbm93Lgo+IAo+ IFllcywgaXQgaXMgbm90IG5lZWRlZC4KPiAKPj4KPj4+ICDCoCB7Cj4+PiAgwqDCoMKgwqDCoCBz dHJ1Y3QgbWVtX3NlY3Rpb24gKm1zOwo+Pj4gIMKgIEBAIC0xNDIzLDcgKzE0MzgsMTQgQEAgc3Rh dGljIGlubGluZSBpbnQgcGZuX3ZhbGlkKHVuc2lnbmVkIGxvbmcgcGZuKQo+Pj4gIMKgwqDCoMKg wqDCoCAqIFRyYWRpdGlvbmFsbHkgZWFybHkgc2VjdGlvbnMgYWx3YXlzIHJldHVybmVkIHBmbl92 YWxpZCgpIGZvcgo+Pj4gIMKgwqDCoMKgwqDCoCAqIHRoZSBlbnRpcmUgc2VjdGlvbi1zaXplZCBz cGFuLgo+Pj4gIMKgwqDCoMKgwqDCoCAqLwo+Pj4gLcKgwqDCoCByZXR1cm4gZWFybHlfc2VjdGlv bihtcykgfHwgcGZuX3NlY3Rpb25fdmFsaWQobXMsIHBmbik7Cj4+PiArwqDCoMKgIGlmIChlYXJs eV9zZWN0aW9uKG1zKSkKPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gSVNfRU5BQkxFRChDT05G SUdfSEFWRV9FQVJMWV9TRUNUSU9OX01FTU1BUF9IT0xFUykgPwo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbWVtYmxvY2tfaXNfbWFwX21lbW9yeShwZm4gPDwgUEFHRV9TSElGVCkgOiAxOwo+ Pj4gKwo+Pj4gK8KgwqDCoCByZXR1cm4gcGZuX3NlY3Rpb25fdmFsaWQobXMsIHBmbik7Cj4+PiAr fQo+Pj4gKyNlbmRpZgo+Pj4gK8KgwqDCoCByZXR1cm4gMTsKPj4+ICDCoCB9Cj4+PiAgwqAgI2Vu ZGlmCj4+PiAgwqAgZGlmZiAtLWdpdCBhL21tL0tjb25maWcgYi9tbS9LY29uZmlnCj4+PiBpbmRl eCAyNGMwNDViMjRiOTUuLjBlYzIwZjY2MWIzZiAxMDA2NDQKPj4+IC0tLSBhL21tL0tjb25maWcK Pj4+ICsrKyBiL21tL0tjb25maWcKPj4+IEBAIC0xMzUsNiArMTM1LDE2IEBAIGNvbmZpZyBIQVZF X0ZBU1RfR1VQCj4+PiAgwqAgY29uZmlnIEFSQ0hfS0VFUF9NRU1CTE9DSwo+Pj4gIMKgwqDCoMKg wqAgYm9vbAo+Pj4gIMKgICtjb25maWcgSEFWRV9FQVJMWV9TRUNUSU9OX01FTU1BUF9IT0xFUwo+ Pj4gK8KgwqDCoCBkZXBlbmRzIG9uIEFSQ0hfS0VFUF9NRU1CTE9DSyAmJiBTUEFSU0VNRU1fVk1F TU1BUAo+Pj4gK8KgwqDCoCBkZWZfYm9vbCBuCj4+PiArwqDCoMKgIGhlbHAKPj4+ICvCoMKgwqDC oMKgIEVhcmx5IHNlY3Rpb25zIG9uIGNlcnRhaW4gcGxhdGZvcm1zIG1pZ2h0IGhhdmUgcG9ydGlv bnMgd2hpY2ggYXJlCj4+PiArwqDCoMKgwqDCoCBub3QgYmFja2VkIHdpdGggc3RydWN0IHBhZ2Ug bWFwcGluZyBhcyB0aGVpciBtZW1ibG9jayBlbnRyaWVzIGFyZQo+Pj4gK8KgwqDCoMKgwqAgbWFy a2VkIHdpdGggTUVNQkxPQ0tfTk9NQVAuIFdoZW4gc3Vic2NyaWJlZCwgdGhpcyBvcHRpb24gZW5h Ymxlcwo+Pj4gK8KgwqDCoMKgwqAgc3BlY2lmaWMgaGFuZGxpbmcgZm9yIHRob3NlIG1lbW9yeSBz ZWN0aW9ucyBpbiBjZXJ0YWluIHNpdHVhdGlvbnMKPj4+ICvCoMKgwqDCoMKgIHN1Y2ggYXMgcGZu X3ZhbGlkKCkuCj4+PiArCj4+PiAgwqAgIyBLZWVwIGFyY2ggTlVNQSBtYXBwaW5nIGluZnJhc3Ry dWN0dXJlIHBvc3QtaW5pdC4KPj4+ICDCoCBjb25maWcgTlVNQV9LRUVQX01FTUlORk8KPj4+ICDC oMKgwqDCoMKgIGJvb2wKPj4+IGRpZmYgLS1naXQgYS9tbS9tZW1ibG9jay5jIGIvbW0vbWVtYmxv Y2suYwo+Pj4gaW5kZXggYWZhZWZhOGZjNmFiLi5kOWZhMmU2MmFiN2EgMTAwNjQ0Cj4+PiAtLS0g YS9tbS9tZW1ibG9jay5jCj4+PiArKysgYi9tbS9tZW1ibG9jay5jCj4+PiBAQCAtMTc0NCw2ICsx NzQ0LDcgQEAgYm9vbCBfX2luaXRfbWVtYmxvY2sgbWVtYmxvY2tfaXNfbWFwX21lbW9yeShwaHlz X2FkZHJfdCBhZGRyKQo+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gZmFsc2U7Cj4+PiAg wqDCoMKgwqDCoCByZXR1cm4gIW1lbWJsb2NrX2lzX25vbWFwKCZtZW1ibG9jay5tZW1vcnkucmVn aW9uc1tpXSk7Cj4+PiAgwqAgfQo+Pj4gK0VYUE9SVF9TWU1CT0wobWVtYmxvY2tfaXNfbWFwX21l bW9yeSk7Cj4+PiAgwqAgwqAgaW50IF9faW5pdF9tZW1ibG9jayBtZW1ibG9ja19zZWFyY2hfcGZu X25pZCh1bnNpZ25lZCBsb25nIHBmbiwKPj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHVuc2lnbmVkIGxvbmcgKnN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyAqZW5kX3BmbikKPj4+IEBA IC0xOTI2LDcgKzE5MjcsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZnJlZV91bnVzZWRfbWVtbWFw KHZvaWQpCj4+PiAgwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQsIHByZXZfZW5k ID0gMDsKPj4+ICDCoMKgwqDCoMKgIGludCBpOwo+Pj4gIMKgIC3CoMKgwqAgaWYgKCFJU19FTkFC TEVEKENPTkZJR19IQVZFX0FSQ0hfUEZOX1ZBTElEKSB8fAo+Pj4gK8KgwqDCoCBpZiAoIUlTX0VO QUJMRUQoQ09ORklHX0hBVkVfRUFSTFlfU0VDVElPTl9NRU1NQVBfSE9MRVMpIHx8Cj4+PiAgwqDC oMKgwqDCoMKgwqDCoMKgIElTX0VOQUJMRUQoQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQKSkKPj4+ ICDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+Pj4gICAKPj4KPj4gV2l0aAo+Pgo+PiBjb21t aXQgMWY5MGEzNDc3ZGYzZmYxYTkxZTA2NGFmNTU0Y2RjODg3YzhmOWU1ZQo+PiBBdXRob3I6IERh biBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPgo+PiBEYXRlOsKgwqAgVGh1IEZl YiAyNSAxNzoxNzowNSAyMDIxIC0wODAwCj4+Cj4+ICDCoMKgwqAgbW06IHRlYWNoIHBmbl90b19v bmxpbmVfcGFnZSgpIGFib3V0IFpPTkVfREVWSUNFIHNlY3Rpb24gY29sbGlzaW9ucwo+Pgo+PiAo c3RpbGwgaW4gLW5leHQgSSB0aGluaykKPiAKPiBBbHJlYWR5IGhhcyBtZXJnZWQgbWFpbmxpbmUu Cj4gCj4+Cj4+IFlvdSdsbCBhbHNvIGhhdmUgdG8gdGFrZSBjYXJlIG9mIHBmbl90b19vbmxpbmVf cGFnZSgpLgo+Pgo+IAo+IFNvbWV0aGluZyBsaWtlIHRoaXMgd291bGQgd29yayA/Cj4gCj4gZGlm ZiAtLWdpdCBhL21tL21lbW9yeV9ob3RwbHVnLmMgYi9tbS9tZW1vcnlfaG90cGx1Zy5jCj4gaW5k ZXggNWJhNTFhOGJkYWViLi4xOTgxMmRlYjgwN2YgMTAwNjQ0Cj4gLS0tIGEvbW0vbWVtb3J5X2hv dHBsdWcuYwo+ICsrKyBiL21tL21lbW9yeV9ob3RwbHVnLmMKPiBAQCAtMzA5LDYgKzMwOSwxMSBA QCBzdHJ1Y3QgcGFnZSAqcGZuX3RvX29ubGluZV9wYWdlKHVuc2lnbmVkIGxvbmcgcGZuKQo+ICAg ICAgICAgICAqIFNhdmUgc29tZSBjb2RlIHRleHQgd2hlbiBvbmxpbmVfc2VjdGlvbigpICsKPiAg ICAgICAgICAgKiBwZm5fc2VjdGlvbl92YWxpZCgpIGFyZSBzdWZmaWNpZW50Lgo+ICAgICAgICAg ICAqLwo+ICsgICAgICAgaWYgKElTX0VOQUJMRUQoQ09ORklHX0hBVkVfRUFSTFlfU0VDVElPTl9N RU1NQVBfSE9MRVMpKSB7Cj4gKyAgICAgICAgICAgICAgIGlmIChlYXJseV9zZWN0aW9uKG1zKSAm JiAhbWVtYmxvY2tfaXNfbWFwX21lbW9yeShQRk5fUEhZUyhwZm4pKSkKPiArICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gTlVMTDsKPiArICAgICAgIH0KPiArCj4gICAgICAgICAgaWYgKElT X0VOQUJMRUQoQ09ORklHX0hBVkVfQVJDSF9QRk5fVkFMSUQpICYmICFwZm5fdmFsaWQocGZuKSkK PiAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwo+IAoKU29ycnkgZm9yIHRoZSBsYXRlIHJl cGx5LCBqdXN0IHN0dW1ibGVkIG92ZXIgdGhpcyBhZ2Fpbi4KCkkgdGhpbmssIHllcy4gSSBkbyB3 b25kZXIgaWYgd2UgdGhlbiBzdGlsbCBuZWVkIHRoZSAKQ09ORklHX0hBVkVfQVJDSF9QRk5fVkFM SUQgaGFuZGxpbmcgYmVsb3cgLSBhcmUgdGhlcmUgYW55IGN1c3RvbSAKcGZuX3ZhbGlkKCkgaW1w bGVtZW50YXRpb24gd2l0aCBTUEFSU0UgcmVtYWluaW5nPyBJIGRvbid0IHRoaW5rIHNvLgoKLS0g ClRoYW5rcywKCkRhdmlkIC8gZGhpbGRlbmIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==