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 B49F4CF9C6B for ; Tue, 24 Sep 2024 23:02:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3D1816B0088; Tue, 24 Sep 2024 19:02:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3810B6B00A2; Tue, 24 Sep 2024 19:02:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 15EBE6B00A4; Tue, 24 Sep 2024 19:02:21 -0400 (EDT) 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 E12956B0088 for ; Tue, 24 Sep 2024 19:02:20 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 67A358057C for ; Tue, 24 Sep 2024 23:02:20 +0000 (UTC) X-FDA: 82601157240.07.5EEC538 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by imf13.hostedemail.com (Postfix) with ESMTP id 8586F20006 for ; Tue, 24 Sep 2024 23:02:16 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Ex01SLlM; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf13.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727218818; 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:dkim-signature; bh=J5ks49Ugpz2y4DntIW5wHztVVBhx1uXCMf0epWfR8BY=; b=H9nthxLwkOOh7P6UnUTKZxLdbXoMeOK8B/nCaCd367LWtOQ02YgHE5WpO2OLTUGbCYmwK4 hopXyqsKYjHy9uz1xSDAgKajzIav/ysjEllFyTzRf6u3x0llnnER7AAf/JB6IZuVQJLUsi ekuKeYr4uOHSUIJBXnIMIZev01iLo38= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1727218818; a=rsa-sha256; cv=pass; b=HdCvftkBfcKbG+mzrBqaBkWHdrfCFk1SQ8G4frAphvyUYRGi7+UI2u7YvdWNdhBS7mPupz nXwPHWaRYT6k9WQR9Px4p0R/S+Ihm7qn+vRe9r4Ja4E/dv7bzbqjq4R+HJ0L9OkoXtw3U4 3bpRHlYcXIGJ8Dj76smHTmtJR7rY7U0= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Ex01SLlM; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf13.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1727218937; x=1758754937; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=J5ks49Ugpz2y4DntIW5wHztVVBhx1uXCMf0epWfR8BY=; b=Ex01SLlMe4X0nDgRhefzM3S93lKPi8iX8FlENz4jb8k/xGibGneDI2OV 2t7XxeJtOqxUMfu99dGtkW4WFYjM6pnMJ2UmPL/LiIuPWmInNr1/utHJR voZNFG2xIwnnxM06rMn1bjhLY3JUZKj2pClH80/oSEm14XhhM9EsgsvIE demhap1aHEpWnJv3oEL/nA0y85NfzgCOIXbB1A3hJhSiFeVpxzR1xJQhl ZCz1GPuDVVQ2ULsNWOwCaRwJT6mdz1ZuI6RsGYsvPR3O70UhHMzl6fuj7 ra2DlN6OMEuJ9a8guLWXZRtgOXhOtkK4LOPNMWTxNbkgW9V7OZe67XKHm Q==; X-CSE-ConnectionGUID: CwCwNsdyQYKjL0HxI6xL6Q== X-CSE-MsgGUID: b9f4/SUeStu851MD3wDfww== X-IronPort-AV: E=McAfee;i="6700,10204,11205"; a="29131612" X-IronPort-AV: E=Sophos;i="6.10,255,1719903600"; d="scan'208";a="29131612" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Sep 2024 16:02:13 -0700 X-CSE-ConnectionGUID: oKNXt1JYTTatpNmucHAPyA== X-CSE-MsgGUID: eWsSLaESTOqYVVe7v6Mmdw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,255,1719903600"; d="scan'208";a="71191194" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmviesa006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 24 Sep 2024 16:02:13 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep 2024 16:02:11 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 24 Sep 2024 16:02:11 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 24 Sep 2024 16:02:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n9gMVj0U74h3JSWIDEH1YGbdqgBdLlz3fJvtrPsrNv1AJOFIikhA+yskXFnHboxnjeMu6b9tE291hrsCOW010Hg+uRS4wRFjZvrENbuncwTwytZHCvxczCek+vh+u6//WK2oCvxu1TAN0x65qrBBNo+tbFfNk6WqQWdxwiMuaCVeaxPHzf0BZLTUpuG3Xt/wV+qdqmtPHsAj07n1XAkTHCGC3KlmnyKv0vKG36Mw3Kw6azCEMbl2oberJB//PAhMiBC+YQzE5YqSDH3tpvq4b0mNrVU9RQQETmC8Fwb7vY5pX94rpGNL06+9Nm1PG4GPSfiQfpPpaWP9wrxlGDLzog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=J5ks49Ugpz2y4DntIW5wHztVVBhx1uXCMf0epWfR8BY=; b=fRXe9l+aVZuy/xdyRNSe1FVSCVAsLn7M7ignzmphfUJlgXOyXnetFFqTHdABVpLs3BFRZnuUVE2pgCJ7mfjRfmhi9CNAjlJZd68Yx0eq6lL4oRRgg1mJAZx8BGsn1LqE7x6LTuZSjXHiwvIrZiJs+/7MUOoMe5cuaft3IM4sa3Qkqb+PDnNncGF0BsXyAjlkqS+Sjb0+/OZmvXyb9FCWOuUYZ/RMPVMYAxKdAUDSZ7164C2cIBHTtmE4WyEyiDJhYK6T696ix64H7eAeokrCVnBFM8Vrsw4z9+jvx3wSaLoAp2zF82kRMSfF7MwVitAbF6FL9SuVf+OKqkFYCv4viQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SJ0PR11MB5678.namprd11.prod.outlook.com (2603:10b6:a03:3b8::22) by DM4PR11MB8226.namprd11.prod.outlook.com (2603:10b6:8:182::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Tue, 24 Sep 2024 23:02:08 +0000 Received: from SJ0PR11MB5678.namprd11.prod.outlook.com ([fe80::812:6f53:13d:609c]) by SJ0PR11MB5678.namprd11.prod.outlook.com ([fe80::812:6f53:13d:609c%4]) with mapi id 15.20.7982.022; Tue, 24 Sep 2024 23:02:06 +0000 From: "Sridhar, Kanchana P" To: Yosry Ahmed CC: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "hannes@cmpxchg.org" , "nphamcs@gmail.com" , "chengming.zhou@linux.dev" , "usamaarif642@gmail.com" , "shakeel.butt@linux.dev" , "ryan.roberts@arm.com" , "Huang, Ying" , "21cnbao@gmail.com" <21cnbao@gmail.com>, "akpm@linux-foundation.org" , "Zou, Nanhai" , "Feghali, Wajdi K" , "Gopal, Vinodh" , "Sridhar, Kanchana P" Subject: RE: [PATCH v7 6/8] mm: zswap: Support mTHP swapout in zswap_store(). Thread-Topic: [PATCH v7 6/8] mm: zswap: Support mTHP swapout in zswap_store(). Thread-Index: AQHbDh+C+ZYgIzdq4EuvViy0xt7aPLJnVm0AgAA12AA= Date: Tue, 24 Sep 2024 23:02:06 +0000 Message-ID: References: <20240924011709.7037-1-kanchana.p.sridhar@intel.com> <20240924011709.7037-7-kanchana.p.sridhar@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR11MB5678:EE_|DM4PR11MB8226:EE_ x-ms-office365-filtering-correlation-id: 96f358e2-ebf2-4b5e-3d32-08dcdcece93b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?eFpXR1JiOVpmZ1BFS3lwUnBWdmd2ajF3RlJJUS9DWmhhVHBFMkdMdEpiQmcr?= =?utf-8?B?VWpiNWJrUWd3dmU2b1FWR0ZJalNuTnl2ZVhJL0J4WDZwb0s0TSsxYUtEL3Za?= =?utf-8?B?SitpR1VHTkxaOFVEQStwaGJid3JpVXlWbE1WNU11TlNZbVprcS82ZGw1bHZ1?= =?utf-8?B?QlE5K01WRmNKVW5RdnVEQ3hDYTV3Tmo1RkpuaGtyK0VRNk1LUlZsRWdHRDNY?= =?utf-8?B?ZjFQaGxkTjg2NUZORHNlNC9Kc0djSUhBU005K0dVTWxuZlkxZ0QzcVFEU1k1?= =?utf-8?B?cHJkako2NjM4c1RRVDN4WDNsTDQ1eVFzZElGcnJIc1g2REdQT1N0djdod21o?= =?utf-8?B?TkRvZ1pTODF1bTcvN2xNelRhcE1sMFB6RlZmaWpEeG12dDg2TDBzdGMxSlpS?= =?utf-8?B?UlVQRUNLSkx1L05YZ3BmaVlBclRTVzdRdjNHN1RHRTFibFFKdE1hOURFMHRF?= =?utf-8?B?MlY3L1ZMaXJjVUNDSUdLeEpCSy9OdlFFanFtdlgrMmx6Z05BZWhGa3FFVUgz?= =?utf-8?B?VGlaT2p5Ni9LNGNINUJDdS9odUo2Q2F0TmxZT1NhZkFJLzcvd2trR1ByQUEw?= =?utf-8?B?MVZiOXQ4MEF6ci9QdGdIb1lxcnhYK0R3T1lBYTlpNWhIdGh0N0JkekRCNHlM?= =?utf-8?B?a2VQUGFNTDQyZE9OcDVVakN3S0dnSE5CTHUrcHlGVzF5UmtuZmNkamxiVUxF?= =?utf-8?B?R0ZoVW1vWkFDeHRYdktKR0FEWFQvNzZtcU9aSm5MUzJ1N2ZzMDBLWEEzbXBv?= =?utf-8?B?Q0x2U0hVcDFCMElxYXpVeXNhYm54SVo3eG4wSE5EdlpjR0RQWlFQcG42dUo0?= =?utf-8?B?TG1TNlJ2bERYbzM5U01nSytTRkl0OXBCT3lYRFNJUWo0M21WRWI4N283STVL?= =?utf-8?B?cDNOK0tjRjlCYnkvb3Aya3Q0ZEVaVzdhQjdRKzBWcGdDVnV3amhoL2xRcmhw?= =?utf-8?B?UFdqQlZIaXlrYUhSdTQ5QWw1NHRGZDArelloOHV4Uk5sUFBXb3VTeldRdHZ5?= =?utf-8?B?clNBQ3lHakN3MGc1dmdxSkxLWEJ4MG1RKzNjSFR3eHNBbGtrZHIxaGFxOWl4?= =?utf-8?B?NFlPL01maFpoQWoyaDA4a0tPc2UwVGtwRzVoOE9Pb0Z0OTB5ekJyOG50S1RT?= =?utf-8?B?M0t6M1YvRGFZTE5LKzEwU1ZzSGx0UUl1d0pEU1hmRDZpeTRuQUROcTF2MFpB?= =?utf-8?B?emUxeVF1QjllNVV3aWJXZHFwR1JuZVZGd1E3UmNuL2dTSlRORUFPUVFCMUtx?= =?utf-8?B?MFZFRnlZL3dubE5HK1h4Q2twRWNmTEN0SVVWNHhSd2YzTjFFVDJnRnp0Wmt0?= =?utf-8?B?SCtmd010eTRZYjdNT1VRSDhnUjBtbDNyS3Fod0tFakRMYkx3K082Q1ltc2ov?= =?utf-8?B?SHZ5YlNjaThVS3dNVzNpMm1DaEtWZTNXUHQ1TEJrU1lVSTZOUG9JNnR4SHJ4?= =?utf-8?B?NHFIMitGRWU2MnRQYmVuU29yalcwTnJlZmh4L2ViY0Izc1lia0kzOElOLzdO?= =?utf-8?B?WG4zajUxd3VyODlYZHk2S0xCQ01CeFdUbFEwSHhRazhlcXhrb3BFd01ZSlJx?= =?utf-8?B?ajRoall5L3RMWUw4MS8rdGFETEZ5dWVsaDlYdnZsQjJ0OHErL0ZzZ0tCa3dj?= =?utf-8?B?cjFvSW5OS01YVDUxSDZ1c0hvb2lXMU1WNnZwcW15Zk1oeUU0UGRKOExpMUhO?= =?utf-8?B?S1RyR3E1blA3N1ZuMzZ0UW5qdFBmcVJLcFNlbzJBUVFiRGd2RWh2L2VnPT0=?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5678.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cnhqYURwc29XbHdaSWViSGRpYnRWR0NzRkJQVDFsNXluSGtnd1kra0tMSVJU?= =?utf-8?B?TDd0Z0gwOW1ydzE4S2wrcHNNUTFRcnFxL2tIbnRIYWd3VHgvUHZXM09SaWxC?= =?utf-8?B?Y0pJVzl2NDBybFlWOHhSMG0rVVpXNkc1TGRMZlpUQ1lIaEJjMGJ0aUZWeUNC?= =?utf-8?B?RW1scjhoYmVPc1U3bURzcWRvL0hWSDBQMVQ5V1hZQ0ttSFl6aEE3N0VhSFk5?= =?utf-8?B?WkVQMnNKczM3bk1uQXBrbFAxUm9xRDJXZkFySjUzTzRzMjJneFZBNGtac3pi?= =?utf-8?B?Umd5NlEzVW5EK2VLUm5WRElDMGkrNkxMNDhMc3JXN3VjOWxubnNnZlNwUEZK?= =?utf-8?B?cVVQc1hWV2h4N1U4SE1palZ4MFFQUkhNRlp6WjF6ZWFlejZzWkU4VHRWY1lR?= =?utf-8?B?dUtOalE3SEFqbEIvbDBxYnlSS3BqNHZGdGlKeW5CZWl4cFlTMnlNc3pjM2NV?= =?utf-8?B?N204K0I5bVYwdm1TMHRVUXJtQjlaUzNXbzZQRFhQZXBpTWFmbWY0ZDlsdkEz?= =?utf-8?B?ZzVPVGQvUTJoSkdlTzQ4YTM0UnRTQU5Lb1EvWmZPOWxaZ0xwTS9IVmZLNUZk?= =?utf-8?B?Z3MvWkRhMFI0OTZkWWJNMDh6REZ5WHJPb2lrbDN6d0U0RGhlN3FiWFJ3QzZK?= =?utf-8?B?T0xzSGp0bUdjQXRzclVtVVFhWWNSNWVIOTJFL3drY2JUdnF5WWNKRkc0U3pW?= =?utf-8?B?bzRZSnc4Q1dXOFk0cVlhVWdyL09xUFlwU1drR3R1V1l3cVZkS0JsLzl4TkM3?= =?utf-8?B?bmNuM0JkVlVzWjdMam9teVNmSmF1bXRhL0hlQktwWkFWWUI2R1NxSGMvcHFI?= =?utf-8?B?dkxIRXNvTXRONGEvVUVRNCtnVlVhdEIweUt3c0tNd09VNWp5VXY1d2s3dzVu?= =?utf-8?B?ZkhIbml5UWxXZ0V0emlZSW5FZVltNDgxdkhlSjN2cTBxZk9SWng2UElSdUFL?= =?utf-8?B?bEhxRk1YcFY0RWwyYjhrLzA2Y2t6SW1Lbi9BbzloTE41TlJ5RlJsb244Z20x?= =?utf-8?B?YitNWm0ydHFaeVZsai9hNldmZk82a0hlZGQrRnh3a0JET3R3TkZla0J1UFdu?= =?utf-8?B?WTN5RmkwSFpydjJNRGJVdHU4bGhUd1FhWm16OWFuR0lWN0Yxd2kxdzZYMzF6?= =?utf-8?B?S1ZhTkdKVnJSN21lcHZ1ZktjTTZCK0NBajV5VGpqME9xZERyTDl3Sk4vSmFB?= =?utf-8?B?NDh6UzE3bXpMeU5Pc1dROFZVWERFNEZ1NG5Mb1VvcXorREpYSWpPY3RWcDRN?= =?utf-8?B?Q1B5M2NCWnBpZ2tob242bDFDWU1nSzBERHJ0dTE0QXZOMFl0ZzVaMkdxZFhR?= =?utf-8?B?d3M4RG5XVU1OTEdqeFk1dExSNVhqKzRjaUdmeE90QjQ3VmN1ZEdBanQzUFd6?= =?utf-8?B?aHBWbFVlSWJ6MXVMU0h5aHlXVE1wWVMxVmJ0YmZXNWdMWS9XQWZXd1A4VE5P?= =?utf-8?B?ZGk0M2s2UUdkaENGcWJFTEZ1ci81SXRCTVZ1RSthdXBKMTJBcmV6VFZ2RmFu?= =?utf-8?B?T01IdUNlOVc3K1lsVnNtdGZ5Q0dLOHRFcHUwMFkyT1R1cnJXNzlqMnFMN2dy?= =?utf-8?B?VWFjWmZrUHcyMWxaVXJ6dmFnemZ6U0U2V2x1RENTQmxYc0NleGRvOGFHazBh?= =?utf-8?B?WXBrWHpYQk5aYVlzb08wVEZDM0dKMnhrVUNkZU8waUFhM0VwTnR0cU0xNGtS?= =?utf-8?B?OWdHaEw2R1lDRFpPaVNMeDh1bzV4UTVZRjhxcHgxNEx5Zkx1aXJGWE5jTytz?= =?utf-8?B?NU9RenJzNy9tUmNkbkNESnhuTlMxQWpPaFdtOW5rM0lVZTRVL25mU0s1bFN3?= =?utf-8?B?dUtmd2ZyeXlTbjgvdHUrd25XZU1pMXVtQlVpRlIvMnNkOStmaVhQa1U5TERC?= =?utf-8?B?UW1KM0owNjdzZHkwQlBlSjJRMGdpdURLRTcxNEtrNW1EWXVzZlJQbFZ4N3ZY?= =?utf-8?B?NWcxYjVKcTNXWmNVbGIzMVJkcWw1dzJkeU5vSWJlbkdjM3VQa21RU0lnVzdJ?= =?utf-8?B?bjFla1FuZ1drSjNXTCtqMkVlM1grWEc2a1JLWWlMcWF0WDBWQWVUd2dPZ2Ev?= =?utf-8?B?NEVnOGJFOGJPMWVvcERzOWVoUFJwbDY0eDdGQTExY3FhUEYyTjZzd25HZnZ0?= =?utf-8?B?KzRvOWhzYkpzMDBqWExkM2FBcGpDbmNoTUNKOUN1RTRCVTA3d1l2RUtBekVx?= =?utf-8?B?MlE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5678.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96f358e2-ebf2-4b5e-3d32-08dcdcece93b X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2024 23:02:06.2854 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: EzpnJuOIXjm11iH78BLKk2C5AwFTFFJyyr4LEX/ZrdKdjH2bjI/n892D4AdgQEY9pKsDU7DRl49pPiefDgbfvrPo/YNgaHMrrBrrsG7T/EM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB8226 X-OriginatorOrg: intel.com X-Rspamd-Queue-Id: 8586F20006 X-Stat-Signature: o6cuea4iq3b4zrjwexrcitxbqqqi7jib X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1727218936-521327 X-HE-Meta: U2FsdGVkX18kydosDwwfPf8M0zJY2a6vVeOWWZbXBQEPwlDATXK9cuxVs9CNC9S/CsS4YbuIjLTKSawHLCJQoDEBgXLL6PvcDwVgxPuKpxhCswfEssUQVU/POhPa6ba8tE0RiEA+fHoBsUFRcC6vXmz4Mfvl6o1w/RcMTs8lK7uD8no6sYyWiDPqiuQb6UU/5kBE+dV/4QoGLkij7f63b/4bWzK5ehCM+KEToN++Pp3zw9S4mR9FuR1cRvF+oljI6TltWeznaRFzh+e1wCRGCE5LkgjghLBSifJ6IOA1zNwLR35QeEyND+n+1l9P84dTuJpO4TwNri5mxSYqarAHvZ4F9mzRHYpZJXNujvkNAPzpEVPwRbWNT0KeV7tEWz1QK6e3fG0sszcpOsnDP1XUJ8N4APMqng6LnZTpJTTfT/edfdF0gXIKHRYDZ9zWmMaGCMy8G0HxGJe5b2xuDGIBFOpKsdbpzlxT6vY044vodoO7pjbnxmuvfKVOH/Vft92sOuzLrJ5faTYSAIClerHLFJ7q3HTE5Kvfo8fTlT0+ti/nbSOOpg8xkTMLSafrmNcvBFEYraHJ0B13XPPVb84si06cHZ+Q0rnUp+pMu1Rmz65pQAjLlR/HIZwPsXtZqEx+F+odTy9NC/9YSpH9kBqM+S8CuMzB/v1G25LaomDBu70cyX+TOg5SUbB+8FYkh7A4zkbMuIEfAi4cOIAQduR2YjIedVFsV7ZnejcaTTGcoyPaR912/pBwNlEoudNKweImmcw46EXJqfU1Jor7LRc0DYni14RNsGvnWUgho2qMBY6yXQgcDz1p3GWG94+eCFea95pH69cqnVrecYUy1nASyS7EPemUvhacCj8t1956otXtYwQrNFZ2kYHSo1t+snJUNQKRGM5DVnXFNrbR5OvIHZqq3MfTbCAvV3LKOjnifOtGiKucxKy2IbNaV8t9vKCzlUtwzMS+EjOAGZEGL0C f2M6VflS WLwnQD99qUaRi3ZNt8RxDgFuy4m1LsRzfGevi+2uVWFkUGcD505dxdFiDCdKkov70iuMqGrL4uiEYUhDOAczs/Rp+SiWBme5YedFInN2ImfO51SGNjr1R9ncHOAFE117WY7VE+c8ONJWMWWEihYssAJ/babYYLAIUeIQGKb5I8LF84d4nr4/VM+XYnsrGY9h3eneESZ4epIXd9gNK2Zi0goDRPgXMkIkSs8geJ0KEq+Lz7BuznoMf1hV9iyG3arcQN7Ae7vpS0vXDknDo3TGMRWJT9OSwUfH7++h4deKosObjZ/QLQwNKNcDxe+eOpm5n+drcBGm7Shh1N/BY5jf8lvmtSne/5/YNBvJQl9M+/9Cs9d7O9QqnqtPsLfvhzuusj++TlJU6vzfixvwVm2WLce1OD+bDAok53Ws24YWF7gd4CEV8HzITbh4gC9snUp2g6IJXzVHHKpIwZzn+/UvhE8dmdjNgYVtGnGveQstoM2I1kshfMCtdlmRcoD9xkN+R3qwmLeZG5qxrF5Axoq+0WChDXU1FUhbrhngiAUKtlKoohJtDgKHputT3RFt9hagMiAYERtMgo4sIoskNDEYeji4w0P2f8HBkzenm9qwkNXS2PABJxDwgBDYwCALJ1cv+ObQiw8NU0zCYXyjLa5ty5zZljUYZNxUpxzLS1ZNFVrZNfUE4P7fej6oIlQy1m6KC8u4vNmgfrAeQLIdrHgLaxZ6WnrU+/dVRTgpVedSMn2iwoQQnnQJm2nk1OPvNvAWSBhvjnHhJp+pMSVZL0WdPVlXjEsXN1wg0XqUhnyeesMXfVCQvUkDmwKskOeiAPS6tRKROu+ySmV96WjmeVl4eAqhax50ofE96DTpI 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: PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBZb3NyeSBBaG1lZCA8eW9zcnlh aG1lZEBnb29nbGUuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMjQsIDIwMjQgMTI6 MzkgUE0NCj4gVG86IFNyaWRoYXIsIEthbmNoYW5hIFAgPGthbmNoYW5hLnAuc3JpZGhhckBpbnRl bC5jb20+DQo+IENjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC1tbUBrdmFj ay5vcmc7DQo+IGhhbm5lc0BjbXB4Y2hnLm9yZzsgbnBoYW1jc0BnbWFpbC5jb207IGNoZW5nbWlu Zy56aG91QGxpbnV4LmRldjsNCj4gdXNhbWFhcmlmNjQyQGdtYWlsLmNvbTsgc2hha2VlbC5idXR0 QGxpbnV4LmRldjsgcnlhbi5yb2JlcnRzQGFybS5jb207DQo+IEh1YW5nLCBZaW5nIDx5aW5nLmh1 YW5nQGludGVsLmNvbT47IDIxY25iYW9AZ21haWwuY29tOyBha3BtQGxpbnV4LQ0KPiBmb3VuZGF0 aW9uLm9yZzsgWm91LCBOYW5oYWkgPG5hbmhhaS56b3VAaW50ZWwuY29tPjsgRmVnaGFsaSwgV2Fq ZGkgSw0KPiA8d2FqZGkuay5mZWdoYWxpQGludGVsLmNvbT47IEdvcGFsLCBWaW5vZGggPHZpbm9k aC5nb3BhbEBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjcgNi84XSBtbTogenN3 YXA6IFN1cHBvcnQgbVRIUCBzd2Fwb3V0IGluDQo+IHpzd2FwX3N0b3JlKCkuDQo+IA0KPiBPbiBN b24sIFNlcCAyMywgMjAyNCBhdCA2OjE34oCvUE0gS2FuY2hhbmEgUCBTcmlkaGFyDQo+IDxrYW5j aGFuYS5wLnNyaWRoYXJAaW50ZWwuY29tPiB3cm90ZToNCj4gPg0KPiA+IHpzd2FwX3N0b3JlKCkg d2lsbCBub3cgc3RvcmUgbVRIUCBhbmQgUE1ELXNpemUgVEhQIGZvbGlvcyBieSBjb21wcmVzc2lu Zw0KPiA+IHRoZW0gcGFnZSBieSBwYWdlLg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBwcm92aWRlcyBh IHNlcXVlbnRpYWwgaW1wbGVtZW50YXRpb24gb2Ygc3RvcmluZyBhbiBtVEhQIGluDQo+ID4genN3 YXBfc3RvcmUoKSBieSBpdGVyYXRpbmcgdGhyb3VnaCBlYWNoIHBhZ2UgaW4gdGhlIGZvbGlvIHRv IGNvbXByZXNzDQo+ID4gYW5kIHN0b3JlIGl0IGluIHRoZSB6c3dhcCB6cG9vbC4NCj4gPg0KPiA+ IFRvd2FyZHMgdGhpcyBnb2FsLCB6c3dhcF9jb21wcmVzcygpIGlzIG1vZGlmaWVkIHRvIHRha2Ug YSBwYWdlIGluc3RlYWQNCj4gPiBvZiBhIGZvbGlvIGFzIGlucHV0Lg0KPiA+DQo+ID4gRWFjaCBw YWdlJ3Mgc3dhcCBvZmZzZXQgaXMgc3RvcmVkIGFzIGEgc2VwYXJhdGUgenN3YXAgZW50cnkuDQo+ ID4NCj4gPiBJZiBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZCBkdXJpbmcgdGhlIHN0b3JlIG9mIGFu eSBwYWdlIGluIHRoZSBtVEhQLA0KPiA+IGFsbCBwcmV2aW91cyBwYWdlcy9lbnRyaWVzIHN0b3Jl ZCB3aWxsIGJlIGludmFsaWRhdGVkLiBUaHVzLCBhbiBtVEhQDQo+ID4gaXMgZWl0aGVyIGVudGly ZWx5IHN0b3JlZCBpbiBaU1dBUCwgb3IgZW50aXJlbHkgbm90IHN0b3JlZCBpbiBaU1dBUC4NCj4g Pg0KPiA+IFRoaXMgZm9ybXMgdGhlIGJhc2lzIGZvciBidWlsZGluZyBiYXRjaGluZyBvZiBwYWdl cyBkdXJpbmcgenN3YXAgc3RvcmUNCj4gPiBvZiBsYXJnZSBmb2xpb3MgYnkgY29tcHJlc3Npbmcg YmF0Y2hlcyBvZiB1cCB0byBzYXksIDggcGFnZXMgaW4gYW4NCj4gPiBtVEhQIGluIHBhcmFsbGVs IGluIGhhcmR3YXJlLCB3aXRoIHRoZSBJbnRlbCBJbi1NZW1vcnkgQW5hbHl0aWNzDQo+ID4gQWNj ZWxlcmF0b3IgKEludGVsIElBQSkuDQo+ID4NCj4gPiBBIG5ldyBjb25maWcgdmFyaWFibGUgQ09O RklHX1pTV0FQX1NUT1JFX1RIUF9ERUZBVUxUX09OIChvZmYgYnkNCj4gZGVmYXVsdCkNCj4gPiB3 aWxsIGVuYWJsZS9kaXNhYmxlIHpzd2FwIHN0b3Jpbmcgb2YgKG0pVEhQLiBUaGUgY29ycmVzcG9u ZGluZyB0dW5hYmxlDQo+ID4genN3YXAgbW9kdWxlIHBhcmFtZXRlciBpcyAibXRocF9lbmFibGVk Ii4NCj4gPg0KPiA+IFRoaXMgY2hhbmdlIHJldXNlcyBhbmQgYWRhcHRzIHRoZSBmdW5jdGlvbmFs aXR5IGluIFJ5YW4gUm9iZXJ0cycgUkZDDQo+ID4gcGF0Y2ggWzFdOg0KPiA+DQo+ID4gICAiW1JG Qyx2MV0gbW06IHpzd2FwOiBTdG9yZSBsYXJnZSBmb2xpb3Mgd2l0aG91dCBzcGxpdHRpbmciDQo+ ID4NCj4gPiAgIFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1tbS8yMDIzMTAxOTEx MDU0My4zMjg0NjU0LTEtDQo+IHJ5YW4ucm9iZXJ0c0Bhcm0uY29tL1QvI3UNCj4gPg0KPiA+IEFs c28sIGFkZHJlc3NlZCBzb21lIG9mIHRoZSBSRkMgY29tbWVudHMgZnJvbSB0aGUgZGlzY3Vzc2lv biBpbiBbMV0uDQo+ID4NCj4gPiBDby1kZXZlbG9wZWQtYnk6IFJ5YW4gUm9iZXJ0cw0KPiA+IFNp Z25lZC1vZmYtYnk6DQo+ID4gU2lnbmVkLW9mZi1ieTogS2FuY2hhbmEgUCBTcmlkaGFyIDxrYW5j aGFuYS5wLnNyaWRoYXJAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBtbS9LY29uZmlnIHwgICA4 ICsrKysNCj4gPiAgbW0venN3YXAuYyB8IDEyMiArKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDY2IGluc2Vy dGlvbnMoKyksIDY0IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL21tL0tjb25m aWcgYi9tbS9LY29uZmlnDQo+ID4gaW5kZXggMDlhZWJjYTFjYWUzLi5jNjU5ZmI3MzJlYzQgMTAw NjQ0DQo+ID4gLS0tIGEvbW0vS2NvbmZpZw0KPiA+ICsrKyBiL21tL0tjb25maWcNCj4gPiBAQCAt NTksNiArNTksMTQgQEAgY29uZmlnIFpTV0FQX1NIUklOS0VSX0RFRkFVTFRfT04NCj4gPiAgICAg ICAgICAgcmVkdWNpbmcgdGhlIGNoYW5jZSB0aGF0IGNvbGQgcGFnZXMgd2lsbCByZXNpZGUgaW4g dGhlIHpzd2FwIHBvb2wNCj4gPiAgICAgICAgICAgYW5kIGNvbnN1bWUgbWVtb3J5IGluZGVmaW5p dGVseS4NCj4gPg0KPiA+ICtjb25maWcgWlNXQVBfU1RPUkVfVEhQX0RFRkFVTFRfT04NCj4gPiAr ICAgICAgIGJvb2wgIlN0b3JlIG1USFAgYW5kIFRIUCBmb2xpb3MgaW4genN3YXAiDQo+ID4gKyAg ICAgICBkZXBlbmRzIG9uIFpTV0FQDQo+ID4gKyAgICAgICBkZWZhdWx0IG4NCj4gPiArICAgICAg IGhlbHANCj4gPiArICAgICAgICAgSWYgc2VsZWN0ZWQsIHpzd2FwIHdpbGwgcHJvY2VzcyBtVEhQ IGFuZCBUSFAgZm9saW9zIGJ5DQo+ID4gKyAgICAgICAgIGNvbXByZXNzaW5nIGFuZCBzdG9yaW5n IGVhY2ggNEsgcGFnZSBpbiB0aGUgbGFyZ2UgZm9saW8uDQo+ID4gKw0KPiA+ICBjaG9pY2UNCj4g PiAgICAgICAgIHByb21wdCAiRGVmYXVsdCBjb21wcmVzc29yIg0KPiA+ICAgICAgICAgZGVwZW5k cyBvbiBaU1dBUA0KPiA+IGRpZmYgLS1naXQgYS9tbS96c3dhcC5jIGIvbW0venN3YXAuYw0KPiA+ IGluZGV4IDhmMmUwYWIzNGM4NC4uMTZhYjc3MDU0NmQ2IDEwMDY0NA0KPiA+IC0tLSBhL21tL3pz d2FwLmMNCj4gPiArKysgYi9tbS96c3dhcC5jDQo+ID4gQEAgLTEyNyw2ICsxMjcsMTQgQEAgc3Rh dGljIGJvb2wgenN3YXBfc2hyaW5rZXJfZW5hYmxlZCA9DQo+IElTX0VOQUJMRUQoDQo+ID4gICAg ICAgICAgICAgICAgIENPTkZJR19aU1dBUF9TSFJJTktFUl9ERUZBVUxUX09OKTsNCj4gPiAgbW9k dWxlX3BhcmFtX25hbWVkKHNocmlua2VyX2VuYWJsZWQsIHpzd2FwX3Nocmlua2VyX2VuYWJsZWQs IGJvb2wsDQo+IDA2NDQpOw0KPiA+DQo+ID4gKy8qDQo+ID4gKyAqIEVuYWJsZS9kaXNhYmxlIHpz d2FwIHByb2Nlc3Npbmcgb2YgbVRIUCBmb2xpb3MuDQo+ID4gKyAqIEZvciBub3csIG9ubHkgenN3 YXBfc3RvcmUgd2lsbCBwcm9jZXNzIG1USFAgZm9saW9zLg0KPiA+ICsgKi8NCj4gPiArc3RhdGlj IGJvb2wgenN3YXBfbXRocF9lbmFibGVkID0gSVNfRU5BQkxFRCgNCj4gPiArICAgICAgICAgICAg ICAgQ09ORklHX1pTV0FQX1NUT1JFX1RIUF9ERUZBVUxUX09OKTsNCj4gPiArbW9kdWxlX3BhcmFt X25hbWVkKG10aHBfZW5hYmxlZCwgenN3YXBfbXRocF9lbmFibGVkLCBib29sLA0KPiAwNjQ0KTsN Cj4gPiArDQo+ID4gIGJvb2wgenN3YXBfaXNfZW5hYmxlZCh2b2lkKQ0KPiA+ICB7DQo+ID4gICAg ICAgICByZXR1cm4genN3YXBfZW5hYmxlZDsNCj4gPiBAQCAtMTQ3MSw5ICsxNDc5LDkgQEAgc3Rh dGljIHZvaWQgenN3YXBfZGVsZXRlX3N0b3JlZF9vZmZzZXRzKHN0cnVjdA0KPiB4YXJyYXkgKnRy ZWUsDQo+ID4gICAqIEBvYmpjZzogVGhlIGZvbGlvJ3Mgb2JqY2cuDQo+ID4gICAqIEBwb29sOiAg VGhlIHpzd2FwX3Bvb2wgdG8gc3RvcmUgdGhlIGNvbXByZXNzZWQgZGF0YSBmb3IgdGhlIHBhZ2Uu DQo+ID4gICAqLw0KPiA+IC1zdGF0aWMgYm9vbCBfX21heWJlX3VudXNlZCB6c3dhcF9zdG9yZV9w YWdlKHN0cnVjdCBmb2xpbyAqZm9saW8sIGxvbmcNCj4gaW5kZXgsDQo+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb2JqX2Nncm91cCAqb2JqY2cs DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg enN3YXBfcG9vbCAqcG9vbCkNCj4gPiArc3RhdGljIGJvb2wgenN3YXBfc3RvcmVfcGFnZShzdHJ1 Y3QgZm9saW8gKmZvbGlvLCBsb25nIGluZGV4LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IG9ial9jZ3JvdXAgKm9iamNnLA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHpzd2FwX3Bvb2wgKnBvb2wpDQo+IA0KPiBBcyBJIG1lbnRpb25lZCBl YXJsaWVyLCB0aGUgcGF0Y2ggdGhhdCBpbnRyb2R1Y2VkIHpzd2FwX3N0b3JlX3BhZ2UoKQ0KPiBz aG91bGQgaGF2ZSBkaXJlY3RseSB1c2VkIGl0IGluIHpzd2FwX3N0b3JlKCkuIFRoaXMgd291bGQg bWFrZSB0aGlzDQo+IHBhdGNoIG11Y2ggY2xlYXJlci4NCg0KU3VyZS4gSSB3aWxsIGZpeCB0aGlz IGluIHY4Lg0KDQo+IA0KPiA+ICB7DQo+ID4gICAgICAgICBzd3BfZW50cnlfdCBzd3AgPSBmb2xp by0+c3dhcDsNCj4gPiAgICAgICAgIGludCB0eXBlID0gc3dwX3R5cGUoc3dwKTsNCj4gPiBAQCAt MTU1MSw1MSArMTU1OSw2MyBAQCBzdGF0aWMgYm9vbCBfX21heWJlX3VudXNlZA0KPiB6c3dhcF9z dG9yZV9wYWdlKHN0cnVjdCBmb2xpbyAqZm9saW8sIGxvbmcgaW5kZXgsDQo+ID4gICAgICAgICBy ZXR1cm4gZmFsc2U7DQo+ID4gIH0NCj4gPg0KPiA+ICsvKg0KPiA+ICsgKiBNb2RpZmllZCB0byBz dG9yZSBtVEhQIGZvbGlvcy4gRWFjaCBwYWdlIGluIHRoZSBtVEhQIHdpbGwgYmUNCj4gY29tcHJl c3NlZA0KPiA+ICsgKiBhbmQgc3RvcmVkIHNlcXVlbnRpYWxseS4NCj4gPiArICovDQo+ID4gIGJv b2wgenN3YXBfc3RvcmUoc3RydWN0IGZvbGlvICpmb2xpbykNCj4gPiAgew0KPiA+ICAgICAgICAg bG9uZyBucl9wYWdlcyA9IGZvbGlvX25yX3BhZ2VzKGZvbGlvKTsNCj4gPiAgICAgICAgIHN3cF9l bnRyeV90IHN3cCA9IGZvbGlvLT5zd2FwOw0KPiA+ICAgICAgICAgcGdvZmZfdCBvZmZzZXQgPSBz d3Bfb2Zmc2V0KHN3cCk7DQo+ID4gICAgICAgICBzdHJ1Y3QgeGFycmF5ICp0cmVlID0gc3dhcF96 c3dhcF90cmVlKHN3cCk7DQo+ID4gLSAgICAgICBzdHJ1Y3QgenN3YXBfZW50cnkgKmVudHJ5Ow0K PiA+ICAgICAgICAgc3RydWN0IG9ial9jZ3JvdXAgKm9iamNnID0gTlVMTDsNCj4gPiAgICAgICAg IHN0cnVjdCBtZW1fY2dyb3VwICptZW1jZyA9IE5VTEw7DQo+ID4gKyAgICAgICBzdHJ1Y3QgenN3 YXBfcG9vbCAqcG9vbDsNCj4gPiArICAgICAgIGJvb2wgcmV0ID0gZmFsc2U7DQo+ID4gKyAgICAg ICBsb25nIGluZGV4Ow0KPiA+DQo+ID4gICAgICAgICBWTV9XQVJOX09OX09OQ0UoIWZvbGlvX3Rl c3RfbG9ja2VkKGZvbGlvKSk7DQo+ID4gICAgICAgICBWTV9XQVJOX09OX09OQ0UoIWZvbGlvX3Rl c3Rfc3dhcGNhY2hlKGZvbGlvKSk7DQo+ID4NCj4gPiAtICAgICAgIC8qIExhcmdlIGZvbGlvcyBh cmVuJ3Qgc3VwcG9ydGVkICovDQo+ID4gLSAgICAgICBpZiAoZm9saW9fdGVzdF9sYXJnZShmb2xp bykpDQo+ID4gKyAgICAgICAvKiBTdG9yaW5nIGxhcmdlIGZvbGlvcyBpc24ndCBlbmFibGVkICov DQo+IA0KPiBUaGUgY29tbWVudCBpcyBub3cgc3RhdGluZyB0aGUgb2J2aW91cywgcGxlYXNlIHJl bW92ZSBpdC4NCg0KT2suIEkgc3VwcG9zZSB0aGlzIGNoZWNrIHdpbGwgYWxzbyBubyBsb25nZXIg YmUgbmVlZGVkIGJhc2VkIG9uIHRoZQ0KY29uZmlnIGtub2Igbm90IGJlaW5nIG5lZWRlZC4NCg0K PiANCj4gPiArICAgICAgIGlmICghenN3YXBfbXRocF9lbmFibGVkICYmIGZvbGlvX3Rlc3RfbGFy Z2UoZm9saW8pKQ0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQo+ID4NCj4gPiAg ICAgICAgIGlmICghenN3YXBfZW5hYmxlZCkNCj4gPiAtICAgICAgICAgICAgICAgZ290byBjaGVj a19vbGQ7DQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8gcmVqZWN0Ow0KPiA+DQo+ID4gLSAgICAg ICAvKiBDaGVjayBjZ3JvdXAgbGltaXRzICovDQo+ID4gKyAgICAgICAvKg0KPiA+ICsgICAgICAg ICogQ2hlY2sgY2dyb3VwIGxpbWl0czoNCj4gPiArICAgICAgICAqDQo+ID4gKyAgICAgICAgKiBU aGUgY2dyb3VwIHpzd2FwIGxpbWl0IGNoZWNrIGlzIGRvbmUgb25jZSBhdCB0aGUgYmVnaW5uaW5n IG9mIGFuDQo+ID4gKyAgICAgICAgKiBtVEhQIHN0b3JlLCBhbmQgbm90IHdpdGhpbiB6c3dhcF9z dG9yZV9wYWdlKCkgZm9yIGVhY2ggcGFnZQ0KPiA+ICsgICAgICAgICogaW4gdGhlIG1USFAuIFdl IGRvIGhvd2V2ZXIgY2hlY2sgdGhlIHpzd2FwIHBvb2wgbGltaXRzIGF0IHRoZQ0KPiA+ICsgICAg ICAgICogc3RhcnQgb2YgenN3YXBfc3RvcmVfcGFnZSgpLiBXaGF0IHRoaXMgbWVhbnMgaXMsIHRo ZSBjZ3JvdXANCj4gPiArICAgICAgICAqIGNvdWxkIGdvIG92ZXIgdGhlIGxpbWl0cyBieSBhdCBt b3N0IChIUEFHRV9QTURfTlIgLSAxKSBwYWdlcy4NCj4gPiArICAgICAgICAqIEhvd2V2ZXIsIHRo ZSBwZXItc3RvcmUtcGFnZSB6c3dhcCBwb29sIGxpbWl0cyBjaGVjayBzaG91bGQNCj4gPiArICAg ICAgICAqIGhvcGVmdWxseSB0cmlnZ2VyIHRoZSBjZ3JvdXAgYXdhcmUgYW5kIHpzd2FwIExSVSBh d2FyZSBnbG9iYWwNCj4gPiArICAgICAgICAqIHJlY2xhaW0gaW1wbGVtZW50ZWQgaW4gdGhlIHNo cmlua2VyLiBJZiB0aGlzIGFzc3VtcHRpb24gaG9sZHMsDQo+ID4gKyAgICAgICAgKiB0aGUgY2dy b3VwIGV4Y2VlZGluZyB0aGUgenN3YXAgbGltaXRzIGNvdWxkIHBvdGVudGlhbGx5IGJlDQo+ID4g KyAgICAgICAgKiByZXNvbHZlZCBiZWZvcmUgdGhlIG5leHQgenN3YXBfc3RvcmUsIGFuZCBpZiBp dCBpcyBub3QsIHRoZSBuZXh0DQo+ID4gKyAgICAgICAgKiB6c3dhcF9zdG9yZSB3b3VsZCBmYWls IHRoZSBjZ3JvdXAgenN3YXAgbGltaXQgY2hlY2sgYXQgdGhlIHN0YXJ0Lg0KPiA+ICsgICAgICAg ICovDQo+IA0KPiBJIGRvIG5vdCByZWFsbHkgbGlrZSB0aGlzLiBBbGxvd2luZyBnb2luZyBvbmUg cGFnZSBhYm92ZSB0aGUgbGltaXQgaXMNCj4gb25lIHRoaW5nLCBidXQgb25lIFRIUCBhYm92ZSB0 aGUgbGltaXQgc2VlbXMgdG9vIG11Y2guIEkgYWxzbyBkb24ndA0KPiBsaWtlIHJlbHlpbmcgb24g dGhlIHJlcGVhdGVkIGxpbWl0IGNoZWNraW5nIGluIHpzd2FwX3N0b3JlX3BhZ2UoKSwgaWYNCj4g YW55dGhpbmcgSSB0aGluayB0aGF0IHNob3VsZCBiZSBiYXRjaGVkIHRvby4NCj4gDQo+IElzIGl0 IHRvbyB1bnJlYXNvbmFibGUgdG8gbWFpbnRhaW4gdGhlIGF2ZXJhZ2UgY29tcHJlc3Npb24gcmF0 aW8gYW5kDQo+IHVzZSB0aGF0IHRvIGVzdGltYXRlIGxpbWl0IGNoZWNraW5nIGZvciBib3RoIG1l bWNnIGFuZCBnbG9iYWwgbGltaXRzPw0KPiBKb2hhbm5lcywgTmhhdCwgYW55IHRob3VnaHRzIG9u IHRoaXM/DQoNCkkgc2VlIHRoYXQgTmhhdCBoYXMgcmVzcG9uZGVkLiBIb3BlZnVsbHkgd2UgY2Fu IGRpc2N1c3MgdGhpcw0KaW4gdGhlIGZvbGxvdy11cCB0byBOaGF0J3MgY29tbWVudHMuDQoNClRo YW5rcywNCkthbmNoYW5hDQoNCj4gDQo+ID4gICAgICAgICBvYmpjZyA9IGdldF9vYmpfY2dyb3Vw X2Zyb21fZm9saW8oZm9saW8pOw0KPiA+ICAgICAgICAgaWYgKG9iamNnICYmICFvYmpfY2dyb3Vw X21heV96c3dhcChvYmpjZykpIHsNCj4gPiAgICAgICAgICAgICAgICAgbWVtY2cgPSBnZXRfbWVt X2Nncm91cF9mcm9tX29iamNnKG9iamNnKTsNCj4gPiAgICAgICAgICAgICAgICAgaWYgKHNocmlu a19tZW1jZyhtZW1jZykpIHsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBtZW1fY2dyb3Vw X3B1dChtZW1jZyk7DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgZ290byByZWplY3Q7DQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZ290byBwdXRfb2JqY2c7DQo+ID4gICAgICAgICAg ICAgICAgIH0NCj4gPiAgICAgICAgICAgICAgICAgbWVtX2Nncm91cF9wdXQobWVtY2cpOw0KPiA+ ICAgICAgICAgfQ0KPiA+DQo+ID4gICAgICAgICBpZiAoenN3YXBfY2hlY2tfbGltaXRzKCkpDQo+ ID4gLSAgICAgICAgICAgICAgIGdvdG8gcmVqZWN0Ow0KPiA+IC0NCj4gPiAtICAgICAgIC8qIGFs bG9jYXRlIGVudHJ5ICovDQo+ID4gLSAgICAgICBlbnRyeSA9IHpzd2FwX2VudHJ5X2NhY2hlX2Fs bG9jKEdGUF9LRVJORUwsIGZvbGlvX25pZChmb2xpbykpOw0KPiA+IC0gICAgICAgaWYgKCFlbnRy eSkgew0KPiA+IC0gICAgICAgICAgICAgICB6c3dhcF9yZWplY3Rfa21lbWNhY2hlX2ZhaWwrKzsN Cj4gPiAtICAgICAgICAgICAgICAgZ290byByZWplY3Q7DQo+ID4gLSAgICAgICB9DQo+ID4gKyAg ICAgICAgICAgICAgIGdvdG8gcHV0X29iamNnOw0KPiA+DQo+ID4gLSAgICAgICAvKiBpZiBlbnRy eSBpcyBzdWNjZXNzZnVsbHkgYWRkZWQsIGl0IGtlZXBzIHRoZSByZWZlcmVuY2UgKi8NCj4gPiAt ICAgICAgIGVudHJ5LT5wb29sID0genN3YXBfcG9vbF9jdXJyZW50X2dldCgpOw0KPiA+IC0gICAg ICAgaWYgKCFlbnRyeS0+cG9vbCkNCj4gPiAtICAgICAgICAgICAgICAgZ290byBmcmVlcGFnZTsN Cj4gPiArICAgICAgIHBvb2wgPSB6c3dhcF9wb29sX2N1cnJlbnRfZ2V0KCk7DQo+ID4gKyAgICAg ICBpZiAoIXBvb2wpDQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8gcHV0X29iamNnOw0KPiA+DQo+ ID4gICAgICAgICBpZiAob2JqY2cpIHsNCj4gPiAgICAgICAgICAgICAgICAgbWVtY2cgPSBnZXRf bWVtX2Nncm91cF9mcm9tX29iamNnKG9iamNnKTsNCj4gPiBAQCAtMTYwNiw2MCArMTYyNiwzNCBA QCBib29sIHpzd2FwX3N0b3JlKHN0cnVjdCBmb2xpbyAqZm9saW8pDQo+ID4gICAgICAgICAgICAg ICAgIG1lbV9jZ3JvdXBfcHV0KG1lbWNnKTsNCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+IC0gICAg ICAgaWYgKCF6c3dhcF9jb21wcmVzcygmZm9saW8tPnBhZ2UsIGVudHJ5KSkNCj4gPiAtICAgICAg ICAgICAgICAgZ290byBwdXRfcG9vbDsNCj4gPiAtDQo+ID4gLSAgICAgICBlbnRyeS0+c3dwZW50 cnkgPSBzd3A7DQo+ID4gLSAgICAgICBlbnRyeS0+b2JqY2cgPSBvYmpjZzsNCj4gPiAtICAgICAg IGVudHJ5LT5yZWZlcmVuY2VkID0gdHJ1ZTsNCj4gPiAtDQo+ID4gLSAgICAgICBpZiAoIXpzd2Fw X3N0b3JlX2VudHJ5KHRyZWUsIGVudHJ5KSkNCj4gPiAtICAgICAgICAgICAgICAgZ290byBzdG9y ZV9mYWlsZWQ7DQo+ID4gLQ0KPiA+IC0gICAgICAgaWYgKG9iamNnKSB7DQo+ID4gLSAgICAgICAg ICAgICAgIG9ial9jZ3JvdXBfY2hhcmdlX3pzd2FwKG9iamNnLCBlbnRyeS0+bGVuZ3RoKTsNCj4g PiAtICAgICAgICAgICAgICAgY291bnRfb2JqY2dfZXZlbnQob2JqY2csIFpTV1BPVVQpOw0KPiA+ IC0gICAgICAgfQ0KPiA+IC0NCj4gPiAgICAgICAgIC8qDQo+ID4gLSAgICAgICAgKiBXZSBmaW5p c2ggaW5pdGlhbGl6aW5nIHRoZSBlbnRyeSB3aGlsZSBpdCdzIGFscmVhZHkgaW4geGFycmF5Lg0K PiA+IC0gICAgICAgICogVGhpcyBpcyBzYWZlIGJlY2F1c2U6DQo+ID4gLSAgICAgICAgKg0KPiA+ IC0gICAgICAgICogMS4gQ29uY3VycmVudCBzdG9yZXMgYW5kIGludmFsaWRhdGlvbnMgYXJlIGV4 Y2x1ZGVkIGJ5IGZvbGlvIGxvY2suDQo+ID4gLSAgICAgICAgKg0KPiA+IC0gICAgICAgICogMi4g V3JpdGViYWNrIGlzIGV4Y2x1ZGVkIGJ5IHRoZSBlbnRyeSBub3QgYmVpbmcgb24gdGhlIExSVSB5 ZXQuDQo+ID4gLSAgICAgICAgKiAgICBUaGUgcHVibGlzaGluZyBvcmRlciBtYXR0ZXJzIHRvIHBy ZXZlbnQgd3JpdGViYWNrIGZyb20gc2VlaW5nDQo+ID4gLSAgICAgICAgKiAgICBhbiBpbmNvaGVy ZW50IGVudHJ5Lg0KPiA+ICsgICAgICAgICogU3RvcmUgZWFjaCBwYWdlIG9mIHRoZSBmb2xpbyBh cyBhIHNlcGFyYXRlIGVudHJ5LiBJZiB3ZSBmYWlsIHRvIHN0b3JlDQo+ID4gKyAgICAgICAgKiBh IHBhZ2UsIHVud2luZCBieSByZW1vdmluZyBhbGwgdGhlIHByZXZpb3VzIHBhZ2VzIHdlIHN0b3Jl ZC4NCj4gPiAgICAgICAgICAqLw0KPiA+IC0gICAgICAgaWYgKGVudHJ5LT5sZW5ndGgpIHsNCj4g PiAtICAgICAgICAgICAgICAgSU5JVF9MSVNUX0hFQUQoJmVudHJ5LT5scnUpOw0KPiA+IC0gICAg ICAgICAgICAgICB6c3dhcF9scnVfYWRkKCZ6c3dhcF9saXN0X2xydSwgZW50cnkpOw0KPiA+ICsg ICAgICAgZm9yIChpbmRleCA9IDA7IGluZGV4IDwgbnJfcGFnZXM7ICsraW5kZXgpIHsNCj4gPiAr ICAgICAgICAgICAgICAgaWYgKCF6c3dhcF9zdG9yZV9wYWdlKGZvbGlvLCBpbmRleCwgb2JqY2cs IHBvb2wpKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcHV0X3Bvb2w7DQo+ID4g ICAgICAgICB9DQo+ID4NCj4gPiAtICAgICAgIC8qIHVwZGF0ZSBzdGF0cyAqLw0KPiA+IC0gICAg ICAgYXRvbWljX2luYygmenN3YXBfc3RvcmVkX3BhZ2VzKTsNCj4gPiAtICAgICAgIGNvdW50X3Zt X2V2ZW50KFpTV1BPVVQpOw0KPiA+IC0NCj4gPiAtICAgICAgIHJldHVybiB0cnVlOw0KPiA+ICsg ICAgICAgcmV0ID0gdHJ1ZTsNCj4gPg0KPiA+IC1zdG9yZV9mYWlsZWQ6DQo+ID4gLSAgICAgICB6 cG9vbF9mcmVlKGVudHJ5LT5wb29sLT56cG9vbCwgZW50cnktPmhhbmRsZSk7DQo+ID4gIHB1dF9w b29sOg0KPiA+IC0gICAgICAgenN3YXBfcG9vbF9wdXQoZW50cnktPnBvb2wpOw0KPiA+IC1mcmVl cGFnZToNCj4gPiAtICAgICAgIHpzd2FwX2VudHJ5X2NhY2hlX2ZyZWUoZW50cnkpOw0KPiA+IC1y ZWplY3Q6DQo+ID4gKyAgICAgICB6c3dhcF9wb29sX3B1dChwb29sKTsNCj4gPiArcHV0X29iamNn Og0KPiA+ICAgICAgICAgb2JqX2Nncm91cF9wdXQob2JqY2cpOw0KPiA+ICAgICAgICAgaWYgKHpz d2FwX3Bvb2xfcmVhY2hlZF9mdWxsKQ0KPiA+ICAgICAgICAgICAgICAgICBxdWV1ZV93b3JrKHNo cmlua193cSwgJnpzd2FwX3Nocmlua193b3JrKTsNCj4gPiAtY2hlY2tfb2xkOg0KPiA+ICtyZWpl Y3Q6DQo+ID4gICAgICAgICAvKg0KPiA+IC0gICAgICAgICogSWYgdGhlIHpzd2FwIHN0b3JlIGZh aWxzIG9yIHpzd2FwIGlzIGRpc2FibGVkLCB3ZSBtdXN0IGludmFsaWRhdGUgdGhlDQo+ID4gLSAg ICAgICAgKiBwb3NzaWJseSBzdGFsZSBlbnRyeSB3aGljaCB3YXMgcHJldmlvdXNseSBzdG9yZWQg YXQgdGhpcyBvZmZzZXQuDQo+ID4gLSAgICAgICAgKiBPdGhlcndpc2UsIHdyaXRlYmFjayBjb3Vs ZCBvdmVyd3JpdGUgdGhlIG5ldyBkYXRhIGluIHRoZSBzd2FwZmlsZS4NCj4gPiArICAgICAgICAq IElmIHRoZSB6c3dhcCBzdG9yZSBmYWlscyBvciB6c3dhcCBpcyBkaXNhYmxlZCwgd2UgbXVzdCBp bnZhbGlkYXRlDQo+ID4gKyAgICAgICAgKiB0aGUgcG9zc2libHkgc3RhbGUgZW50cmllcyB3aGlj aCB3ZXJlIHByZXZpb3VzbHkgc3RvcmVkIGF0IHRoZQ0KPiA+ICsgICAgICAgICogb2Zmc2V0cyBj b3JyZXNwb25kaW5nIHRvIGVhY2ggcGFnZSBvZiB0aGUgZm9saW8uIE90aGVyd2lzZSwNCj4gPiAr ICAgICAgICAqIHdyaXRlYmFjayBjb3VsZCBvdmVyd3JpdGUgdGhlIG5ldyBkYXRhIGluIHRoZSBz d2FwZmlsZS4NCj4gPiAgICAgICAgICAqLw0KPiA+IC0gICAgICAgenN3YXBfZGVsZXRlX3N0b3Jl ZF9vZmZzZXRzKHRyZWUsIG9mZnNldCwgbnJfcGFnZXMpOw0KPiA+IC0gICAgICAgcmV0dXJuIGZh bHNlOw0KPiA+ICsgICAgICAgaWYgKCFyZXQpDQo+ID4gKyAgICAgICAgICAgICAgIHpzd2FwX2Rl bGV0ZV9zdG9yZWRfb2Zmc2V0cyh0cmVlLCBvZmZzZXQsIG5yX3BhZ2VzKTsNCj4gPiArDQo+ID4g KyAgICAgICByZXR1cm4gcmV0Ow0KPiA+ICB9DQo+ID4NCj4gPiAgYm9vbCB6c3dhcF9sb2FkKHN0 cnVjdCBmb2xpbyAqZm9saW8pDQo+ID4gLS0NCj4gPiAyLjI3LjANCj4gPg0K