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.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,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 260AFC433ED for ; Wed, 28 Apr 2021 09:18:43 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 55CEC601FE for ; Wed, 28 Apr 2021 09:18:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 55CEC601FE Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=nec.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id BA73E6B0036; Wed, 28 Apr 2021 05:18:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B7D6B6B006E; Wed, 28 Apr 2021 05:18:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9F5FA6B0070; Wed, 28 Apr 2021 05:18:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0194.hostedemail.com [216.40.44.194]) by kanga.kvack.org (Postfix) with ESMTP id 8333D6B0036 for ; Wed, 28 Apr 2021 05:18:41 -0400 (EDT) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 4C2914DA8 for ; Wed, 28 Apr 2021 09:18:41 +0000 (UTC) X-FDA: 78081225642.01.126D003 Received: from APC01-PU1-obe.outbound.protection.outlook.com (mail-eopbgr1320085.outbound.protection.outlook.com [40.107.132.85]) by imf27.hostedemail.com (Postfix) with ESMTP id A82DF80192F4 for ; Wed, 28 Apr 2021 09:18:17 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CaXj971EFLwXKUg20NCXgBVXzEG5JJF8sbItGp3e9hEax0GiPAKDQH2gpmQjuG162I75eYx8vsxRuwGrOyUVr9DZVkeNkf41OI7MSyab/Vz01vsrYBxq7j2vhbdQSaeOqio55HMQaezQEi9RV3QUeuBwbBs1L4YU1cbVwkqpakTgYXgjpyeTWIFM0uF2qbzs3ViN2TjYQdwTLzTSlgoP4JFmppDm7SrTnRN6U2gPNuW51BiZlxwnZVBK/H1Pxggkxoww1BT5iuL37vEvAo2GYiLNxFRy27w3WtgJvIWqY48S+hSpU64FlCdkJ+G7ZybN0PjIY3IYTRy8hbN7/OPYmg== 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-SenderADCheck; bh=xFESeJsxdlDwQbbylKA5HwnNO9HHAKMQgST1kgnMl98=; b=Xp83YICl9szrn6ZpvdjxlZVuV7Q0xeV9LZOME/2o5i/QVmYfp+KXm/K35jzSuKFWniCghd6XKuaJEsIE4AA2EB8WKN2wbotRBVt01CjoMLEerH8gYA0NnQyjjnXWqaVQ0ajmJAQsEJWvn8lxoaAxnsWS9NUoiqaUCwNymmJGRGiHE4QbwF1Eqi9fYEAY9/8/Ov36YAzK0Ntc88c1Gl0j8v3wFlTNezoTNPeOkHW3c+p4+a51RTpXF7gKiYIBWwA2kUjsMuWZQtgsWKW4V9PTJ6OzqpRYkbjjSuhDwgrGnz+MzUrC6hx9KjzRRxEhZ3Aw0L+KUgWYhlXntpcaarYgPw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nec.com; dmarc=pass action=none header.from=nec.com; dkim=pass header.d=nec.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nec.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xFESeJsxdlDwQbbylKA5HwnNO9HHAKMQgST1kgnMl98=; b=Fmsmt4u7oztIs3+GWNrFVQWqckdUnwuFYhapcZKMWK4E+RMvUMu04sO2oA36thU66QSn0I3dp/UOzdasgcQ7uuZeOrLBETReom4MKIkUpNHN2k2ajkw4HAngmtqpPdqbqNOM3+flbYcXqyNXKHnykhipJFtfB75JO+jXTmTPZ68= Received: from TY1PR01MB1852.jpnprd01.prod.outlook.com (2603:1096:403:8::12) by TY2PR01MB2377.jpnprd01.prod.outlook.com (2603:1096:404:6e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.25; Wed, 28 Apr 2021 09:18:36 +0000 Received: from TY1PR01MB1852.jpnprd01.prod.outlook.com ([fe80::1552:1791:e07c:1f72]) by TY1PR01MB1852.jpnprd01.prod.outlook.com ([fe80::1552:1791:e07c:1f72%7]) with mapi id 15.20.4065.027; Wed, 28 Apr 2021 09:18:36 +0000 From: =?utf-8?B?SE9SSUdVQ0hJIE5BT1lBKOWggOWPo+OAgOebtOS5nyk=?= To: Oscar Salvador CC: Naoya Horiguchi , Mike Kravetz , Michal Hocko , Muchun Song , "akpm@linux-foundation.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] mm,hwpoison: fix race with compound page allocation Thread-Topic: [PATCH] mm,hwpoison: fix race with compound page allocation Thread-Index: AQHXPAKujNaz5mDvYUWdEtgaN/Mk3qrJl5uAgAAPTYA= Date: Wed, 28 Apr 2021 09:18:36 +0000 Message-ID: <20210428091835.GA273940@hori.linux.bs1.fc.nec.co.jp> References: <20210423080153.GA78658@hori.linux.bs1.fc.nec.co.jp> <20210428074654.GA2093897@u2004> <20210428082344.GA29213@linux> In-Reply-To: <20210428082344.GA29213@linux> Accept-Language: ja-JP, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: suse.de; dkim=none (message not signed) header.d=none;suse.de; dmarc=none action=none header.from=nec.com; x-originating-ip: [165.225.97.70] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 28d7f9b8-9865-4615-b680-08d90a269a3e x-ms-traffictypediagnostic: TY2PR01MB2377: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dd/Ce6ed6d2eMSzsm34okKy5Q8EVaJ7Vtd/QfJ9Ss3YY8rQbNZZSV3xlj4SYs9simJFzEcOFO88KWuT8S0tM6ib+7N/ZXmd6B7wkrULMaklNn5ufM3gktmab4I06ixx0ZIE2nl3HcV82IrGakNVvUwvGBqVtcsapyD3Yy5C3nUIqosuguzIOW3zxKGR+hoL7nhPK/rWa2DveD3/1YLX8nAW/KFcHqJuvgvAxlbfcgO2IN2dgqs5rYcg01KJkCKBtFIKW/YUrzgnQhhhZyLCXdKUB+tAaA5XouyIBm0xycoVfhLZi7FblRhaR/3brbUVExTGshLuswBCvpPNxXa4V+PCwXHyy2uLBZTH54BgsM9//5qFFuBnrI3uCKwXJ5PPZwj2GpWAJMsD9+AMqfbFKwkV7Zlf7P1kjiZouk1emIGT3eAKXPZOeJ5/jMFCtj4neB7felXlI3X9iZpc2CbDPUsTfRBocIcfGg0kU5rQwX/9zHENQ5falrRQrSM8A/KdxwWHcBEz036k/N18EdDB6rfNRiBOBAEEsz6zDrD9k62aCITO9aENQCiBOD9YjS2t6aGCAK0j6yxcJi4gEVs7YMqV8CXsmpPRY9auBgXLBIjs= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY1PR01MB1852.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(376002)(396003)(136003)(366004)(39860400002)(83380400001)(2906002)(1076003)(8676002)(64756008)(5660300002)(66946007)(71200400001)(4326008)(85182001)(316002)(8936002)(86362001)(38100700002)(122000001)(6486002)(6512007)(26005)(66556008)(54906003)(186003)(9686003)(66446008)(33656002)(76116006)(66476007)(6916009)(55236004)(6506007)(478600001)(53546011);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?a2szSDBjNm9oZ2xpRVdDRm1UOGZuaG15ajdMOTRLb0IyQWlvZUhHREh0TnZu?= =?utf-8?B?TFd1MFU2Vm9oK1lpUXNmUVhmNmRDVzhMWjh5V1hWbXNTa2Z1cmlXTFpyUHIv?= =?utf-8?B?d1QxOXJnM0xWanVjcHdPaVhxaGw4dXpwUjk3SkRVek83UmFJNS92elZkZU9O?= =?utf-8?B?VEs3c2o1M0p5UGhZMkZOODhHaWljR2pjRTBmMEFIcVJLbWxiZG9nQ2hxSGNh?= =?utf-8?B?L1hqWlBkdkt0SlhTMUVIcnZxaUpUeXI5RGF4QVpuVTZyQ1JuODJRR0lobVN1?= =?utf-8?B?RlNPazRVTnFVcHBIbEp6c29Za04zTGVwNWhEMkM3cnBsNUhxUVdpZVhPVlB4?= =?utf-8?B?TnFqSVRMQUxQOUl1eGJRbEt0WnZ1bHlOVWt4UzcvajRReGZXSm44WDk0RFJq?= =?utf-8?B?Q1VValFqdzdKdFN6S2d6aGpvdG0wWWZSR082ZEMrb0JDR2w3TTJtQ3BHbDV1?= =?utf-8?B?bkUyQTA4dUs0Ky95NzZiaW4xQUovb2NlQlBuSWVoSDRyaUUwUHRtT0UrNExl?= =?utf-8?B?c0RWdVNBZlNyYUZHWXEwajNIUDl1RnY4ZGhENTVsRnpJMUFIMVEvSDg0Q0h6?= =?utf-8?B?WDNFMTZIcjYxdlpGSmpqSkFrb2ZhbGpIVjh0MDNZS25lQnF1bmlxK0x6RjN2?= =?utf-8?B?U0VzNEM3QzlFdW94MS9SN0VRTkJYMlRxSUJRM09VZVVlU3B4NHNmbGI4Q3dq?= =?utf-8?B?OFhaU21MbXdPa21mN0lkWDlBOGVNQkI3anpZZlYvVmdpUitoYTZ6aUsxdkt5?= =?utf-8?B?MVBwS2dkdHBxOUUzamtPQWo3cjAzWVdVMjRhRjJRN2ZleFpqa0NPZ0Vpeit3?= =?utf-8?B?bkQzOG1UcEtBTXdqZ1RsendLUENnb2hXY0QzZUtSam5pZFltcVdBc2hVUDJh?= =?utf-8?B?dS95bDRUOURrYkhGc3ZFdnZ6ZzNKTjNsaTg1WWpsQ0xXdmVBRGFYTkxiM1VR?= =?utf-8?B?MjhFNHpLTHROSmtJY1BFcFdYb0FJV2NKKzJERWhRbUlkNVp4Zk4xZ1lqaFdL?= =?utf-8?B?ckFITE10STI2c2JOZDVsbDZndWp4TnRldU5tVHpwaVYwNXFOR0IzOUIzcTFy?= =?utf-8?B?Z2t6NWJOYXkydEg1VS9oZ1NteURpbzRHaXU4TTZ0Qm5RVEh1bm82SXNCY3Y1?= =?utf-8?B?aWpnMDg3VGZBUXNHZTVhUUFMMFV1ZEx6K1MyZVZlMW0xZWtZUGZuYTd1SW9i?= =?utf-8?B?VkZ5MlFSNUcvUHdKRjZXZU04bXZJU0F3L2ZWdGhoczVQbFNFR3E3N1dJSXVh?= =?utf-8?B?R0RXVHlCRHYxQjdmWjVReGNoWlNrd3l6TWMwV3RaZXRKNGVHcXc0Y2hGdTdn?= =?utf-8?B?dE5kYXZjUHJuTWZBRjZBT3k4a3dvUUNzbm1lZ0hJU1RtS2tlWWgyN2xWYzJV?= =?utf-8?B?a0dhM0NhOTNsMzJmVGxqRE9UeU93RWRDU0dMTjgwcG5HS2FWc2p4d1I5MXdi?= =?utf-8?B?UThadGpBMmx5N0hwMGdkWU1aa0tCbzlsT3FkZVFER0ZNckNtWW1FZ01ySXpT?= =?utf-8?B?MkJFMVQvcUVyNWFQOWhiM1VTWkVsWFBhcUkzdnl4WjQxbEhRaVRsR1JTeWp5?= =?utf-8?B?L010SWpPcEhSajltcW42YW54Y3JDdEd0NTlNZTA2QzJ5RzlzcU5PRU04S08x?= =?utf-8?B?eDhvKzU3Y1kzd21uZFN1RkR2Z2hUTHZZNGZYQ2crV2FFOWE2bWRYRHBJaTlx?= =?utf-8?B?YVdoUHQya3NSazNNV0tsbEwyWWZXdGN1bXpPQTNiVUxRM2tQYmE0N1l2Unlw?= =?utf-8?Q?G129+sM5frSxJN//K8Dq0PEAU4kTRGZtDiDNK9C?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nec.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY1PR01MB1852.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28d7f9b8-9865-4615-b680-08d90a269a3e X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2021 09:18:36.1632 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: e67df547-9d0d-4f4d-9161-51c6ed1f7d11 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: J1MyFzaT5j/oZmKpJteQnv8CayDZY0vWPPsVjB4XobKqXlNCaX6JutbRbcyb9MdhDlogM8MPo8Lrrr6qEAtu4A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY2PR01MB2377 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: A82DF80192F4 X-Stat-Signature: 63ukczn8fbxj5outume5a6cqkm1k8fbk Received-SPF: none (nec.com>: No applicable sender policy available) receiver=imf27; identity=mailfrom; envelope-from=""; helo=APC01-PU1-obe.outbound.protection.outlook.com; client-ip=40.107.132.85 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619601497-459439 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: T24gV2VkLCBBcHIgMjgsIDIwMjEgYXQgMTA6MjM6NDlBTSArMDIwMCwgT3NjYXIgU2FsdmFkb3Ig d3JvdGU6DQo+IE9uIFdlZCwgQXByIDI4LCAyMDIxIGF0IDA0OjQ2OjU0UE0gKzA5MDAsIE5hb3lh IEhvcmlndWNoaSB3cm90ZToNCj4gPiAtLS0NCj4gPiBGcm9tOiBOYW95YSBIb3JpZ3VjaGkgPG5h b3lhLmhvcmlndWNoaUBuZWMuY29tPg0KPiA+IERhdGU6IFdlZCwgMjggQXByIDIwMjEgMTU6NTU6 NDcgKzA5MDANCj4gPiBTdWJqZWN0OiBbUEFUQ0hdIG1tLGh3cG9pc29uOiBmaXggcmFjZSB3aXRo IGNvbXBvdW5kIHBhZ2UgYWxsb2NhdGlvbg0KPiA+IA0KPiA+IFdoZW4gaHVnZXRsYiBwYWdlIGZh dWx0ICh1bmRlciBvdmVyY29tbWl0aW5nIHNpdHVhdGlvbikgYW5kIG1lbW9yeV9mYWlsdXJlKCkN Cj4gPiByYWNlLCBWTV9CVUdfT05fUEFHRSgpIGlzIHRyaWdnZXJlZCBieSB0aGUgZm9sbG93aW5n IHJhY2U6DQo+ID4gDQo+ID4gICAgIENQVTA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1BV MToNCj4gPiANCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXRoZXJf c3VycGx1c19wYWdlcygpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwYWdlID0gYWxsb2Nfc3VycGx1c19odWdlX3BhZ2UoKQ0KPiA+ICAgICBtZW1vcnlfZmFpbHVy ZV9odWdldGxiKCkNCj4gPiAgICAgICBnZXRfaHdwb2lzb25fcGFnZShwYWdlKQ0KPiA+ICAgICAg ICAgX19nZXRfaHdwb2lzb25fcGFnZShwYWdlKQ0KPiA+ICAgICAgICAgICBnZXRfcGFnZV91bmxl c3NfemVybyhwYWdlKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg emVybyA9IHB1dF9wYWdlX3Rlc3R6ZXJvKHBhZ2UpDQo+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBWTV9CVUdfT05fUEFHRSghemVybywgcGFnZSkNCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVucXVldWVfaHVnZV9wYWdlKGgsIHBhZ2Up DQo+ID4gICAgICAgcHV0X3BhZ2UocGFnZSkNCj4gPiANCj4gPiBfX2dldF9od3BvaXNvbl9wYWdl KCkgb25seSBjaGVja3MgcGFnZSByZWZjb3VudCBiZWZvcmUgdGFraW5nIGFkZGl0aW9uYWwNCj4g PiBvbmUgZm9yIG1lbW9yeSBlcnJvciBoYW5kbGluZywgd2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0 aGVyZSdzIHRpbWUNCj4gPiB3aW5kb3dzIHdoZXJlIGNvbXBvdW5kIHBhZ2VzIGhhdmUgbm9uLXpl cm8gcmVmY291bnQgZHVyaW5nIGluaXRpYWxpemF0aW9uLg0KPiA+IA0KPiA+IFNvIG1ha2VzIF9f Z2V0X2h3cG9pc29uX3BhZ2UoKSBjaGVjayBtb3JlIHBhZ2Ugc3RhdHVzIGZvciBhIGZldyB0eXBl cw0KPiA+IG9mIGNvbXBvdW5kIHBhZ2VzLiBQYWdlU2xhYigpIGNoZWNrIGlzIGFkZGVkIGJlY2F1 c2Ugb3RoZXJ3aXNlDQo+ID4gIm5vbiBhbm9ueW1vdXMgdGhwIiBwYXRoIGlzIHdyb25nbHkgY2hv c2VuIGZvciBzbGFiIHBhZ2VzLg0KPiANCj4gV2FzIGl0IHdyb25nbHkgY2hvc2VuIGV2ZW4gYmVm b3JlPyBJZiBzbywgbWF5YmUgYSBGaXggdGFnIGlzIHdhcnJhbnRlZC4NCg0KT0ssIEknbGwgY2hl Y2sgd2hlbiB0aGlzIHdhcyBpbnRyb2R1Y2VkLg0KDQo+IA0KPiA+IA0KPiA+IFNpZ25lZC1vZmYt Ynk6IE5hb3lhIEhvcmlndWNoaSA8bmFveWEuaG9yaWd1Y2hpQG5lYy5jb20+DQo+ID4gUmVwb3J0 ZWQtYnk6IE11Y2h1biBTb25nIDxzb25nbXVjaHVuQGJ5dGVkYW5jZS5jb20+DQo+ID4gLS0tDQo+ ID4gIG1tL21lbW9yeS1mYWlsdXJlLmMgfCA0OCArKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyks IDIxIGRlbGV0aW9ucygtKQ0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9tbS9tZW1vcnktZmFpbHVy ZS5jIGIvbW0vbWVtb3J5LWZhaWx1cmUuYw0KPiA+IGluZGV4IGEzNjU5NjE5ZDI5My4uNjE5ODhl MzMyNzEyIDEwMDY0NA0KPiA+IC0tLSBhL21tL21lbW9yeS1mYWlsdXJlLmMNCj4gPiArKysgYi9t bS9tZW1vcnktZmFpbHVyZS5jDQo+ID4gQEAgLTEwOTUsMzAgKzEwOTUsMzYgQEAgc3RhdGljIGlu dCBfX2dldF9od3BvaXNvbl9wYWdlKHN0cnVjdCBwYWdlICpwYWdlKQ0KPiANCj4gPiArCWlmIChQ YWdlQ29tcG91bmQocGFnZSkpIHsNCj4gPiArCQlpZiAoUGFnZVNsYWIocGFnZSkpIHsNCj4gPiAr CQkJcmV0dXJuIGdldF9wYWdlX3VubGVzc196ZXJvKHBhZ2UpOw0KPiA+ICsJCX0gZWxzZSBpZiAo UGFnZUh1Z2UoaGVhZCkpIHsNCj4gPiArCQkJaWYgKEhQYWdlRnJlZWQoaGVhZCkgfHwgSFBhZ2VN aWdyYXRhYmxlKGhlYWQpKQ0KPiA+ICsJCQkJcmV0dXJuIGdldF9wYWdlX3VubGVzc196ZXJvKGhl YWQpOw0KPiANCj4gVGhlcmUgd2VyZSBjb25jZXJucyByYWlzZWQgd3J0LiBtZW1vcnktZmFpbHVy ZSBzaG91bGQgbm90IGJlIGZpZGRsaW5nIHdpdGggcGFnZSdzDQo+IHJlZmNvdW50IHdpdGhvdXQg aG9sZGluZyBhIGh1Z2V0bGIgbG9jay4NCj4gU28sIGlmIHdlIHJlYWxseSB3YW50IHRvIG1ha2Ug dGhpcyBtb3JlIHN0YWJsZSwgd2UgbWlnaHQgd2FudCB0byBob2xkIHRoZSBsb2NrDQo+IGhlcmUu DQo+IA0KPiBUaGUgY2xlYXJpbmcgYW5kIHNldHRpbmcgb2YgSFBhZ2VGcmVlZCBoYXBwZW5zIHVu ZGVyIHRoZSBsb2NrLCBhbmQgZm9yIEhQYWdlTWlncmF0YWJsZQ0KPiB0aGF0IGlzIGFsc28gdHJ1 ZSBmb3IgdGhlIGNsZWFyaW5nIHBhcnQsIHNvIEkgdGhpbmsgaXQgd291bGQgYmUgbW9yZSBzYW5l IHRvIGRvDQo+IHRoaXMgdW5kZXIgdGhlIGxvY2sgdG8gY2xvc2UgYW55IHBvc3NpYmxlIHJhY2Uu DQo+IA0KPiBEb2VzIGl0IG1ha2Ugc2Vuc2U/DQoNClRoYW5rcywgSSdsbCB1cGRhdGUgdG8gZG8g dGhlIGNoZWNrIHVuZGVyIGh1Z2V0bGJfbG9jay4NCg0KLSBOYW95YSBIb3JpZ3VjaGk=