Received: by 2002:a05:6358:bb9e:b0:b9:5105:a5b4 with SMTP id df30csp2684021rwb; Sun, 4 Sep 2022 22:44:07 -0700 (PDT) X-Google-Smtp-Source: AA6agR6H0Q5xU22hRqVatq3hf3sOnyOXN7UALk+xwjwx38rqfSPUHgqosF+sZPJu6p/5FYC92aux X-Received: by 2002:a17:906:cc0e:b0:73d:d898:3900 with SMTP id ml14-20020a170906cc0e00b0073dd8983900mr32868374ejb.82.1662356647421; Sun, 04 Sep 2022 22:44:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1662356647; cv=pass; d=google.com; s=arc-20160816; b=V1DyZDbQPL3p68H9qbKnwcfyPODAl4NTdfNdr1s+KjU0/6rQwLoJO7s2UUTJ6+90VY Fjf4S9iE66H8zIxe2YGRrwsGS3qlKtbPTsvmPKSqks6R3AmEx0YBbyshTB1ctCQeDH3C GlWQ83NGQX5qtVOdUVOlBDZk9Nv7ksIe/9oVEJZGEjnW2fOCZ5aYPw8Wnv+OjDgnM+TQ 1isJLStuULPo7rPDxgi5KMlC8DRDqV6jhFMIJ6WXx9or9dhaHLcQnmOgs5j9o22b9i/J g7NAnFYVSKdIPsT/d0VfhXsyAD2ODCZPt9gjmHSN83jy8VxUMpHnWCba35ozZYiqnYM0 m6ew== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=umEHYjPKchbC93llWvVHw7cpyQe7FsCdxjzIuSslmsw=; b=nrQlQyrFXH3QhYYEgDOsCsa6THH0P0oVLgE3d7OEoUQL/448mh9VASCwbRDJLQdbOn zZSbaOzFe9e8DW9Jet+N0dmaV4VwqcGmLMZfYUe356WqoMgB1bKNeKIkL+iQPQFRHKqa cJiEe1Kzb43DD9oMOUiQoQWHimRO8DNGQqk4R9ZZCQJ5yq6D3c/TQF4JcIZjglJUYch5 gM2/fjfpLPzH7NgmBut5JK1S1z2Fb6RTTtLvQ3qyKXlcxYjuQ1fZGK5CEMqUC/5i7kza O9gXMfX0aH19XpiJEl9w3qB4guw4HJoLcAIC4UubNRjUAXW/n86Lp57ot+sxDSQc07c2 HIqg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nec.com header.s=selector1 header.b="kwF9tzO/"; arc=pass (i=1 spf=pass spfdomain=nec.com dkim=pass dkdomain=nec.com dmarc=pass fromdomain=nec.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nec.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hd37-20020a17090796a500b00741a0a6d706si8013938ejc.273.2022.09.04.22.43.42; Sun, 04 Sep 2022 22:44:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@nec.com header.s=selector1 header.b="kwF9tzO/"; arc=pass (i=1 spf=pass spfdomain=nec.com dkim=pass dkdomain=nec.com dmarc=pass fromdomain=nec.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nec.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235489AbiIEFWu (ORCPT + 99 others); Mon, 5 Sep 2022 01:22:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37494 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229994AbiIEFWt (ORCPT ); Mon, 5 Sep 2022 01:22:49 -0400 Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01on2073.outbound.protection.outlook.com [40.107.114.73]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 20B5A20BF7 for ; Sun, 4 Sep 2022 22:22:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R5Xd9E7xhK/Ruq0PtkmNT9NmLn4DdIyS/YETaNur3jxg6s92YHXiOrTWeg40idHmJAaxJzYs71nI/bZNN62roU/olz59Yum2WT84CMcg5GZNZRiGPPoLRatLbg5z39eGcSQOD0xFBiBhi48uKE1qsUWYKpe6ZEplxlE7f5wtzADyBI6U/OzqwCHhZHCFjqPAIHO/bZ8JrnYuc1rsWgYsM+Jd00OP/cF3nKzCiq/d7PCsodxCcVHDTwZ2sEoDQkKnBu/fTWds8Ih65JJ/OfdRC16ysXFGl0a81Kv5e1kz74wbM91pHKftX1dwVjuAKxGjcq+U9etiAHzz8b2XbGgcLQ== 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=umEHYjPKchbC93llWvVHw7cpyQe7FsCdxjzIuSslmsw=; b=ORYBrrQbiwa1AWMEbv9M90BX3Sfiny1LTrDKzZE2vUz0ivC/d93mELKD0J6vQcGgTyGcE+ev5JxgIx62JggAzcjCzsrRZfmnfIXfmUD5zv10vmxiGOFHiJJef8s1tYiBRR0MKZ5kaZSXOM4DJZOMMvbbohZ5H/S3TlBIjlwdlotKaQGB6P350MdYSPxb/GjQCdHFhRo08D9supVQXONx0MeRIj5J+kRn6idlQ2OoFPGn9ujrVk9LI+bNjxwmanH9nkZQd6rPuixfdhti1BPaTydwMyMao1H6xI7VnmyTruB8/MH5PuVLqJuCUDMuAWiqEryThYs8oj0fCh6fkqM+JA== 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=umEHYjPKchbC93llWvVHw7cpyQe7FsCdxjzIuSslmsw=; b=kwF9tzO/Z5eD600L8ItSIbAxXu8TsLERv6GhYB8dovvjcjkIR2mStGeouSh5yr41MgdEzIUykSMf0BECbEEJigIgYFSzZAGVDZ8uZmKgSl4Ww/PxN9Fu8vHs6zcVjcMzQ2Dx7gl2lIgubw5238x0s9XD3C/sKY0pRqBRUp/ItTo= Received: from TYWPR01MB8591.jpnprd01.prod.outlook.com (2603:1096:400:13c::10) by TYCPR01MB8279.jpnprd01.prod.outlook.com (2603:1096:400:15b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.12; Mon, 5 Sep 2022 05:22:46 +0000 Received: from TYWPR01MB8591.jpnprd01.prod.outlook.com ([fe80::442c:db3a:80:287a]) by TYWPR01MB8591.jpnprd01.prod.outlook.com ([fe80::442c:db3a:80:287a%6]) with mapi id 15.20.5588.011; Mon, 5 Sep 2022 05:22:45 +0000 From: =?utf-8?B?SE9SSUdVQ0hJIE5BT1lBKOWggOWPo+OAgOebtOS5nyk=?= To: Miaohe Lin CC: "akpm@linux-foundation.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH 2/6] mm, hwpoison: use __PageMovable() to detect non-lru movable pages Thread-Topic: [PATCH 2/6] mm, hwpoison: use __PageMovable() to detect non-lru movable pages Thread-Index: AQHYvG0tDdoAExJA9UaLkJKIiB3aRq3QVjKA Date: Mon, 5 Sep 2022 05:22:45 +0000 Message-ID: <20220905052243.GA1355682@hori.linux.bs1.fc.nec.co.jp> References: <20220830123604.25763-1-linmiaohe@huawei.com> <20220830123604.25763-3-linmiaohe@huawei.com> In-Reply-To: <20220830123604.25763-3-linmiaohe@huawei.com> Accept-Language: ja-JP, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nec.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 192cf986-8a96-42f5-d377-08da8efeaa73 x-ms-traffictypediagnostic: TYCPR01MB8279:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7tyfrPN/fxyXUoX/VECpKDfcsySFdit8TZWqTwqfpl1CaEFm3KnTDrcAwRX9HZNf1C8nhLIH/vFotU2DlvETtXk6vxDoBv2yaPHKrmhlNlI7hh/azs5iXICWJJUB2/99s8cMeGIhiMMYW+ilXAnpq/RZTMcH842fkqpYEGGCj16x4yw8V/gCW6pqSSFxKtWDbpdOYS/Nec7Ay7EQxUjIRUJ46ZRtNJUAB0LLXuNo0hzxzQBwESQD9ekCPP0BLj3KuZvpDmNIGQyu5Yl0LTSaPguVlRL/g9/FS4CZtD0mRrJKUWB166+vWdFO34OJpJD+IEApnsMUmMfehuHXbn18NotgX4AcclWZ3TBUkmoXnPmGv/p8vV8MROqXDk3U0nyiRf+0UD6jUbKdv2NbJFEuuyhwZbsPzijI+ZtaxIJjXFsthDaSe+mv6SZb1tsWcLYmRMHIXBzo70BKUsU7FpR3RPEPIY1eeiQWx+XanxMnpeK13d+cdn5nakR7LIdmkgvnaydZ1H07PxwP9onLpZS2YSVDFcVVLNm00VRsRPJuFrCjdJHR5FNjwsw63wL3cHDHqYEgr7UvV6aCESsfdp8ZITQmRmtjydEduS1WGvO2aXIFqpiOuf/JkMCtRIawaKK0RRWYFgDSeLNKenJwSxyQ0zabv/UlDBPGG4CHfIqGY3T1+gjWXhGssPLyyC8u9yMqsYziei12TvqDsZVMAVIjZsTFVWcJ9y2JHynD5I3bHga5D5fdGnsFQHuEVc/1Ipi4PRNXsJ5K9oN/bDJg9gZvag== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWPR01MB8591.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(39860400002)(366004)(376002)(346002)(8936002)(478600001)(71200400001)(316002)(6486002)(2906002)(5660300002)(55236004)(4326008)(26005)(6512007)(6506007)(66946007)(9686003)(66476007)(76116006)(66556008)(66446008)(41300700001)(33656002)(8676002)(64756008)(83380400001)(1076003)(54906003)(82960400001)(85182001)(6916009)(122000001)(38100700002)(86362001)(186003)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R0ROV1cxZ1VXRW1VRS9BcDJTQnZXTkJKTmZQU213R004NDUvbXd5VG1WMEQ1?= =?utf-8?B?VHkxcDRJUU9JNEEwSE1xeTdXM1RvWTBTWUVTUUJvVnF0TGtqREY1QWhpVkNj?= =?utf-8?B?aDIxdExrZmxXRnRKRERUT0w3ZG9jVHVnVHhqNlpmRHh4SjlYc29UdlBadUdU?= =?utf-8?B?eW5KOWpibVcwNzBTMHZmUUJrcFp2S1lxVkhob05tVUovNkFhZk81cEZUWS9o?= =?utf-8?B?UGI2bU80cllWSCtIeVg3SXQydy9PdHZIdWdTMkFQczdkOGcwYVcwSFdtdzhp?= =?utf-8?B?ZHRtWVgxNGRDQzY0eW9CY1VMUmZTY0xuU0tGZHVEcEIxWmVURUZvaHloMEhl?= =?utf-8?B?WHhsLzZKOVROSG00aWt4MGpmZnVvQXJSU3dIYkYxcWxuWlhmTm0xNEl2eHBr?= =?utf-8?B?bi92eEwyd3l3c202QklET1MyL0ZVclVzaDdSL08wTFNXYUhzRDJkV0FHK1g1?= =?utf-8?B?c2pIK2tZR2pFSmZQeXBoVkUvRDRYMkdydnZ2cGdZZUxiS2ZUN1I4SGhoR2ZI?= =?utf-8?B?TTdHYTByN3B5cThuajFFNjVqZjBsT1FRNmQxUE5UcVVYY1ZWY3REOWpoSXNo?= =?utf-8?B?UDJQZkdIQXBRLzhkSGdJUllmWlVHUDVXRnFKQ0d1Nml5NDZ3MTBLc0F1ZVY1?= =?utf-8?B?Zm5HYml1WFh1c3M2NWNaUHBVT0hJNDVSWnNrTlZCZ0ZTaUFFWFV3WFZWeHhy?= =?utf-8?B?d0hmMkUxd21FQWczbTdML1hVYVlJYURuckFodmVvNGlWNFdUSkxYbldtRE91?= =?utf-8?B?RmlGbkFRVHExSlU4UFJTZDdoY3kyUHZRQ0lmZEpEQlpKQkpSSHcvbURXSnFw?= =?utf-8?B?YW05VnZZUXB2bmtNNmQxUUhUZXQwWnRUM3lueEdzRGpZckUwWkxtcWU3RHhJ?= =?utf-8?B?QjJZT3RXTTE5WDdZeGtkODltcTQ0UVlJUEI2aWdXaTZlVjljS0tBTURvVHU0?= =?utf-8?B?N0VtSGsxczkwd3pMVFFWUHh3UVdHSTVZSk11cmlEMVpQd212cm4zR1hTWjBR?= =?utf-8?B?dTZJU3pMY1lPQ3Q3UU5Nc1Ryc2hzQ1JCUjRQL3hLNGxrdnBwTWREYXRRbWJF?= =?utf-8?B?VS9OYitXbHZuRjQ1d3FFYUJ6MXhWcGdpVi9XTlpGQmNteVROZTFjbDRuTmhQ?= =?utf-8?B?U0ZFZ29PY2I5c1JPY1p1NjlVUnRHSnhOMXNIK3JKVDY4R3RrRFhHbkVpTGhX?= =?utf-8?B?WmtFNWdnamx3TDJBU0JzbGZxb2dCR0taSVBsWlVVWWVKWXo5VHVUUzFJVEFw?= =?utf-8?B?YWdYeDl2NEtBcnBKOWh2L0lIWDEwTlpkNjI1RHJ5ZFcwRGtZS2twTlEyV1Bw?= =?utf-8?B?MXhIcDVqU2lsSmp3TDR3MEhlNTFZeDQxU1VmUHd0TWhuVldORWF0WDhONTBj?= =?utf-8?B?MUFNbm01WmxGMzdGcTYwV0RDcU05c0RpOUQ0ckFyajZPbGxFUXRSd3U0cy9T?= =?utf-8?B?SUh1YVJtWWN0UitYdERvaFZOZldlVG9mck5zNkN5ZWZXQ2tBTTM4czhwZS8x?= =?utf-8?B?eEhoZGd0Mk5meU5DREM3dnhkb1ZKWEZaRi81blJlRUF1bFRGc3U3dVVmWThH?= =?utf-8?B?Um5UTlB0Q2FuckIwaDhzSFNxU2VXOC9yc1BOdTlUMWF0Z3Z0cGc0b1VCTE0x?= =?utf-8?B?UUVyNE9henBCdmRUSHJxNHdYOVRhbCsvVkErejR1cS8vL2VwT3BNRmxvaFhq?= =?utf-8?B?MXNxMncvWTVSZGhKNnZCbTBaYzlMWCttWk9uR1lTbFVPTmo4NktWeDU2UUNw?= =?utf-8?B?WUNWdWVEMGVldlVqb1ZJM1NGWDd5bVhndWZHNFBCQVUzcTFWZEVVSHJ2cmIy?= =?utf-8?B?eXdVL0xpalJzTldiNmYxaXErV0kxZDJNYVl3SmMyL0FJaXRySEwvL3RzekVk?= =?utf-8?B?QlhnS0ZLTzlrR0tyQmxDa3FxMlpLQVJOekhiZmtrOGY0WkdrUDkyVU1Ha09m?= =?utf-8?B?M3RyeURpRGxUODc1cVl5VGtreXFDVEhOMTNodERSZFAyZk9nY1RZQUJRRXF4?= =?utf-8?B?N05WN0VLbDdpb3dIWWNxaUVtakZNMjJ3NVhGSVhnUURiYTdOSWd3VjZpUElx?= =?utf-8?B?aldCaHRaMVMwQXBKdHJtVXpIMVRDWGZHVDNWeUJZMENGelpqdG9lSGZrcEV0?= =?utf-8?B?YnZqSHdWdzRDZFFJcFRaSzc4S3I0V2hRcXh1UTZ6cHJzdTRNRDBtZWFvaW55?= =?utf-8?B?ZFE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <724622164728554EBDE2CA199ADA93C0@jpnprd01.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nec.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYWPR01MB8591.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 192cf986-8a96-42f5-d377-08da8efeaa73 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Sep 2022 05:22:45.8745 (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: JdKiNLZj7uuxKWZWKY6tBYRCDfMPlM/DP/8HLonU/Q6hvAZJdf5AkgQXt0stre7OfL0tj6bAEPVROw+PidzcUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB8279 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgTWlhb2hlLA0KDQpPbiBUdWUsIEF1ZyAzMCwgMjAyMiBhdCAwODozNjowMFBNICswODAwLCBN aWFvaGUgTGluIHdyb3RlOg0KPiBJdCdzIG1vcmUgcmVjb21tZW5kZWQgdG8gdXNlIF9fUGFnZU1v dmFibGUoKSB0byBkZXRlY3Qgbm9uLWxydSBtb3ZhYmxlDQo+IHBhZ2VzLiBXZSBjYW4gYXZvaWQg YnVtcGluZyBwYWdlIHJlZmNudCB2aWEgaXNvbGF0ZV9tb3ZhYmxlX3BhZ2UoKSBmb3INCj4gdGhl IGlzb2xhdGVkIGxydSBwYWdlcy4gQWxzbyBpZiBwYWdlcyBiZWNvbWUgUGFnZUxSVSBqdXN0IGFm dGVyIHRoZXkncmUNCj4gY2hlY2tlZCBidXQgYmVmb3JlIHRyeWluZyB0byBpc29sYXRlIHRoZW0s IGlzb2xhdGVfbHJ1X3BhZ2UoKSB3aWxsIGJlDQo+IGNhbGxlZCB0byBkbyB0aGUgcmlnaHQgd29y ay4NCg0KR29vZCBwb2ludCwgbm9uLWxydSBtb3ZhYmxlIHBhZ2UgaXMgY3VycmVudGx5IGhhbmRs ZWQgYnkgaXNvbGF0ZV9scnVfcGFnZSgpLA0Kd2hpY2ggYWx3YXlzIGZhaWxzLiAgVGhpcyBtZWFu cyB0aGF0IHdlIGxvc3QgdGhlIGNoYW5jZSBvZiBzb2Z0LW9mZmxpbmluZw0KZm9yIGFueSBub24t bHJ1IG1vdmFibGUgcGFnZS4gIFNvIHRoaXMgcGF0Y2ggaW1wcm92ZXMgdGhlIHNpdHVhdGlvbi4N Cg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWlhb2hlIExpbiA8bGlubWlhb2hlQGh1YXdlaS5jb20+ DQo+IC0tLQ0KPiAgbW0vbWVtb3J5LWZhaWx1cmUuYyB8IDIgKy0NCj4gIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL21tL21l bW9yeS1mYWlsdXJlLmMgYi9tbS9tZW1vcnktZmFpbHVyZS5jDQo+IGluZGV4IGE5MjNhNmRkZTg3 MS4uMzk2NmZhNmFiZTAzIDEwMDY0NA0KPiAtLS0gYS9tbS9tZW1vcnktZmFpbHVyZS5jDQo+ICsr KyBiL21tL21lbW9yeS1mYWlsdXJlLmMNCj4gQEAgLTI0MDQsNyArMjQwNCw3IEBAIEVYUE9SVF9T WU1CT0wodW5wb2lzb25fbWVtb3J5KTsNCj4gIHN0YXRpYyBib29sIGlzb2xhdGVfcGFnZShzdHJ1 Y3QgcGFnZSAqcGFnZSwgc3RydWN0IGxpc3RfaGVhZCAqcGFnZWxpc3QpDQo+ICB7DQo+ICAJYm9v bCBpc29sYXRlZCA9IGZhbHNlOw0KPiAtCWJvb2wgbHJ1ID0gUGFnZUxSVShwYWdlKTsNCj4gKwli b29sIGxydSA9ICFfX1BhZ2VNb3ZhYmxlKHBhZ2UpOw0KDQpJdCBzZWVtcyB0aGF0IFBBR0VfTUFQ UElOR19NT1ZBQkxFIGlzIG5vdCBzZXQgZm9yIGh1Z2V0bGIgcGFnZXMsIHNvDQpscnUgYmVjb21l cyB0cnVlIGZvciB0aGVtLiAgVGhlbiwgaWYgaXNvbGF0ZV9odWdldGxiKCkgc3VjY2VlZHMsDQpp bmNfbm9kZV9wYWdlX3N0YXRlKCkgaXMgY2FsbGVkIGZvciBodWdldGxiIHBhZ2VzLCBtYXliZSB0 aGF0J3Mgbm90IGV4cGVjdGVkLg0KDQo+ICANCj4gIAlpZiAoUGFnZUh1Z2UocGFnZSkpIHsNCj4g IAkJaXNvbGF0ZWQgPSAhaXNvbGF0ZV9odWdldGxiKHBhZ2UsIHBhZ2VsaXN0KTsNCiAgICAgICAg fSBlbHNlIHsNCiAgICAgICAgICAgICAgICBpZiAobHJ1KQ0KICAgICAgICAgICAgICAgICAgICAg ICAgaXNvbGF0ZWQgPSAhaXNvbGF0ZV9scnVfcGFnZShwYWdlKTsNCiAgICAgICAgICAgICAgICBl bHNlDQogICAgICAgICAgICAgICAgICAgICAgICBpc29sYXRlZCA9ICFpc29sYXRlX21vdmFibGVf cGFnZShwYWdlLCBJU09MQVRFX1VORVZJQ1RBQkxFKTsNCg0KICAgICAgICAgICAgICAgIGlmIChp c29sYXRlZCkNCiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RfYWRkKCZwYWdlLT5scnUsIHBh Z2VsaXN0KTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChpc29sYXRlZCAmJiBscnUpDQogICAg ICAgICAgICAgICAgaW5jX25vZGVfcGFnZV9zdGF0ZShwYWdlLCBOUl9JU09MQVRFRF9BTk9OICsN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VfaXNfZmlsZV9scnUocGFn ZSkpOw0KDQpzbywgaG93IGFib3V0IG1vdmluZyB0aGlzIGlmIGJsb2NrIGludG8gdGhlIGFib3Zl IGVsc2UgYmxvY2s/DQpUaGVuLCB0aGUgYXV0b21hdGljIHZhcmlhYmxlIGxydSBjYW4gYmUgbW92 ZWQgaW50byB0aGUgZWxzZSBibG9jay4NCg0KVGhhbmtzLA0KTmFveWEgSG9yaWd1Y2hp