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 6ED2CC02198 for ; Fri, 14 Feb 2025 10:00:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E9AD5280003; Fri, 14 Feb 2025 05:00:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E4A5D280001; Fri, 14 Feb 2025 05:00:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D1361280003; Fri, 14 Feb 2025 05:00:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B59A4280001 for ; Fri, 14 Feb 2025 05:00:38 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 6843AC220C for ; Fri, 14 Feb 2025 10:00:38 +0000 (UTC) X-FDA: 83118105756.01.B313531 Received: from mta20.hihonor.com (mta20.hihonor.com [81.70.206.69]) by imf16.hostedemail.com (Postfix) with ESMTP id 4019118000B for ; Fri, 14 Feb 2025 10:00:34 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=none; spf=pass (imf16.hostedemail.com: domain of gaoxu2@honor.com designates 81.70.206.69 as permitted sender) smtp.mailfrom=gaoxu2@honor.com; dmarc=pass (policy=none) header.from=honor.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739527236; h=from:from:sender: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=8nLOAsh8oVYFB0nZnyyzNResdb2MquuIt0JTCxlTdmY=; b=awgp2xMCX8aSk0f1KaA7v2hQNkJ7p3TchJ4MfhPs2WK157BLzsLDOO3tvKafuJmcFIrO3F v0XLMCqqz0T289axVZE0MCdftvXH/J/wgBoUK/Rk1gQSOsKA4WNGpwNNSRbN0OZG39WTwZ J5g/pexwe2hHK8mb5NsucfJV15AKMFc= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=none; spf=pass (imf16.hostedemail.com: domain of gaoxu2@honor.com designates 81.70.206.69 as permitted sender) smtp.mailfrom=gaoxu2@honor.com; dmarc=pass (policy=none) header.from=honor.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739527236; a=rsa-sha256; cv=none; b=Jgd5WIhgB1P7AGivVj2Xz3NfkiG791Qa1i/zVOaNX9rE0+YXN/F8Fwx9ENwUa8nVBc1USg vUYNJvh6PX+U2ccBfzs606X73U4tH/dbB5SvNls1vB/hFbswhr7GX9gwGzMH7tMomIVVGV Rl6Cb7+K6zOB+VxvrbaiyXsKJ+5SYNs= Received: from w003.hihonor.com (unknown [10.68.17.88]) by mta20.hihonor.com (SkyGuard) with ESMTPS id 4YvSF14jpczYmwxh; Fri, 14 Feb 2025 17:59:01 +0800 (CST) Received: from a009.hihonor.com (10.68.30.244) by w003.hihonor.com (10.68.17.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Fri, 14 Feb 2025 18:00:05 +0800 Received: from a007.hihonor.com (10.68.22.31) by a009.hihonor.com (10.68.30.244) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Fri, 14 Feb 2025 18:00:05 +0800 Received: from a007.hihonor.com ([fe80::e866:83ac:f23b:c25c]) by a007.hihonor.com ([fe80::e866:83ac:f23b:c25c%10]) with mapi id 15.02.1544.011; Fri, 14 Feb 2025 18:00:05 +0800 From: gaoxu To: Barry Song <21cnbao@gmail.com> CC: Nhat Pham , Andrew Morton , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Suren Baghdasaryan , yipengxiang Subject: =?utf-8?B?5Zue5aSNOiBbUEFUQ0hdIG1tOiBGaXggcG9zc2libGUgTlVMTCBwb2ludGVy?= =?utf-8?B?IGRlcmVmZXJlbmNlIGluIF9fc3dhcF9kdXBsaWNhdGU=?= Thread-Topic: [PATCH] mm: Fix possible NULL pointer dereference in __swap_duplicate Thread-Index: Adt8+0GogoLTL6hgQfOcUIXDGgpBSQAehvKAAB6JUvAADl2WAAAltvHQ Date: Fri, 14 Feb 2025 10:00:05 +0000 Message-ID: References: <44655569e3a1419f800952004f07e714@honor.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.164.11.140] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 4019118000B X-Stat-Signature: ad3twirye9sn3mjg61i3d4upci3xm9di X-Rspam-User: X-HE-Tag: 1739527234-728876 X-HE-Meta: U2FsdGVkX19mAEj8mcvWXTVSBKbzb8v1L4YB3kd4eUI+VCgl/tEMrXu2AHRuI3hF8OAJDPmR3Ch132tWKdLo/UZxM3Gbra1gkTh6DnmRxnoKF77xmRcxZf800IgfwxPuIbWpxv0umddlMzLJEmbc08plloxXenEZ8B/xa/1JFmc7y7B49u8juRR7JZph8WPnfnpT+1gkoF01maU9P4ZggIM5zIfU31xEQVWnNMlsj1WqJxqf71QYU8jUkSGWD9AVUhXaUbNh4kNJoiVmQO4jpY0cVL+b7D2eljO6fBgpUqsdf2K3b6j4JAwrfAP6jn6nAcwK2spLbKUDYoiSZ4Zt5ZtLPUvCqqMEkpx9SRT2/lnGAtHdV1pdVxhNvRBmQFRZ2UClsg4SWxVzkepDp5DK7sdTSwVhfiF1HPp3UZY+trIYrfKkyUvF8eaktbf9jfVi5ZIS+qQ2YpM/RomQ5zkrcJ5wgnFpBR7m20yWOK+RvLpZyVn8LFeLSehiirVRBL984ZZSmdFas+V8od5aTsFKywERG/4OWUmB6oWHPILLllq1nCl6L1Pv0rAi4EqeExvi0rW6FX5ae7QXqDi3UW50mCiTMp6JF5tqT5JxbKPY/Ve7rejY/KXEXeLq9qv+EnHkSdfnyWkbbunVJ9j7Tda9RF8cHjlR9lvH21Ukxph99AIZmWg6/aKkqq5dyFmAkZujnC2fSsRimOaVS4zfTAsSmOCkgGbO3PZh00EyWa/mQEKTz3bC86pQkpihsfuV0jt28Be1aIkjG1iB5ybHs+O5/HyhYwCrC1tMdUQSSd3uwrMKv7ruZeSYBAtuMotKOwCD5bdhpRIKoHO0l2kjxxvy+zSn1gMuBPLnXNj52coFJI26d20H5YWppiICWDuAzMLvrALuNrbDKIaJZ4geXkkF0KS9ZQCHFbupFtSQ9d5L8J657TFNPJCdRxojMfNaC6jkypKeEQMS0qnWgRCDaOH xuwkKsVW f6s+jGbxo5UXuUQeTupHGb4hVZofJnwBY028soc1Hyl4EOU5f8RDGNHMb9Hd7sHHDqx0X8am52BNCS+Ux94vBy+t6GqXcaOy79Q45kXo08O/3PT8V97zBs/gkoTHNvxSZ01j/tui4emamuSh1qVU2Bdw9ExNaUM0dNTeL+LlGInf1QcfKbVthM1+jJCMjywQS32vJ7MdsZiN/kdiAi99E9tLQRwemPWCREy7wzXeI/3MP7xjsZDDA/VOD37h5uv46Yc/sogFq4ha66W+iyXEFufVK4b6nyUFjeurs9/cyAEMu/hSewgtNfC3tEWYHDUyDXKdcD5pbuz3dcl0sJ8sR9/gn3mk1bXDkzTf1jdHxevkS6kj5k6c6EE6Bw3oRt9AM+BYjAHawGtuFGjrxLKO53i0Ie5e2D9DIwv7fjH7DGdr0TOqVg0J1ha3MgKekzmnJzZCsr7+OGkz5eux6NVKj56+EdsAyGwuu5j0Ymq1jUIjd4kxU2eRdGBAKYoThx9s/BPHQgVaol5wDGS93/1v4llX+qRr2CywjZPTJdhrG2fvSVnZDzOyxFqiKjPkf7zbP/D0BypoHuBSsao57x5dUDiEXKsF/xjKLWNFbLrE5E9zYdFg= 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: List-Subscribe: List-Unsubscribe: PiA+DQo+ID4gPg0KPiA+ID4gT24gVHVlLCBGZWIgMTEsIDIwMjUgYXQgNzoxNOKAr1BNIGdhb3h1 IDxnYW94dTJAaG9ub3IuY29tPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gc3dwX3N3YXBfaW5m bygpIG1heSByZXR1cm4gbnVsbDsgaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIHRoZQ0KPiA+ID4g PiByZXR1cm4gdmFsdWUgdG8gYXZvaWQgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLiBUaGUgY29k ZSBmb3Igb3RoZXINCj4gPiA+ID4gY2FsbHMgdG8NCj4gPiA+ID4gc3dwX3N3YXBfaW5mbygpIGlu Y2x1ZGVzIGNoZWNrcywgYW5kIF9fc3dhcF9kdXBsaWNhdGUoKSBzaG91bGQNCj4gPiA+ID4gYWxz byBpbmNsdWRlIGNoZWNrcy4NCj4gPiA+ID4NCj4gPiA+ID4gVGhlIHJlYXNvbiB3aHkgc3dwX3N3 YXBfaW5mbygpIHJldHVybnMgTlVMTCBpcyB1bmNsZWFyOyBpdCBtYXkgYmUNCj4gPiA+ID4gZHVl IHRvIENQVSBjYWNoZSBpc3N1ZXMgb3IgRERSIGJpdCBmbGlwcy4gVGhlIHByb2JhYmlsaXR5IG9m IHRoaXMNCj4gPiA+ID4gaXNzdWUgaXMgdmVyeSBzbWFsbCwgYW5kIHRoZSBzdGFjayBpbmZvIHdl IGVuY291bnRlcmVkIGlzIGFzDQo+ID4gPiA+IGZvbGxvd3PvvJoNCj4gPiA+ID4gVW5hYmxlIHRv IGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0IHZpcnR1YWwNCj4gPiA+ ID4gYWRkcmVzcw0KPiA+ID4gPiAwMDAwMDAwMDAwMDAwMDU4DQo+ID4gPiA+IFtSQi9FXXJiX3Ny ZWFzb25fc3RyX3NldDogc3JlYXNvbl9zdHIgc2V0IG51bGxfcG9pbnRlciBNZW0gYWJvcnQgaW5m bzoNCj4gPiA+ID4gICBFU1IgPSAweDAwMDAwMDAwOTYwMDAwMDUNCj4gPiA+ID4gICBFQyA9IDB4 MjU6IERBQlQgKGN1cnJlbnQgRUwpLCBJTCA9IDMyIGJpdHMNCj4gPiA+ID4gICBTRVQgPSAwLCBG blYgPSAwDQo+ID4gPiA+ICAgRUEgPSAwLCBTMVBUVyA9IDANCj4gPiA+ID4gICBGU0MgPSAweDA1 OiBsZXZlbCAxIHRyYW5zbGF0aW9uIGZhdWx0IERhdGEgYWJvcnQgaW5mbzoNCj4gPiA+ID4gICBJ U1YgPSAwLCBJU1MgPSAweDAwMDAwMDA1LCBJU1MyID0gMHgwMDAwMDAwMA0KPiA+ID4gPiAgIENN ID0gMCwgV25SID0gMCwgVG5EID0gMCwgVGFnQWNjZXNzID0gMA0KPiA+ID4gPiAgIEdDUyA9IDAs IE92ZXJsYXkgPSAwLCBEaXJ0eUJpdCA9IDAsIFhzID0gMCB1c2VyIHBndGFibGU6IDRrDQo+ID4g PiA+IHBhZ2VzLCAzOS1iaXQgVkFzLCBwZ2RwPTAwMDAwMDA4YTgwZTUwMDAgWzAwMDAwMDAwMDAw MDAwNThdDQo+ID4gPiA+IHBnZD0wMDAwMDAwMDAwMDAwMDAwLCBwNGQ9MDAwMDAwMDAwMDAwMDAw MCwNCj4gPiA+ID4gcHVkPTAwMDAwMDAwMDAwMDAwMDANCj4gPiA+ID4gSW50ZXJuYWwgZXJyb3I6 IE9vcHM6IDAwMDAwMDAwOTYwMDAwMDUgWyMxXSBQUkVFTVBUIFNNUCBTa2lwIG1kDQo+ID4gPiA+ IGZ0cmFjZSBidWZmZXIgZHVtcCBmb3I6IDB4MTYwOWUwIC4uLg0KPiA+ID4gPiBwYyA6IHN3YXBf ZHVwbGljYXRlKzB4NDQvMHgxNjQNCj4gPiA+ID4gbHIgOiBjb3B5X3BhZ2VfcmFuZ2UrMHg1MDgv MHgxZTc4DQo+ID4gPiA+IHNwIDogZmZmZmZmYzBmMmE2OTllMA0KPiA+ID4gPiB4Mjk6IGZmZmZm ZmMwZjJhNjk5ZTAgeDI4OiBmZmZmZmY4YTViMjhkMzg4IHgyNzogZmZmZmZmOGIwNjYwMzM4OA0K PiA+ID4gPiB4MjY6IGZmZmZmZmRmNzI5MWZlNzAgeDI1OiAwMDAwMDAwMDAwMDAwMDA2IHgyNDog MDAwMDAwMDAwMDEwMDA3Mw0KPiA+ID4gPiB4MjM6IDAwMDAwMDAwMDAyZDJkMmYgeDIyOiAwMDAw MDAwMDAwMDAwMDA4IHgyMToNCj4gMDAwMDAwMDAwMDAwMDAwMA0KPiA+ID4gPiB4MjA6IDAwMDAw MDAwMDAyZDJkMmYgeDE5OiAxODAwMDAwMDAwMmQyZDJmIHgxODogZmZmZmZmZGY3MjZmYWVjMA0K PiA+ID4gPiB4MTc6IDAwMDAwMDAwMDAwMDAwMDAgeDE2OiAwMDEwMDAwMDAwMDAwMDAxIHgxNToN Cj4gMDA0MDAwMDAwMDAwMDAwMQ0KPiA+ID4gPiB4MTQ6IDA0MDAwMDAwMDAwMDAwMDEgeDEzOiBm ZjdmZmZmZmZmZmZmYjdmIHgxMjogZmZlZmZmZmZmZmZmZmJmZg0KPiA+ID4gPiB4MTE6IGZmZmZm ZjhhNWM3ZTE4OTggeDEwOiAwMDAwMDAwMDAwMDAwMDE4IHg5IDogMDAwMDAwMDAwMDAwMDAwNg0K PiA+ID4gPiB4OCA6IDE4MDAwMDAwMDAwMDAwMDAgeDcgOiAwMDAwMDAwMDAwMDAwMDAwIHg2IDog ZmZmZmZmODA1N2MwMWYxMA0KPiA+ID4gPiB4NSA6IDAwMDAwMDAwMDAwMGEzMTggeDQgOiAwMDAw MDAwMDAwMDAwMDAwIHgzIDogMDAwMDAwMDAwMDAwMDAwMA0KPiA+ID4gPiB4MiA6IDAwMDAwMDZk YWYyMDAwMDAgeDEgOiAwMDAwMDAwMDAwMDAwMDAxIHgwIDogMTgwMDAwMDAwMDJkMmQyZg0KPiA+ ID4gPiBDYWxsDQo+ID4gPiA+IHRyYWNlOg0KPiA+ID4gPiAgc3dhcF9kdXBsaWNhdGUrMHg0NC8w eDE2NA0KPiA+ID4gPiAgY29weV9wYWdlX3JhbmdlKzB4NTA4LzB4MWU3OA0KPiA+ID4gPiAgY29w eV9wcm9jZXNzKzB4MTI3OC8weDIxY2MNCj4gPiA+ID4gIGtlcm5lbF9jbG9uZSsweDkwLzB4NDM4 DQo+ID4gPiA+ICBfX2FybTY0X3N5c19jbG9uZSsweDVjLzB4OGMNCj4gPiA+ID4gIGludm9rZV9z eXNjYWxsKzB4NTgvMHgxMTANCj4gPiA+ID4gIGRvX2VsMF9zdmMrMHg4Yy8weGUwDQo+ID4gPiA+ ICBlbDBfc3ZjKzB4MzgvMHg5Yw0KPiA+ID4gPiAgZWwwdF82NF9zeW5jX2hhbmRsZXIrMHg0NC8w eGVjDQo+ID4gPiA+ICBlbDB0XzY0X3N5bmMrMHgxYTgvMHgxYWMNCj4gPiA+ID4gQ29kZTogOTEz OWMzNWEgNzEwMDZmM2YgNTQwMDA1NjggZjg3OTdiNTUgKGY5NDAyZWE4KSAtLS1bIGVuZA0KPiA+ ID4gPiB0cmFjZQ0KPiA+ID4gPiAwMDAwMDAwMDAwMDAwMDAwIF0tLS0gS2VybmVsIHBhbmljIC0g bm90IHN5bmNpbmc6IE9vcHM6IEZhdGFsDQo+ID4gPiA+IGV4Y2VwdGlvbg0KPiA+ID4gPiBTTVA6 IHN0b3BwaW5nIHNlY29uZGFyeSBDUFVzDQo+ID4gPiA+DQo+ID4gPiA+IFRoZSBwYXRjaCBzZWVt cyB0byBvbmx5IHByb3ZpZGUgYSB3b3JrYXJvdW5kLCBidXQgdGhlcmUgYXJlIG5vDQo+ID4gPiA+ IG1vcmUgZWZmZWN0aXZlIHNvZnR3YXJlIHNvbHV0aW9ucyB0byBoYW5kbGUgdGhlIGJpdCBmbGlw cyBwcm9ibGVtLg0KPiA+ID4gPiBUaGlzIHBhdGggd2lsbCBjaGFuZ2UgdGhlIGlzc3VlIGZyb20g YSBzeXN0ZW0gY3Jhc2ggdG8gYSBwcm9jZXNzDQo+ID4gPiA+IGV4Y2VwdGlvbiwgdGhlcmVieSBy ZWR1Y2luZyB0aGUgaW1wYWN0IG9uIHRoZSBlbnRpcmUgbWFjaGluZS4NCj4gPiA+ID4NCj4gPiA+ ID4gU2lnbmVkLW9mZi1ieTogZ2FvIHh1IDxnYW94dTJAaG9ub3IuY29tPg0KPiA+ID4NCj4gPiA+ IFllYWggdGhpcyBzbWVsbHMgbGlrZSBhIGJ1Zy4gQSBiaXQgc3RyYW5nZSB0aG91Z2ggLSBJIGhh dmUgZXllYmFsbGVkDQo+ID4gPiB0aGUgY29kZSwgYW5kIHdlIChzaG91bGQgaGF2ZT8pIGxvY2tl ZCB0aGUgUFRFIGJlZm9yZSByZXNvbHZpbmcgaXQgaW50byB0aGUNCj4gc3dhcCBlbnRyeSBmb3Jt YXQuDQo+ID4gPiBXaGljaCBzaG91bGQgaGF2ZSBiZWVuIGVub3VnaCB0byBwcmV2ZW50IHRoZSBz d2FwIGVudHJ5IGZyb20gYmVpbmcNCj4gPiA+IHVubWFwcGVkIGFuZCBmcmVlZCB1cC4gV2hpY2gg c2hvdWxkIGhhdmUgYmVlbiBlbm91Z2ggdG8gcHJldmVudA0KPiBzd2Fwb2ZmLi4uPw0KPiA+ID4N Cj4gPiA+IChhcmUgeW91IGV2ZW4gZG9pbmcgY29uY3VycmVudCBzd2Fwb2ZmPykNCj4gPiBObywg dGhlIHN3YXBvZmYgb3BlcmF0aW9uIHdhcyBub3QgZXhlY3V0ZWQuDQo+ID4gPg0KPiA+ID4gQ2Fu IHlvdSBwcm92aWRlIG1vcmUgY29udGV4dD8gV2hhdCBrZXJuZWwgdmVyc2lvbiBpcyB0aGlzLCB3 aGF0IGtpbmQNCj4gPiA+IG9mIHdvcmtsb2FkIGlzIHRoaXMsIGFueSByZXByb2R1Y2VyLCBldGMu Pw0KPiA+IGtlcm5lbCB2ZXJzaW9uIGlzIGxpbnV4IDYuNiwgIEFuZHJvaWQxNSAtIGxpbnV4Ni42 LjMwLg0KPiA+DQo+ID4gVGhlIGlzc3VlcyBlbmNvdW50ZXJlZCBieSBtb2JpbGUgdXNlcnMgZHVy aW5nIHVzYWdlLg0KPiA+IFRoZSBzeXN0ZW0gbG9hZCBzaG91bGQgbm90IGJlIGhpZ2gsIGFzIHRo ZXJlIGlzIG5vIGluZm8gcmVsYXRlZCB0byBsb3cNCj4gPiBtZW1vcnkgZm91bmQgaW4gdGhlIGxv Z3MuDQo+ID4gVGhlIHByb2JhYmlsaXR5IG9mIHRoaXMgaXNzdWUgb2NjdXJyaW5nIGlzIHZlcnkg bG93IGFuZCBpcnJlZ3VsYXIuDQo+ID4gV2UgY2Fubm90IHJlcHJvZHVjZSB0aGUgcHJvYmxlbSBk dXJpbmcgc3RyZXNzIHRlc3RpbmcgaW4gdGhlIGxhYm9yYXRvcnkuDQo+ID4NCj4gPiBJIGZvdW5k IHNvbWVvbmUgcmVwb3J0aW5nIGEgc2ltaWxhciBpc3N1ZSBvbiB0aGUgd2ViLCBzZWU6DQo+ID4g aHR0cHM6Ly9sa21sLmluZGlhbmEuZWR1L2h5cGVybWFpbC9saW51eC9rZXJuZWwvMjQwNi4wLzAy MzgwLmh0bWwNCj4gPiBodHRwczovL2ZvcnVtLnByb3htb3guY29tL3RocmVhZHMvZ2V0X3N3YXBf ZGV2aWNlLWJhZC1zd2FwLWZpbGUtZW50cnkuDQo+ID4gMTU1NTgxLw0KPiA+IGh0dHBzOi8vZm9y dW1zLnVucmFpZC5uZXQvdG9waWMvMTQ1NDk3LXNlcnZlci1jcmFzaGVzLXdpdGgtcmVwZWF0ZWQt Z2UNCj4gPiB0X3N3YXBfZGV2aWNlLWJhZC1zd2FwLWZpbGUtZW50cnktM2ZmZmZmZmZmZmZmZi8N Cj4gDQo+IEl0IG1pZ2h0IGJlIGEgbm9uLXN3YXAgZW50cnkgbWlzdGFrZW5seSBwYXNzZWQgdG8g c3dhcCBmdW5jdGlvbnMuIEkgcmVtZW1iZXINCj4gZml4aW5nIGEgc2ltaWxhciBpc3N1ZSBpbiB0 aGUgQW5kcm9pZCBDb21tb24gS2VybmVsIDYuNjoNCj4gDQo+IGh0dHBzOi8vYW5kcm9pZC5nb29n bGVzb3VyY2UuY29tL2tlcm5lbC9jb21tb24vKy8xMTkzNTFmZTIwYmM3M2I3MWM2DQo+IA0KPiB3 aGVyZSBhIG1pZ3JhdGlvbiBlbnRyeSBpcyBtaXN0YWtlbmx5IHBhc3NlZCB0byBzd2FwIEFQSXMu DQo+IA0KPiBJbiBhbnkgY2FzZSwgd2UgbmVlZCB0byBpZGVudGlmeSBhbmQgZml4IHRoZSBhY3R1 YWwgYnVnLg0KQXMgSSBtZW50aW9uZWQgaW4gbXkgcHJldmlvdXMgZW1haWwsIHRoZSByb290IGNh dXNlIG9mIHRoaXMgaXNzdWUgaXMNCnVuY2xlYXIsIGFuZCB3ZSBkbyBub3Qga25vdyB3aHkgdGhp cyBlbnRyeSBpcyBiZWhhdmluZyBhYm5vcm1hbGx5Lg0KVGhlIHByb2JhYmlsaXR5IG9mIHRoaXMg aXNzdWUgb2NjdXJyaW5nIGlzIHZlcnkgbG93LCBhbmQgaXQgY2Fubm90IGJlDQpyZXByb2R1Y2Vk IGxvY2FsbHkuIFdlIGFyZSBub3cgbG9va2luZyB0byB0cmFuc2Zvcm0gYSBudWxsIHBvaW50ZXIg Y3Jhc2gNCmlzc3VlIGludG8gYW4gaW5kaXZpZHVhbCBwcm9jZXNzIGlzc3VlLCBhaW1pbmcgdG8g cmVkdWNlIHRoZSBpbXBhY3Qgb2YNCnRoZSBwcm9ibGVtIG9uIGFjdHVhbCB1c2Vycy4gSSBiZWxp ZXZlIGV2ZXJ5b25lIHVuZGVyc3RhbmRzIHRoYXQgdGhpcw0KYXBwcm9hY2ggaXMgYWxzbyB2YWx1 YWJsZS4NCg0KT2YgY291cnNlLCB3ZSBjYW4gYWxzbyByZWZlciB0byB0aGUgbGluayB5b3UgcHJv dmlkZWQgdG8gbWFrZSB0aGUgY29ycmVzcG9uZGluZyBtb2RpZmljYXRpb25zLA0KVGhpcyBtb2Rp ZmljYXRpb24gY2FuIGFsc28gaGVscCBhdm9pZCB0aGUgbnVsbCBwb2ludGVyIGlzc3VlLiBzdWNo IGFzOg0KLSAgIGlmIChzd2FwX2R1cGxpY2F0ZShlbnRyeSkgPCAwKSB7DQorICBpZiAoIW5vbl9z d2FwX2VudHJ5KGVudHJ5KSAmJiBzd2FwX2R1cGxpY2F0ZShlbnRyeSkgPCAwKSB7DQoJICAgc2V0 X3B0ZV9hdChtbSwgYWRkcmVzcywgcHZtdy5wdGUsIHB0ZXZhbCk7DQoJICAgcmV0ID0gZmFsc2U7 DQoJICAgcGFnZV92bWFfbWFwcGVkX3dhbGtfZG9uZSgmcHZtdyk7DQoJICAgYnJlYWs7DQogICB9 DQoNCj4gDQo+ID4NCj4gPg0KPiA+DQo+IA0KPiBUaGFua3MNCj4gQmFycnkNCg==