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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A67AEC433EF for ; Fri, 20 May 2022 14:21:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 24AEA6B0080; Fri, 20 May 2022 10:21:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D3896B0081; Fri, 20 May 2022 10:21:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 026556B0082; Fri, 20 May 2022 10:21:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E4EA26B0080 for ; Fri, 20 May 2022 10:21:57 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id C505734ED9 for ; Fri, 20 May 2022 14:21:57 +0000 (UTC) X-FDA: 79486335474.01.A1AC07A Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-eopbgr90053.outbound.protection.outlook.com [40.107.9.53]) by imf01.hostedemail.com (Postfix) with ESMTP id 18E4D40010 for ; Fri, 20 May 2022 14:21:55 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kNKapsQCV7Hs4rLzuD+piz3t0S/C7t0Jx1WIDvovbmfKcdr4+oja+3TXE8z3P1X3TyPhwl2kjwbQ2UgmsDWiscLljlASX4k+lu3eoG0W9ub2ITUsxvQ76Vof5gYCmRnP603VWhsDpy7KdDJVu6mVIbnyKAwYH4MHGbg5LiDAOqTAkQsS8tO1fyeJhHecZhvdnRaFIsozMjNkTkYjp2XBir9KIkxZosnaGci/8O8Tgh5HfctPTIqWvy0+Qf1dfj3SobaX07qrv28MzupATXwhRHkJ1dvcYAJqKoMGtQxL3YyfTZ/liBycHi+U4v4um9z5ArqlfPSpqX66n3X31IVhMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zfQc82RCIIju9pv5twjXd7OGQlTNby8CkJgwNGhWfbE=; b=geGD9Ivb/93Rx7BaHP+HNnDMNU4TXdGA87OyAooX3Cl3UEifWxfkoztHNKriDODQIU9pwXMflfqHYYV72Tjz3TcRpdSQZbB8TQzfKHIPkPyYHRS8ncvQOgc96lKP9PdVr2UDzD+N1WTcHxdW6gbhINRFsbrumkBgmt2vmaLyS7Sk0xgC83I1WSE2FKsYXuSRWYkfl/B9/bUlInts1VE5obHfY8aYBNHyDzyM4hGr4uxHZ/ruRY/PvHmUg6SGh/qsdU4LVtJAI5yINEkehp70TXAMm9DFq6rqFEuhLx7KiuIjqVRibh63GYcJC/fTYPw/wQ5NhtsyhVvxR6BIJPlBKQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB2235.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:15::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.13; Fri, 20 May 2022 14:21:54 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::ad4e:c157:e9ac:385d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::ad4e:c157:e9ac:385d%8]) with mapi id 15.20.5273.016; Fri, 20 May 2022 14:21:54 +0000 From: Christophe Leroy To: Chih-En Lin , Andrew Morton , "linux-mm@kvack.org" CC: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira , Christian Brauner , "Matthew Wilcox (Oracle)" , Vlastimil Babka , William Kucharski , John Hubbard , Yunsheng Lin , Arnd Bergmann , Suren Baghdasaryan , Colin Cross , Feng Tang , "Eric W. Biederman" , Mike Rapoport , Geert Uytterhoeven , Anshuman Khandual , Aneesh Kumar K.V , Daniel Axtens , Jonathan Marek , Pasha Tatashin , Peter Xu , Andrea Arcangeli , Thomas Gleixner , Andy Lutomirski , Sebastian Andrzej Siewior , Fenghua Yu , David Hildenbrand , "linux-kernel@vger.kernel.org" , Kaiyang Zhao , Huichun Feng , Jim Huang Subject: Re: [RFC PATCH 4/6] mm: Add COW PTE fallback function Thread-Topic: [RFC PATCH 4/6] mm: Add COW PTE fallback function Thread-Index: AQHYa66GXGFfzy/zpEedNaOvrHwWJa0n0osA Date: Fri, 20 May 2022 14:21:54 +0000 Message-ID: <68c8a99e-52b5-9bbf-4847-3337165d99a8@csgroup.eu> References: <20220519183127.3909598-1-shiyn.lin@gmail.com> <20220519183127.3909598-5-shiyn.lin@gmail.com> In-Reply-To: <20220519183127.3909598-5-shiyn.lin@gmail.com> Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3e99a955-e866-4b68-e3ab-08da3a6c1742 x-ms-traffictypediagnostic: MR1P264MB2235:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LShj7eFCWnUDGL+g/S7fy9K/4sHalZVXLzYuGIBWVWLqeU/EzgVLAkUyhIJuJUrpX5oGllbjxY95mDZOiQYIisfNGiwyAjwVwdbPmlagYn8Yo9F7DN16pvzRVtC+h/X4ncsyo0StqQ/Tq6VQRBMdjukmSVtXP3bxXITpMkOxTCBX2yTbXqhhgxsBuxt0MnrHspE0uJhCvK84AoksNEJN3d10iWb2I4xtFCymJHLMIYqsoWpPncPImDVHrc19hA3BX1wFJm8XCGFm7c+kPQEyc/KZkJ6esuY7/325vdFD1lXay18/rFhLHp4kLKGFZz/wZLwYI/J4/nV70yWSpKmOs4DXdpzevqIupeRrITYucHsb6AvrDOuUe9pauIpkpG6GXkYIpMLcu+ef4f6EQiTkywlE0fDjc2IL0H5xclQ4Re0j5qM6ZKnMV22Gq7P58oBshsLZI4k0slqaQVPQ+vvMapot/PeZA4h6mzBNZaQfqXiFTJA5UPCsucVCsKPxr6Af6nmJa2doU1sWEIeLGIYXcyWcKg9mLkQtJ7OkimcNSw0Xe0QnKBgYVxyEnFeXdrOXLITuZLj+1b3oAOIT/jISX9Y+3mQFw9cymr0LNWv3l/IGKs1TRSY6WPFQajSAf650mq/KiNYujuXbWug8i6ecE+p8IaZUXjyHtNCmeHeSu8V9VV1G4jTU14EHGDEZQiyA8ws4DhK2pOzismSOgxwJwuW/OxP/ms6IoSFGk2Z3SjnMU/ctsICAzXg/fk01iX3qmprf5nTFsZ5+vgYt/d0TKm+0ZT0bg5QUWrgETOqtKfW3teJxYuiaCaqpR+/Sf+ZsuAaxt7r/zdNBRRSTxxMAqhMMSuLUC5zXJFBa4D/gOro= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(66574015)(36756003)(44832011)(6506007)(31696002)(26005)(86362001)(6512007)(83380400001)(2906002)(122000001)(5660300002)(91956017)(2616005)(71200400001)(4326008)(186003)(66556008)(64756008)(66446008)(76116006)(38100700002)(31686004)(8676002)(54906003)(110136005)(8936002)(316002)(38070700005)(66946007)(66476007)(508600001)(7416002)(966005)(7406005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OE13bDVBVFB6bG5zZ2J6TkNtaGJpeEovM25IQ2pqSEJubFJoZFlIekxaeW9L?= =?utf-8?B?cUVqVUtnRDNRQTMrUFkzenVFNlVrQjZTcjY1VWN6MmphTGZwdDBTdDcvNDA2?= =?utf-8?B?WHh2amw1ZnUwUG43MUlsaDJxbjdHTnNPQUR1TmFXUml4TFRUTkxscGdrcUsr?= =?utf-8?B?eDN6MysxeXRMMHFmWmt1NmNTNFZZSGRWbEIzRjMvb0ExcmN6czMxUDIyQ0NW?= =?utf-8?B?VHlQNi9kSlZSWE9YbEZSbFcwK3hXWnpqcHFGeG4xdFlpSlFadllRajJZd1FW?= =?utf-8?B?Y244OWxTNlFsRDMzc1FpUVhKUlN3SjdDQUFBbTFwaU9WbDE1dWpPVWllTCsw?= =?utf-8?B?Ky85TE93c3hvb3RsZDRMMW9TRW5va0ZzYld3RHJ6UmNOYkh6Qi9CQ3hyZG4y?= =?utf-8?B?V3p6UTgzTlhPWTlONWErOFVpVjRDdS9Ndk96OEJFdjlJSG03bm1DNW81WDk2?= =?utf-8?B?NkJZdEM1QXZCMU5oV0xmQXBOMjJadGJjYjBXYzNFN09yMmRBNzBFeDlsN2Z0?= =?utf-8?B?ZjlQSTJ0eGV1bUd0MFI3UUZKbjZrdzdyTnhORVZ4aDRBMXdidWJ2Ky85K1hD?= =?utf-8?B?ekpXdytFMFQ1MDFKaVVMSFM0SGtJcTF1a2NvMUZIaHdWNjV4K0ttWkdLQ1J6?= =?utf-8?B?aFk2Wmd3SllWODM2ZUlHV0ErYWZ5aUJpbXNXd2dobVluRmM4Yis1NjFiYmUz?= =?utf-8?B?Q0xYRnIrd1FnVkhOclJ4QndRYkJyYUdnMy9wc2JlYjQvSnJMRlVoUEZQaFhj?= =?utf-8?B?ajNhY3lHbmpyanA2RTFld1QrTnlzOStIckNOWllBbnpCcHVXMW1OUW1VeVg5?= =?utf-8?B?MTRUazBxSUhqcXRTbStOVzIvRDVNa25qbGNPYjZ4bWRUN255VXEwemdkZkpT?= =?utf-8?B?MmlQelJmMVpLVVYzWlZhc2YvL1B0alFmU3UxN2M3YVVuSW1TMUl3aXpVd0xZ?= =?utf-8?B?WFByTFBZUnRoNG9RVUkzdUVRTVQrVk95eHVyNXUrdVM5Q0pKNWlnQlBJUGRt?= =?utf-8?B?RExlT2tydTdJdVIxTXp4Z3FyQVU3d0luQnhyR3NUejc3cWpJOWZPK3FXa25S?= =?utf-8?B?a2dxZ2F6QUkvcWhUK0NtNzRwVUFnQ3JjejBad0ZHM1UwNTgvZTFwaFJVSE5F?= =?utf-8?B?UnYrR0pLUTZreUtBMW0zTFZzRE82Y2tMT01PSEZCWnZUZTFLeFNmbE1ZT3Fn?= =?utf-8?B?OXlPRXk3YVloUDVkc2Vra29MZWl3c2Vqd3JETHhwUkF2Ty9zTHoyVVJibk1O?= =?utf-8?B?U0IxY0k2SnE4cDBwZUluNFJ2aGdxSjM5OG5nQXhzeENNNDIvSUZaM20xQit4?= =?utf-8?B?MGkvYXFGWFhpR2E0OXg1a2tNTFcrNHJzak9pU0FEbVp5ZTFvZWVTVkU3RC9T?= =?utf-8?B?eUtpejBzdCtxRTk1dUs1TUdNVDhrdGlKU0RtSEMrRU5aWStuOVZTaE4rY0Jy?= =?utf-8?B?RzV4TjRqNzE0Wmk3SXFWa01SdkEyRTFON1hpMUZpc1UrNlcwOG5UWEh5Z01I?= =?utf-8?B?aElCUk00eGNsUTZlNytQYjBEMFhlV2EwdVBOM0hTVS95dmpKa0wxZUVLZ3Vp?= =?utf-8?B?d3ppT25JQTlOUndUWjNOdzg0TDhxNUxzNGtOcHAwOWtnWHhHaVZxWlBJNFpT?= =?utf-8?B?YUxBb3lIeXgxanhOQkdiLzlsZUdORnFudzUxUjlYVWk3Y3BWbFB3QVh0S2lp?= =?utf-8?B?Rlkvdk1sbENjaldSQloyekg2SjhaSkFkS3o0cjhpV2hGbHVtSFZVMmxKVnRX?= =?utf-8?B?Sy8rOTQvV2ZvcUdnTEZoaStjZk03cXY1WFpkaTVqcXdTTVhhSjEvakpkTEcv?= =?utf-8?B?T2ZUTzZKM2IwMEtOai9VVm9JYVBMTEZ4Qmd6dnNqZ3RBUmNVVVltUDg2Vysz?= =?utf-8?B?S0lndmZFUkg5aXFCcXFyVTl0Vy9NVm5EYktIZkJqNXBBZ0dHMXlKbmxSVFpZ?= =?utf-8?B?Wi8xQmk1VHRPYXNwZ3YvR1NzOW1JNUVJRkJjVWxNQmlxdGhxV0l2L3hEM2c5?= =?utf-8?B?Y0tUU0Q3NnhJOStJOW5FWVVudEVxd0RHZW95aHQwTjB0UEFrREI0VU9KRzBk?= =?utf-8?B?dXI0RXJ2NGRmR3Z5b0pFbTQ2NHVuS3liMTE5YXFDV0pHajB4QVJhV1lUNElt?= =?utf-8?B?VnZ0aHBWOW84enpkOVg5eXZteXViRU5HOStiVXJ3QmcyejFiWGV3TXpIaVFC?= =?utf-8?B?V0lVOExwOXpGUjVWNjE4YTVodGgxazBlVExsL3hpelpHeHNGQ1pLY1JHeGwx?= =?utf-8?B?NVhURmowYmpzN2w1akEzdFIvN3ErZExkelpyZ2MxVDhwYSsxRW1Cb3BteEt1?= =?utf-8?B?TmQ2aGxXVmFzT3k0QTgyZVZyd3VyWXlQRlVBRU90Ui9XOTZOb29qNXVHUktU?= =?utf-8?Q?v/DCh4qR4L+Vw1SWVpD2PDKpfQ8IPV80Dm97A?= Content-Type: text/plain; charset="utf-8" Content-ID: <5EF21C22A7B26C458B698F61E595B41F@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 3e99a955-e866-4b68-e3ab-08da3a6c1742 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 May 2022 14:21:54.7172 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: z0eliAJwmj3ArKhlqs0QOxJ2NGZ+tCjGPOQJzQPHS+nEYih2BriVwaPyzRbImYP9x0fp0j1zDzrDgBKA0bN35rKCtpS175ZUkWkm9bQkcdk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2235 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 18E4D40010 X-Stat-Signature: k4u4fwfs9ug3y16y3sku7a38stz91xiu X-Rspam-User: Authentication-Results: imf01.hostedemail.com; dkim=none; spf=pass (imf01.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 40.107.9.53 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; dmarc=none X-HE-Tag: 1653056515-313130 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: DQoNCkxlIDE5LzA1LzIwMjIgw6AgMjA6MzEsIENoaWgtRW4gTGluIGEgw6ljcml0wqA6DQo+IFRo ZSBsaWZldGltZSBvZiBDT1cgUFRFIHdpbGwgaGFuZGxlIGJ5IG93bmVyc2hpcCBhbmQgYSByZWZl cmVuY2UgY291bnQuDQo+IFdoZW4gdGhlIHByb2Nlc3Mgd2FudHMgdG8gd3JpdGUgdGhlIENPVyBQ VEUsIHdoaWNoIHJlZmVyZW5jZSBjb3VudCBpcyAxLA0KPiBpdCB3aWxsIHJldXNlIHRoZSBDT1cg UFRFIGluc3RlYWQgb2YgY29weWluZyB0aGVuIGZyZWUuDQo+IA0KPiBPbmx5IHRoZSBvd25lciB3 aWxsIHVwZGF0ZSBpdHMgUlNTIHN0YXRlIGFuZCB0aGUgcmVjb3JkIG9mIHBhZ2UgdGFibGUNCj4g Ynl0ZXMgYWxsb2NhdGlvbi4gU28gd2UgbmVlZCB0byBoYW5kbGUgd2hlbiB0aGUgbm9uLW93bmVy IHByb2Nlc3MgZ2V0cw0KPiB0aGUgZmFsbGJhY2sgQ09XIFBURS4NCj4gDQo+IFRoaXMgY29tbWl0 IHByZXBhcmVzIGZvciB0aGUgZm9sbG93aW5nIGltcGxlbWVudGF0aW9uIG9mIHRoZSByZWZlcmVu Y2UNCj4gY291bnQgZm9yIENPVyBQVEUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBDaGloLUVuIExp biA8c2hpeW4ubGluQGdtYWlsLmNvbT4NCj4gLS0tDQo+ICAgbW0vbWVtb3J5LmMgfCA2NiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgIDEg ZmlsZSBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvbW0vbWVt b3J5LmMgYi9tbS9tZW1vcnkuYw0KPiBpbmRleCA3NmUzYWY5NjM5ZDkuLmRjYjY3OGNiYjA1MSAx MDA2NDQNCj4gLS0tIGEvbW0vbWVtb3J5LmMNCj4gKysrIGIvbW0vbWVtb3J5LmMNCj4gQEAgLTEw MDAsNiArMTAwMCwzNCBAQCBwYWdlX2NvcHlfcHJlYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqc3Jj X21tLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwNCj4gICAgICAgICAgcmV0dXJuIG5ld19w YWdlOw0KPiAgIH0NCj4gDQo+ICtzdGF0aWMgaW5saW5lIHZvaWQgY293X3B0ZV9yc3Moc3RydWN0 IG1tX3N0cnVjdCAqbW0sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLA0KPiArICAgICAgIHBt ZF90ICpwbWRwLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kLCBib29sIGlu Y19kZWMpDQoNClBhcmVudGhlc2lzIGFsaWdubWVudCBpcyBub3QgY29ycmVjdC4NCg0KWW91IHNo b3VsZCBydW4gJ3NjcmlwdHMvY2hlY2twYXRjaC5wbCAtLXN0cmljdCcgb24geW91IHBhdGNoLg0K DQo+ICt7DQo+ICsgICAgICAgaW50IHJzc1tOUl9NTV9DT1VOVEVSU107DQo+ICsgICAgICAgcHRl X3QgKm9yaWdfcHRlcCwgKnB0ZXA7DQo+ICsgICAgICAgc3RydWN0IHBhZ2UgKnBhZ2U7DQo+ICsN Cj4gKyAgICAgICBpbml0X3Jzc192ZWMocnNzKTsNCj4gKw0KPiArICAgICAgIHB0ZXAgPSBwdGVf b2Zmc2V0X21hcChwbWRwLCBhZGRyKTsNCj4gKyAgICAgICBvcmlnX3B0ZXAgPSBwdGVwOw0KPiAr ICAgICAgIGFyY2hfZW50ZXJfbGF6eV9tbXVfbW9kZSgpOw0KPiArICAgICAgIGRvIHsNCj4gKyAg ICAgICAgICAgICAgIGlmIChwdGVfbm9uZSgqcHRlcCkgfHwgcHRlX3NwZWNpYWwoKnB0ZXApKQ0K PiArICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4gKw0KPiArICAgICAgICAgICAg ICAgcGFnZSA9IHZtX25vcm1hbF9wYWdlKHZtYSwgYWRkciwgKnB0ZXApOw0KPiArICAgICAgICAg ICAgICAgaWYgKHBhZ2UpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluY19kZWMp DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnNzW21tX2NvdW50ZXIocGFnZSld Kys7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGVsc2UNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByc3NbbW1fY291bnRlcihwYWdlKV0tLTsNCj4gKyAgICAgICAgICAgICAg IH0NCj4gKyAgICAgICB9IHdoaWxlIChwdGVwKyssIGFkZHIgKz0gUEFHRV9TSVpFLCBhZGRyICE9 IGVuZCk7DQo+ICsgICAgICAgYXJjaF9sZWF2ZV9sYXp5X21tdV9tb2RlKCk7DQo+ICsgICAgICAg YWRkX21tX3Jzc192ZWMobW0sIHJzcyk7DQo+ICt9DQo+ICsNCj4gICBzdGF0aWMgaW50DQo+ICAg Y29weV9wdGVfcmFuZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICpkc3Rfdm1hLCBzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKnNyY192bWEsDQo+ICAgICAgICAgICAgICAgICBwbWRfdCAqZHN0X3BtZCwg cG1kX3QgKnNyY19wbWQsIHVuc2lnbmVkIGxvbmcgYWRkciwNCj4gQEAgLTQ1NTQsNiArNDU4Miw0 NCBAQCBzdGF0aWMgdm1fZmF1bHRfdCB3cF9odWdlX3B1ZChzdHJ1Y3Qgdm1fZmF1bHQgKnZtZiwg cHVkX3Qgb3JpZ19wdWQpDQo+ICAgICAgICAgIHJldHVybiBWTV9GQVVMVF9GQUxMQkFDSzsNCj4g ICB9DQo+IA0KPiArLyogQ09XIFBURSBmYWxsYmFjayB0byBub3JtYWwgUFRFOg0KPiArICogLSB0 d28gc3RhdGUgaGVyZQ0KPiArICogICAtIEFmdGVyIGJyZWFrIGNoaWxkIDogICBbcGFyZW50LCBy c3M9MSwgcmVmPTEsIHdyaXRlPU5PICwgb3duZXI9cGFyZW50XQ0KPiArICogICAgICAgICAgICAg ICAgICAgICAgICB0byBbcGFyZW50LCByc3M9MSwgcmVmPTEsIHdyaXRlPVlFUywgb3duZXI9TlVM TCAgXQ0KPiArICogICAtIEFmdGVyIGJyZWFrIHBhcmVudDogICBbY2hpbGQgLCByc3M9MCwgcmVm PTEsIHdyaXRlPU5PICwgb3duZXI9TlVMTCAgXQ0KPiArICogICAgICAgICAgICAgICAgICAgICAg ICB0byBbY2hpbGQgLCByc3M9MSwgcmVmPTEsIHdyaXRlPVlFUywgb3duZXI9TlVMTCAgXQ0KPiAr ICovDQo+ICt2b2lkIGNvd19wdGVfZmFsbGJhY2soc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEs IHBtZF90ICpwbWQsDQo+ICsgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGFkZHIpDQoNClRo ZXJlIHNob3VsZCBiZSBhIHByb3RvdHlwZSBpbiBhIGhlYWRlciBzb21ld2hlcmUgZm9yIGEgbm9u IHN0YXRpYyBmdW5jdGlvbi4NCg0KWW91IGFyZSBlbmNvdXJhZ2VkIHRvIHJ1biAnbWFrZSBtbS9t ZW1vcnkubyBDPTInIHRvIGNoZWNrIHNwYXJzZSByZXBvcnRzLg0KDQo+ICt7DQo+ICsgICAgICAg c3RydWN0IG1tX3N0cnVjdCAqbW0gPSB2bWEtPnZtX21tOw0KPiArICAgICAgIHVuc2lnbmVkIGxv bmcgc3RhcnQsIGVuZDsNCj4gKyAgICAgICBwbWRfdCBuZXc7DQo+ICsNCj4gKyAgICAgICBCVUdf T04ocG1kX3dyaXRlKCpwbWQpKTsNCg0KWW91IHNlZW0gdG8gYWRkIGEgbG90IG9mIEJVR19PTnMo KS4gQXJlIHRoZXkgcmVhbGx5IG5lY2Vzc2FyeSA/IFNlZSANCmh0dHBzOi8vZG9jcy5rZXJuZWwu b3JnL3Byb2Nlc3MvZGVwcmVjYXRlZC5odG1sP2hpZ2hsaWdodD1idWdfb24jYnVnLWFuZC1idWct b24NCg0KWW91IG1heSBhbHNvIHVzZSBWTV9CVUdfT04oKS4NCg0KPiArDQo+ICsgICAgICAgc3Rh cnQgPSBhZGRyICYgUE1EX01BU0s7DQo+ICsgICAgICAgZW5kID0gKGFkZHIgKyBQTURfU0laRSkg JiBQTURfTUFTSzsNCj4gKw0KPiArICAgICAgIC8qIElmIHBtZCBpcyBub3Qgb3duZXIsIGl0IG5l ZWRzIHRvIGluY3JlYXNlIHRoZSByc3MuDQo+ICsgICAgICAgICogU2luY2Ugb25seSB0aGUgb3du ZXIgaGFzIHRoZSBSU1Mgc3RhdGUgZm9yIHRoZSBDT1cgUFRFLg0KPiArICAgICAgICAqLw0KPiAr ICAgICAgIGlmICghY293X3B0ZV9vd25lcl9pc19zYW1lKHBtZCwgcG1kKSkgew0KPiArICAgICAg ICAgICAgICAgY293X3B0ZV9yc3MobW0sIHZtYSwgcG1kLCBzdGFydCwgZW5kLCB0cnVlIC8qIGlu YyAqLyk7DQo+ICsgICAgICAgICAgICAgICBtbV9pbmNfbnJfcHRlcyhtbSk7DQo+ICsgICAgICAg ICAgICAgICBzbXBfd21iKCk7DQo+ICsgICAgICAgICAgICAgICBwbWRfcG9wdWxhdGUobW0sIHBt ZCwgcG1kX3BhZ2UoKnBtZCkpOw0KPiArICAgICAgIH0NCj4gKw0KPiArICAgICAgIC8qIFJldXNl IHRoZSBwdGUgcGFnZSAqLw0KPiArICAgICAgIHNldF9jb3dfcHRlX293bmVyKHBtZCwgTlVMTCk7 DQo+ICsgICAgICAgbmV3ID0gcG1kX21rd3JpdGUoKnBtZCk7DQo+ICsgICAgICAgc2V0X3BtZF9h dChtbSwgYWRkciwgcG1kLCBuZXcpOw0KPiArDQo+ICsgICAgICAgQlVHX09OKCFwbWRfd3JpdGUo KnBtZCkpOw0KPiArICAgICAgIEJVR19PTihwbWRfcGFnZSgqcG1kKS0+Y293X3B0ZV9vd25lcik7 DQo+ICt9DQo+ICsNCj4gICAvKg0KPiAgICAqIFRoZXNlIHJvdXRpbmVzIGFsc28gbmVlZCB0byBo YW5kbGUgc3R1ZmYgbGlrZSBtYXJraW5nIHBhZ2VzIGRpcnR5DQo+ICAgICogYW5kL29yIGFjY2Vz c2VkIGZvciBhcmNoaXRlY3R1cmVzIHRoYXQgZG9uJ3QgZG8gaXQgaW4gaGFyZHdhcmUgKG1vc3QN Cj4gLS0NCj4gMi4zNi4xDQo+IA==