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.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS 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 05EBFC433DF for ; Fri, 31 Jul 2020 03:06:47 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 BA82A207F5 for ; Fri, 31 Jul 2020 03:06:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Tu1jIgw7" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BA82A207F5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=KvCGBf75SQsiPZ4kZ+tOH3uPmSRC1JHasSBBzuOjLsc=; b=Tu1jIgw79MDrnetbfwUUEoSVW jeyltH7ok4rmuUmLdZXprnxe3bjsZjRyjtL+YL/HUWq96sJTdC+7wKAFKbPPhvzByVwADYqDgvWIf IprP2Nn1ZRilJyMRE51iKHaXvOta46OjrcbbG2EElfic/ikQIbyNkeA3eT7Tb6Tx9RSNeUjGAnRF+ ux/e3f0NAkzM9eh+Ybw45uCqrAwe7//PgWyxGa+pNNYrE0Y9km0ORZhkuoiYV2YggC5S0MYkApB5C c0IAyCKORYmgUXFh/0Iy77wsySzo6Ee3tEV3OTnKsl75L27Qqcu+HaZLxZ/r8uvBHEAzyWPzno0Ao rDn1n7aYw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k1LLS-0004MH-AU; Fri, 31 Jul 2020 03:04:30 +0000 Received: from szxga01-in.huawei.com ([45.249.212.187] helo=huawei.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k1LLO-0004Lh-MP for linux-arm-kernel@lists.infradead.org; Fri, 31 Jul 2020 03:04:28 +0000 Received: from nkgeml707-chm.china.huawei.com (unknown [172.30.72.57]) by Forcepoint Email with ESMTP id 1FC74556979CF16C14E5; Fri, 31 Jul 2020 11:04:20 +0800 (CST) Received: from nkgeml708-chm.china.huawei.com (10.98.57.160) by nkgeml707-chm.china.huawei.com (10.98.57.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Fri, 31 Jul 2020 11:04:19 +0800 Received: from nkgeml708-chm.china.huawei.com ([10.98.57.160]) by nkgeml708-chm.china.huawei.com ([10.98.57.160]) with mapi id 15.01.1913.007; Fri, 31 Jul 2020 11:04:19 +0800 From: "Guodeqing (A)" To: Robin Murphy , Will Deacon Subject: =?utf-8?B?562U5aSNOiDnrZTlpI06IFtQQVRDSCx2Ml0gYXJtNjQ6IGZpeCB0aGUgaWxs?= =?utf-8?Q?egal_address_access_in_some_cases?= Thread-Topic: =?utf-8?B?562U5aSNOiBbUEFUQ0gsdjJdIGFybTY0OiBmaXggdGhlIGlsbGVnYWwgYWRk?= =?utf-8?Q?ress_access_in_some_cases?= Thread-Index: AQHWYiklrKSFNlt5hUWHzzNcwrqDPKkcdIIAgAAYcACAABIPAIABIWkwgAGQXgCAABRFgIABpDUg Date: Fri, 31 Jul 2020 03:04:19 +0000 Message-ID: References: <1595642886-78334-1-git-send-email-geffrey.guo@huawei.com> <159593323394.1061330.12501304112140193783.b4-ty@kernel.org> <4b66d792-4c8a-a500-6f81-8e8f78e99b82@arm.com> <20200728153528.GA22361@willie-the-truck> <20200730084415.GA24410@willie-the-truck> <621b4e9e-3111-9109-82a1-2c2c14f05ddb@arm.com> In-Reply-To: <621b4e9e-3111-9109-82a1-2c2c14f05ddb@arm.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.164.122.165] MIME-Version: 1.0 X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200730_230427_236964_89484425 X-CRM114-Status: GOOD ( 42.89 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "catalin.marinas@arm.com" , "luke.starrett@broadcom.com" , "kernel-team@android.com" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IFJvYmluIE11cnBoeSBb bWFpbHRvOnJvYmluLm11cnBoeUBhcm0uY29tXQ0KPiDlj5HpgIHml7bpl7Q6IFRodXJzZGF5LCBK dWx5IDMwLCAyMDIwIDE3OjU3DQo+IOaUtuS7tuS6ujogV2lsbCBEZWFjb24gPHdpbGxAa2VybmVs Lm9yZz47IEd1b2RlcWluZyAoQSkNCj4gPGdlZmZyZXkuZ3VvQGh1YXdlaS5jb20+DQo+IOaKhOmA gTogY2F0YWxpbi5tYXJpbmFzQGFybS5jb207IGtlcm5lbC10ZWFtQGFuZHJvaWQuY29tOw0KPiBs aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IGx1a2Uuc3RhcnJldHRAYnJvYWRj b20uY29tDQo+IOS4u+mimDogUmU6IOetlOWkjTogW1BBVENILHYyXSBhcm02NDogZml4IHRoZSBp bGxlZ2FsIGFkZHJlc3MgYWNjZXNzIGluIHNvbWUgY2FzZXMNCj4gDQo+IE9uIDIwMjAtMDctMzAg MDk6NDQsIFdpbGwgRGVhY29uIHdyb3RlOg0KPiA+IE9uIFdlZCwgSnVsIDI5LCAyMDIwIGF0IDA3 OjA1OjA5QU0gKzAwMDAsIEd1b2RlcWluZyAoQSkgd3JvdGU6DQo+ID4+PiBPbiBUdWUsIEp1bCAy OCwgMjAyMCBhdCAwMzozMDo1MFBNICswMTAwLCBSb2JpbiBNdXJwaHkgd3JvdGU6DQo+ID4+Pj4g T24gMjAyMC0wNy0yOCAxNDowMywgV2lsbCBEZWFjb24gd3JvdGU6DQo+ID4+Pj4+IEFwcGxpZWQg dG8gYXJtNjQgKGZvci1uZXh0L2ZpeGVzKSwgdGhhbmtzIQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBbMS8x XSBhcm02NDogY3N1bTogUmVqZWN0IElQIGhlYWRlcnMgd2l0aCAnaWhsJyBmaWVsZCBzbWFsbGVy IHRoYW4gZml2ZQ0KPiA+Pj4+PiAgICAgICAgIGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvYXJtNjQv Yy8wOWFhZWYxYzVmNTANCj4gPj4+Pg0KPiA+Pj4+IEknbSBub3Qgc3VyZSB5b3VyIGNvbW1pdCBt ZXNzYWdlIGlzIGVudGlyZWx5IHJpZ2h0IHRoZXJlLiBBRkFJQ1MNCj4gPj4+PiBpdCdzIG5vdCAi dGhlIHNhbWUgd2F5IGFzIHg4NiIgYXQgYWxsIC0geDg2IGRlcmVmZXJlbmNlcyB0aGUgZmlyc3QN Cj4gPj4+PiB3b3JkIG9mIGlwaCBhbmQgcmV0dXJucyB0aGF0IGFzIHRoZSBzdW0gaWYgaWhsIDw9 IDQgKGFuZCB0aHVzIGlzDQo+ID4+Pj4gc3RpbGwgY2FwYWJsZSBvZiBjcmFzaGluZyBnaXZlbiBz dWZmaWNpZW50bHkgYm9ndXMgZGF0YSkuIEknbSBub3QNCj4gPj4+PiBzdXJlIHdoZXJlICJyZXR1 cm4gMSIgY2FtZSBmcm9tIC0gaWYgd2UncmUgZ29pbmcgdG8gcmV0dXJuIG5vbnNlbnNlDQo+ID4+ Pj4gdGhlbiB0aGUgbWlsZGx5IG1vcmUgZWZmaWNpZW50IGNob2ljZSBvZiAwIHNlZW1zIGp1c3Qg YXMgZ29vZC4NCj4gPj4+DQo+ID4+PiBBcmdoLCB5ZXMsIHRoYXQncyAlMSBub3QgJDEsIHNvIEkg ZG9uJ3Qga25vdyB3aGVyZSB0aGUgMSBjb21lcyBmcm9tIGVpdGhlci4NCj4gPj4+IEdlZmZyZXk/ DQo+ID4+Pg0KPiA+Pg0KPiA+PiBUaGUgcmV0dXJuIDEgaXMganVzdCB0aGUgcmVwb3J0IG9mIGlw IGNoZWNrc3VtIGVycm9yLCB0aGUgcmV0dXJuDQo+ID4+IHZhbHVlIDAgbWVhbnMgdGhlIGlwIGNo ZWNrc3VtIGNvcnJlY3QuIHg4NiBkZXJlZmVyZW5jZXMgdGhlIGZpcnN0DQo+ID4+IHdvcmQgb2Yg aXBoIGFuZCByZXR1cm5zIHRoYXQgYXMgdGhlIHN1bSwgdGhpcyBtYXkgYmUganVzdCB0aGUgcmVw b3J0IG9mIGlwDQo+IGNoZWNrc3VtIGVycm9yIHRvby4NCj4gPg0KPiA+IE9uIHRoZSByZWNlaXZl IHBhdGgsIHN1cmUsIGJ1dCB0aGUgY3Jhc2ggd2FzIG9uIHRoZSB0cmFuc21pdCBwYXRoDQo+ID4g d2hlcmUgd2UncmUgY29tcHV0aW5nIHRoZSBjaGVja3N1bSB0byBpbnNlcnQgaW50byB0aGUgaGVh ZGVyLCBubz8NCj4gPg0KPiA+Pj4+IE90aGVyd2lzZSBpdCB3b3VsZCBzZWVtIHJlYXNvbmFibGUg dG8ganVtcCBzdHJhaWdodCBpbnRvIHRoZQ0KPiA+Pj4+IHdvcmQtYXQtYS10aW1lIGxvb3AgaWYg aXBfZmFzdF9jc3VtKCkgaXMgcmVhbGx5IGV4cGVjdGVkIHRvIGNvcGUNCj4gPj4+PiB3aXRoIG1v cmUgdGhhbiBqdXN0IGdlbnVpbmUgSVAgaGVhZGVycyAod2hpY2ggc2hvdWxkIGJlIGJhY2tlZCBi eQ0KPiA+Pj4+IGF0IGxlYXN0DQo+ID4+Pj4gMjAgYnl0ZXMgb2YgdmFsaWQgbWVtb3J5IHJlZ2Fy ZGxlc3Mgb2Ygd2hhdCBpaGwgc2F5cykuDQo+ID4+Pg0KPiA+Pj4gRWl0aGVyIGNvcHlpbmcgdGhl IHg4NiBiZWhhdmlvdXIgb3IgV0FSTl9PTl9PTkNFKCkgYW5kIGFzc3VtaW5nIGFuZA0KPiA+Pj4g aWhsIG9mDQo+ID4+PiA1IHdvdWxkIGJlIG15IHByZWZlcmVuY2UsIGJlY2F1c2UgSSBhZ3JlZSB3 aXRoIHlvdSB0aGF0IHRoaXMgZmVlbHMNCj4gPj4+IGxpa2UgaXQgc2hvdWxkbid0IGJlIGhhcHBl bmluZyB0byBzdGFydCB3aXRoLg0KPiA+Pg0KPiA+PiBIb3cgYWJvdXQgbW9kaWZ5IHRoZSBwYXRj aCBsaWtlIHRoaXM/DQo+ID4+DQo+ID4+IHN0YXRpYyBpbmxpbmUgX19zdW0xNiBpcF9mYXN0X2Nz dW0oY29uc3Qgdm9pZCAqaXBoLCB1bnNpZ25lZCBpbnQgaWhsKQ0KPiA+PiB7DQo+ID4+IAlfX3Vp bnQxMjhfdCB0bXA7DQo+ID4+IAl1NjQgc3VtOw0KPiA+Pg0KPiA+PiAgICAgIGlmICh1bmxpa2Vs eShpaGwgPCA1KSkNCj4gPj4gICAgICAgICAgaWhsID0gNTsNCj4gPg0KPiA+IEknZCBwcm9iYWJs eSBkbzoNCj4gPg0KPiA+IAkvKiBDYWxsZXJzIHNob3VsZCByZWFsbHkgYmUgY2hlY2tpbmcgdGhp cyBmaXJzdCAqLw0KPiA+IAlpZiAoV0FSTl9PTl9PTkNFKGlobCA8IDUpKQ0KPiA+IAkJaWhsID0g NTsNCj4gPg0KPiA+IGJlY2F1c2UgSSdkIHN0aWxsIGxpa2UgdG8gdW5kZXJzdGFuZCB3aGF0IHRo ZSB2bGFuIGNvZGUgaXMgdXAgdG8uDQo+ID4NCj4gPj4+PiBJIHN0aWxsIHRoaW5rIHRoaXMgc21l bGxzIG9mIHBhcGVyaW5nIG92ZXIgc29tZSBvdGhlciBidWcgdGhhdCBsZWQNCj4gPj4+PiB0byBh IGJvZ3VzIHNrYiBnZXR0aW5nIHRoYXQgZmFyIGludG8gdGhlIHRyYW5zbWl0IHN0YWNrIGluIHRo ZQ0KPiA+Pj4+IGZpcnN0IHBsYWNlIC0gcHJlc3VtYWJseSBpdCdzIGFsbCB3YXN0ZWQgZWZmb3J0 IGFueXdheSBzaW5jZSBhDQo+ID4+Pj4gImhlYWRlciIgd2l0aCBubyBzcGFjZSBmb3IgYSBkZXN0 aW5hdGlvbiBhZGRyZXNzIGFuZCBhIGRlbGliZXJhdGVseQ0KPiA+Pj4+IHdyb25nIGNoZWNrc3Vt IHNlZW1zIHVubGlrZWx5IHRvIGdvIHZlcnkgZmFyLi4uDQo+ID4+Pg0KPiA+Pj4gTG9va2luZyBh dCB0aGUgaXB2bGFuX3N0YXJ0X3htaXQoKSBwYXRoIGZyb20gdGhlIGJhY2t0cmFjZSwgaXQgbG9v a3MNCj4gPj4+IHRvIG1lIGxpa2UNCj4gPj4+IGlwdmxhbl9nZXRfTDNfaGRyKCkgcmV0dXJucyBO VUxMIGlmIHRoZSBoZWFkZXIgbGVuZ3RoIGlzIGludmFsaWQsDQo+ID4+PiBidXQgdGhlbg0KPiA+ Pj4gaXB2bGFuX3htaXRfbW9kZV9sMygpIGVuZHMgdXAgY2FsbGluZyBpcHZsYW5fcHJvY2Vzc19v dXRib3VuZCgpIGFueXdheS4NCj4gPj4+IEhtbS4gSSByZWFsbHkgZG9uJ3Qga25vdyBlbm91Z2gg YWJvdXQgVkxBTnMgdG8ga25vdyB3aGF0IHRoZSByaWdodA0KPiA+Pj4gYmVoYXZpb3VyIGlzIGhl cmUgYW5kIEkgZ3Vlc3MganVzdCByZXR1cm5pbmcgTkVUX1hNSVRfRFJPUCB3aWxsDQo+ID4+PiBi cmVhayBzb21ldGhpbmcuDQo+ID4+DQo+ID4+IFRoZSBuZXR3b3JrIG1haW50YWluZXIgaGFzIHJl cGxpZWQgdG8gbWUsICIgaXBfZmFzdF9jc3VtKCkgbXVzdCBiZQ0KPiA+PiBhYmxlIHRvIGhhbmRs ZSBhbnkgdmFsdWUgdGhhdCBjb3VsZCBmaXQgaW4gdGhlIGlobCBmaWVsZCBvZiB0aGUgaXANCj4g Pj4gcHJvdG9jb2wgaGVhZGVyLiBUaGF0J3Mgbm90IG9ubHkgdGhlIG1vc3QgY29ycmVjdCBsb2dp YywgYnV0IGFsc28gdGhlDQo+ID4+IG1vc3Qgcm9idXN0LiINCj4gPg0KPiA+IElzIHRoYXQgb24g YSBwdWJsaWMgbGlzdCBzb21ld2hlcmU/IFdvdWxkIGJlIGEgZ29vZCBsaW5rIGZvciB0aGUNCj4g PiBjb21taXQgbWVzc2FnZS4NCj4gPg0KPiA+PiBUaGlzIGlzIGEgZmF1bHQgaW5qZWN0aW9uIHRl c3QsIHRoZSBjb3JydXB0IGZ1bmN0aW9uIG9mIG5ldGVtIGlzIHRoZQ0KPiA+PiBlbXVsYXRpb24g b2YgcmFuZG9tIG5vaXNlIGludHJvZHVjaW5nIGFuIGVycm9yIGluIGEgcmFuZG9tIHBvc2l0aW9u DQo+ID4+IGZvciBhIGNob3NlbiBwZXJjZW50IG9mIHBhY2tldHMgdG8gdGVzdCB0aGUgbmV0d29y ayBtb2R1bGUudGhlIG5ldGVtDQo+ID4+IHdpbGwgbW9kaWZ5IHRoZSBwYWNrZXQgcmFuZG9tbHks c28gdGhlIGlobCB2YWx1ZSBvZiBpcCBoZWFkZXIgbWF5IGJlIG1vZGlmaWVkDQo+IHRvIDEuDQo+ ID4NCj4gPiBPaywgYnV0IG5ldGVtIGlzIHJ1bm5pbmcgaW4gdXNlcnNwYWNlIChyaWdodD8pIGFu ZCBzbyBJIHN0aWxsIHRoaW5rDQo+ID4gdGhlIG5ldHdvcmsgbGF5ZXIgY2FuIHJlamVjdCB0aGUg aW52YWxpZCBpaGwgYmVmb3JlIGNhbGxpbmcgaW50byB0aGUNCj4gPiBjaGVja3N1bSBjb2RlLg0K PiANCj4gT2gsIG9uIHNlY29uZCBsb29rIEkgcmVhbGlzZSBpdCdzIHByb2JhYmx5IG5vdCB0aGF0 IHRoZSBmYXVsdCBlbWFuYXRlcyBmcm9tDQo+IGRlcmVmZXJlbmNpbmcgdGhlIGFjdHVhbCBoZWFk ZXIgaXRzZWxmLCBpdCdsbCBiZSBmcm9tIHRoZSBjb2RlIGp1c3QgZ29pbmcNCj4gY29tcGxldGVs eSBib25rZXJzICphZnRlciogdGhhdC4gSSBzdGlsbCBhZ3JlZSB0aGF0IHRoaXMgY2FzZSBzaG91 bGQgYmUgYXZvaWRhYmxlDQo+IGVudGlyZWx5IG9uIHRoZSB0cmFuc21pdCBwYXRoLCBidXQgSSBh Y2NlcHQgdGhhdCByb2J1c3RuZXNzIGZvciB0aGUgc2FrZSBvZg0KPiByZWNlaXZlIGRvZXMgbWFr ZSBnb29kIHNlbnNlLiBIb3cgYWJvdXQgdGhpcz8NCj4gDQo+IFJvYmluLg0KPiANCj4gLS0tLS0+ OC0tLS0tDQo+IFN1YmplY3Q6IFtQQVRDSF0gYXJtNjQ6IGNzdW06IEZpeCBoYW5kbGluZyBvZiBi YWQgcGFja2V0cw0KPiANCj4gQWx0aG91Z2ggaXBoIGlzIGV4cGVjdGVkIHRvIHBvaW50IHRvIGF0 IGxlYXN0IDIwIGJ5dGVzIG9mIHZhbGlkIG1lbW9yeSwgaWhsIG1heQ0KPiBiZSBib2d1cywgZm9y IGV4YW1wbGUgb24gcmVjZXB0aW9uIG9mIGEgY29ycnVwdCBwYWNrZXQuIElmIGl0IGhhcHBlbnMg dG8gYmUgbGVzcw0KPiB0aGFuIDUsIHdlIHJlYWxseSBkb24ndCB3YW50IHRvIHJ1biBhd2F5IGFu ZCBkZXJlZmVyZW5jZSAxNkdCIHdvcnRoIG9mDQo+IG1lbW9yeSB1bnRpbCBpdCB3cmFwcyBiYWNr IHRvIGV4YWN0bHkgemVyby4uLg0KPiANCj4gRml4ZXM6IDBlNDU1ZDhlODBhYSAoImFybTY0OiBJ bXBsZW1lbnQgb3B0aW1pc2VkIElQIGNoZWNrc3VtIGhlbHBlcnMiKQ0KPiBSZXBvcnRlZC1ieTog Z3VvZGVxaW5nIDxnZWZmcmV5Lmd1b0BodWF3ZWkuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBSb2Jp biBNdXJwaHkgPHJvYmluLm11cnBoeUBhcm0uY29tPg0KPiAtLS0NCj4gIGFyY2gvYXJtNjQvaW5j bHVkZS9hc20vY2hlY2tzdW0uaCB8IDUgKysrLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9p bmNsdWRlL2FzbS9jaGVja3N1bS5oDQo+IGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9jaGVja3N1 bS5oDQo+IGluZGV4IGI2ZjdiYzZkYTVmYi4uOTNhMTYxYjNiZjNmIDEwMDY0NA0KPiAtLS0gYS9h cmNoL2FybTY0L2luY2x1ZGUvYXNtL2NoZWNrc3VtLmgNCj4gKysrIGIvYXJjaC9hcm02NC9pbmNs dWRlL2FzbS9jaGVja3N1bS5oDQo+IEBAIC0yNCwxNiArMjQsMTcgQEAgc3RhdGljIGlubGluZSBf X3N1bTE2IGlwX2Zhc3RfY3N1bShjb25zdCB2b2lkICppcGgsDQo+IHVuc2lnbmVkIGludCBpaGwp ICB7DQo+ICAJX191aW50MTI4X3QgdG1wOw0KPiAgCXU2NCBzdW07DQo+ICsJaW50IG4gPSBpaGw7 IC8qIHdlIHdhbnQgaXQgc2lnbmVkICovDQo+IA0KPiAgCXRtcCA9ICooY29uc3QgX191aW50MTI4 X3QgKilpcGg7DQo+ICAJaXBoICs9IDE2Ow0KPiAtCWlobCAtPSA0Ow0KPiArCW4gLT0gNDsNCj4g IAl0bXAgKz0gKCh0bXAgPj4gNjQpIHwgKHRtcCA8PCA2NCkpOw0KPiAgCXN1bSA9IHRtcCA+PiA2 NDsNCj4gIAlkbyB7DQo+ICAJCXN1bSArPSAqKGNvbnN0IHUzMiAqKWlwaDsNCj4gIAkJaXBoICs9 IDQ7DQo+IC0JfSB3aGlsZSAoLS1paGwpOw0KPiArCX0gd2hpbGUgKC0tbiA+IDApOw0KPiANCk1h eWJlIHRoZSBsb2NhbCB0ZW1wb3JhcnkgdmFyaWFibGUgbiBpcyBub3QgbmVjZXNzYXJ5Lg0KDQpz dGF0aWMgaW5saW5lIF9fc3VtMTYgaXBfZmFzdF9jc3VtKGNvbnN0IHZvaWQgKmlwaCwgdW5zaWdu ZWQgaW50IGlobCkNCnsNCglfX3VpbnQxMjhfdCB0bXA7DQoJdTY0IHN1bTsNCg0KCXRtcCA9ICoo Y29uc3QgX191aW50MTI4X3QgKilpcGg7DQoJaXBoICs9IDE2Ow0KCWlobCAtPSA0OyAgICAgICAg ICAgDQoJdG1wICs9ICgodG1wID4+IDY0KSB8ICh0bXAgPDwgNjQpKTsNCglzdW0gPSB0bXAgPj4g NjQ7DQoJZG8gew0KCQlzdW0gKz0gKihjb25zdCB1MzIgKilpcGg7DQoJCWlwaCArPSA0Ow0KCX0g d2hpbGUgKChpbnQpKC0taWhsKSA+IDApOw0KDQoJc3VtICs9ICgoc3VtID4+IDMyKSB8IChzdW0g PDwgMzIpKTsNCglyZXR1cm4gY3N1bV9mb2xkKChfX2ZvcmNlIHUzMikoc3VtID4+IDMyKSk7DQp9 DQoNClRoYW5rcy4NCg0KPiAgCXN1bSArPSAoKHN1bSA+PiAzMikgfCAoc3VtIDw8IDMyKSk7DQo+ ICAJcmV0dXJuIGNzdW1fZm9sZCgoX19mb3JjZSB1MzIpKHN1bSA+PiAzMikpOw0KPiAtLQ0KPiAy LjI4LjAuZGlydHkNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo=