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 08490E77188 for ; Fri, 10 Jan 2025 06:17:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9543F6B00AC; Fri, 10 Jan 2025 01:17:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8DA6A6B00AE; Fri, 10 Jan 2025 01:17:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B6B66B00B0; Fri, 10 Jan 2025 01:17:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3D7B76B00AC for ; Fri, 10 Jan 2025 01:17:41 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2AB0C43806 for ; Fri, 10 Jan 2025 06:17:40 +0000 (UTC) X-FDA: 82990535880.04.BC98891 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19]) by imf06.hostedemail.com (Postfix) with ESMTP id 8C9B2180006 for ; Fri, 10 Jan 2025 06:17:35 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=XtRShTsE; spf=pass (imf06.hostedemail.com: domain of vivek.kasireddy@intel.com designates 198.175.65.19 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736489856; 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=kEOJNlKXL6ZNQhjvYT10dwPC6XMnFHetDUR0ufbPb60=; b=1/CnRhRf+6RA25c2BnjoM6B3r+W2LRmsgmkps0CUozs8nAiNBWoMI77miabpB+qnjTScNc VHa8iJdEIylO6YQ/q8EKUFG/a6pBB5zHgiKK5Tw+2bFYFPDAZMIt2iLD1bONVt+d8Slb2i tIKbk9ppis+o7NWSWCdiwAwLgWb1JWE= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=XtRShTsE; spf=pass (imf06.hostedemail.com: domain of vivek.kasireddy@intel.com designates 198.175.65.19 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1736489856; a=rsa-sha256; cv=pass; b=f0smsS6PJzkS7LTqUjHxGexSBGhwtUeU3HRv2oqYlSKQj1z8b6FPWqdrU/rt3sURMrQm/+ cp4ekBU0sJpdfI49jkkP8fGQF3f86fDVzr/24RehHBhyxew01P9n1BmqXADE0f/friBMSu Ly9zT61rv0cMq+pwaRBLvnB+hPV5d/o= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1736489856; x=1768025856; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=kEOJNlKXL6ZNQhjvYT10dwPC6XMnFHetDUR0ufbPb60=; b=XtRShTsESoOxaEVm5uNZXzfsNrkQvvKC9rQBEX4axWJ523fNSCvRNOS/ wT9D+ziPHbDuoBP7RQvuyCl5CBYW0bcmw4Pp2ZdwPuHrfV2oKFj0JN8co TiPLjpAC2QDzuKSjIPMUkZAWTO2imUiivRCa8K8lpuTnPnfqC1LGwRUE9 WkX96R/cuwGdgiQL82Dyb0hSGUP4o5DePsLe5sFquwt7M9uN4OMUeihWw D1fbfNlUQ+vzI+GAfitD9ZfjFvLwl4gHdNMs6FGon84/gjtYz1iX05bTS Gf8t7UWldCBFdhNVP1C9P5UO4HhhCTw16BXetR5E06uM28IpTMyV/oxjr w==; X-CSE-ConnectionGUID: fRjC4B5YT5SNplAvAg6ulw== X-CSE-MsgGUID: M+6my+wPT0O7c0gW5q04Cg== X-IronPort-AV: E=McAfee;i="6700,10204,11310"; a="36661962" X-IronPort-AV: E=Sophos;i="6.12,303,1728975600"; d="scan'208";a="36661962" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jan 2025 22:17:35 -0800 X-CSE-ConnectionGUID: uKFwso/kQeSX+9ADq1Wwfg== X-CSE-MsgGUID: 80HKBGGjQJuV1KB7bufPeA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="140946250" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 09 Jan 2025 22:17:34 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) 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.44; Thu, 9 Jan 2025 22:17:33 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.44 via Frontend Transport; Thu, 9 Jan 2025 22:17:33 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Thu, 9 Jan 2025 22:17:33 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AWtoyKd2kZNrFk4EP4Wd6lGF++Roj7hkYu53zRJYSxAdlEEf1IqWtZ/1Ino/uI45UwpQEZqQ09PqRX0XK5ozE4xe0zmLYfELUHBf7s/XoAreJgd8isk76MFWeUvR2ki6uumoAHbNXgCI3JSY6ozT79cGRwBRjGkUvjKUYuIgqZ1+iVNCFZmnsoDTO8pkJKLYYLuvwf4lA/ubuMjStWUbET5cutlDC6x3tboOQ8RWwNUZJGyBCEc0EZ6ktzKOVsGN8szlj1PFCBGnowJvFxxUy7uCvxi1UhhRzR23eqtk4XspdwBdVtCUmFN6Wp76kVo+lB4qY3Q5F38TvsXFI2ebWg== 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=kEOJNlKXL6ZNQhjvYT10dwPC6XMnFHetDUR0ufbPb60=; b=MswbhXFBW/fzCTllJR4QJ/TKpzbUVHKTOQTSecA2OwoQAe5J8qNf9G+ifjiC3G75lhRRHHG0Gsos2qJIKRf75vr7FvwnH1XSv+W6VRoDHWybemzJiDoNg39pRyn/5hOhMCMRblxOs1NMH4RSJgByYCKu1YIeYYS8U1b1HITaONn+kk9KDQM0KMcHACHa+KJvNppuPKMNWgyJ57OXta1si1/y/DvUqw6cd9QqNBk5AiPxR3vjAxxVsYDEK3g3kH8e9W6Uia3WrWiHCtpTNvXkBcs1RV5EguDlqhmYKxWcax/TjRzsrQ+e1SYab9/GRbwOBtoqIB0MXSNj1HoQyzVjZw== 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 IA0PR11MB7185.namprd11.prod.outlook.com (2603:10b6:208:432::20) by CO1PR11MB4881.namprd11.prod.outlook.com (2603:10b6:303:91::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.11; Fri, 10 Jan 2025 06:17:31 +0000 Received: from IA0PR11MB7185.namprd11.prod.outlook.com ([fe80::dd3b:ce77:841a:722b]) by IA0PR11MB7185.namprd11.prod.outlook.com ([fe80::dd3b:ce77:841a:722b%4]) with mapi id 15.20.8335.011; Fri, 10 Jan 2025 06:17:31 +0000 From: "Kasireddy, Vivek" To: Steven Sistare , "linux-mm@kvack.org" CC: "syzbot+a504cb5bae4fe117ba94@syzkaller.appspotmail.com" , Muchun Song , David Hildenbrand , Andrew Morton Subject: RE: [PATCH] mm/memfd: reserve hugetlb folios before allocation Thread-Topic: [PATCH] mm/memfd: reserve hugetlb folios before allocation Thread-Index: AQHbYNlXLMK0VcsakUKmVRp7t21GcbMLjQgAgADV7PCAAm0bgIAAqKvg Date: Fri, 10 Jan 2025 06:17:31 +0000 Message-ID: References: <20250107072517.2089633-1-vivek.kasireddy@intel.com> <12795c8f-11b6-4e31-aa1e-b3b4d3108c53@oracle.com> <7631067f-0a5f-4ba5-b630-d434a3ed2f72@oracle.com> In-Reply-To: <7631067f-0a5f-4ba5-b630-d434a3ed2f72@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA0PR11MB7185:EE_|CO1PR11MB4881:EE_ x-ms-office365-filtering-correlation-id: d0132e88-e01d-4c3c-e502-08dd313e7747 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Vm80M2VueE1PbGtKRWpZMSthWFo0TzVSckI2Y2V1Z0JiNlhNM1FNOGZDaWE5?= =?utf-8?B?bGUySG9nN0dpSHIycGJkMjl0M2grQXNaTUhtVUc1dXdKK1RaeENNc1dpcUJU?= =?utf-8?B?b0NVMmFzd1IydlFPenBIRWQ4YXo4bStTQ3pQL1R1U0xjeXZmK3JDUTdUdW44?= =?utf-8?B?N1FOcVlHVzdrNTBKa3NTNkZKbFN3enNQRzZNQ2tyL1NMVzhpenI0Z1ZXajNO?= =?utf-8?B?QklYdU1oOFBEQ2JHOUszVUVkdlhoUTBISGtQMVJodWNBZTVidDNLblpEOHhY?= =?utf-8?B?WFhONmlWZDE2Y2lwNkVmY3BUR2M3ZGJkUm94RjRtY3FyRWJtdXpSMVdUekxV?= =?utf-8?B?RmdtMFFpNnoyNXJwb2xUU2haRXY2UFprRU1KU3RYZ3kxdms2c0FkMDhGM01Q?= =?utf-8?B?MEhVRHpQbVVDM29iMEdyaXQ5bzJyYitSdGpxbWh1RmVpU0FCNzl2QkJHS0pL?= =?utf-8?B?dGtmeEg1K1VQbXl4QUhDVWVCSmordnJRemZINE43ZlF3Zy9lZG1Eb3ZiTk1z?= =?utf-8?B?YXJ4OFIvUWpxc2c4Qk8rQTFHbkd0Ynd6YmpNeUF0ZWlJbTZJL25wc0NIL3Rq?= =?utf-8?B?WjNObDZERGJxNkR4VURLaFBmcWtoc2xtaUhBMFovMThCQVZ0Tm5ieC96NWVJ?= =?utf-8?B?Mk8zWWlCSHFvcGU5dStCbWh2cnFXUStVQjExMEc1QUlBc0llV3p3djBaV2tw?= =?utf-8?B?SkQ4d0ovRGMrVS9Mc1JFR3I3VWpsM25LVnRBb0xUdmR6KzRBLzNJL3hOOFVB?= =?utf-8?B?eld0OCtTVzlUR3pRSExnY2dZKzJDRkI2UFRRN2dYZ0xFSlJtM00rSnMrZisw?= =?utf-8?B?TDJUTjJXZkQ3UEQ3anZsUnpzaUF5bHhxOEdweGNEQndpUTVJMzVzMWFYNko0?= =?utf-8?B?OFdZQW9jUXVmM0N2OUtWb2RpQUtkOGo5QVBJbElYNTBvNjBDWDZYZm1yK3ly?= =?utf-8?B?RnFFU3FXT2lzem5RdEh0aGlncGFna01tU0hXTE5BQXEwS2FYMy8zTStlZHlU?= =?utf-8?B?YUdlOGkxNnBicjY1MW8vOWZOR2lxbzc1ckNqSzJibnM4VkIrbC9YWEptMHBp?= =?utf-8?B?dU4vTC9nMDhQcjBWNVpQaTFTMG4yT3FFc1djMDJ6VC9Ja1pyNENWN3RuVWNZ?= =?utf-8?B?bGZyTGJTSGhuQmY1YVdFVGVkWVYycE5yNDk1UWdNS3JIMDhLK2Q0K05vUlZH?= =?utf-8?B?cXBZVTFmOW9SaTRHMHRPN0E5T29ac0JHWmpnUHB6Y2FVc3B2a2ROY3pBZUdL?= =?utf-8?B?T3NlVWFCOElmKzlocVJ5L214N2kzZ1o5Rkw0dnBuVXd2Y3VVUTFTcEpaclNR?= =?utf-8?B?U1NwaGlEa2V6dWQzSzhrVGlqV3ZkK0l1WmY0VFFrWndWeWUzTWFhMWZjMEJL?= =?utf-8?B?YkJ5UjJ2bndnbnBydEZmbDRnQ293UXd1QXVodER3Si90N2RKd2VSVU5PVTJR?= =?utf-8?B?MXdTQnAyMDRiTFBRQ0pPSHBPekFFblVSbXBzZEIxbzI1ODN4dENxL1dIOUMz?= =?utf-8?B?MjdiSUR4M0hSZjlMZnhlVDI4NWQxRXlGVkdDL1lqeklIazEwQzFxUUVnVVNZ?= =?utf-8?B?T1E0M2pzSkY1ZkswQUZrSDVBakdZMXIyWHhYVFRxZnpMUDd6MHZKbzFqVUJS?= =?utf-8?B?K09OVmt0YmpraUZ5cGZVeW5vc2JDK1BNV1dNY3ZNVDBib3pPdkc2OWk5UmhC?= =?utf-8?B?Y1ZBdDI3QXJhbGNvMDFRYXZidm5QQk94bVVuSFZubmlmK0hCK0x4dDJucXNL?= =?utf-8?B?Y0N2UFZnOExNWE1XY3JlOSswLzc5L25ES3c1dUlmUXZQWTZYRFdNcTNYR2ZP?= =?utf-8?B?TlFCRmZ6RFp3ZDJqTDVlSlAwdlh4NndXd1RwMzZZcjQ4YXQ5d2xCZlp5M3cz?= =?utf-8?B?OVRycGxHWTZSb3FxR2tnMVlrcFQ5ZmtJeFFIVEhCa1RCd2pJUXpPcWdEZHov?= =?utf-8?Q?sfnqaYHsPMb77BmxAs6XCMERIvIad7Ho?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR11MB7185.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bkRWNGw3dTY2K0dhRGdrWi9RZG8yenFqcHhDYldMRUNWOFhIenlpdVg5c3V2?= =?utf-8?B?WjlJVlc0dmZiaTAwSFNwR054Sm5tL3MxZ2NGb2d1SENhNEFVNDl3aXRsNE5j?= =?utf-8?B?VDE2ZWM3RlpLd2RsSjFSZnpJRjVzckNoVzZvL3N2dlBMTHE2L3pkWGFwMmUw?= =?utf-8?B?NElLclo2M0Jlc0VoZmJKWnBxdVk3TWxNdFlsamhWa0wvVmVibGk4bXVLbjdi?= =?utf-8?B?aHZmcS85QkVIVFIxUFlLR3NVeVc5c0N0MGdHRjJLMWpFMWFINnRRMFM0WlVi?= =?utf-8?B?dWtRdTZqZFNtN3RmdGJIZWFTS3l0TkpOZEErL0xJem1NakRMVkJBM0pOV3Rn?= =?utf-8?B?QmFxdk0vcTF3Umhld3VmOVJCb0MycW9uMk92d3hCbkVUUnFoVllIeE4vSCtz?= =?utf-8?B?ek1BU1JLUzI5OS9EWituZEZSMWdyMEE4V0ZmVVo4S0Z2TmJ0NjZ6SkprcGJm?= =?utf-8?B?RTh6OHpvM0lEZnBLcHd3Z2gyYWhnWTROOHhIZlBjSEFIajl6UkU3cXFjM0g5?= =?utf-8?B?SWp0SXBPNWZOeUI3bGpsd3dBcWNCNkxyYjdad1d4T2VOaXlMU043ZlVFK3R1?= =?utf-8?B?RlYrWnBEUHJmMjJ0Sm5WYXowalRKWnhUa3BHeWhVaDN4UTNiOEhBTW1wcDl5?= =?utf-8?B?bldTb0ljUW5zTG03SXcxcE5LaEgrWWluUGV4ZWJsaGI0VkRJdU1WUGQ2SnBs?= =?utf-8?B?dWQyeXYwMUdxdWVrZmhuWnhUY3Mzb2ViVVBBZkFub3lDRTdQSW5IbG5Ld21v?= =?utf-8?B?YzZPMWMwUy91QVZuNkFqc0ttVGpoOGt6UjNqalpJa0lUc2dHTUwzRkJoR0cy?= =?utf-8?B?SzRFVnE0V1FqdHF4ZSt3M1U2VFFRckFEdjc4dENCMFRIUW5IYytVM2JJRzg3?= =?utf-8?B?ZlpGQkhoaHZ1eSsrU2pOZXdTQUJ3SmF0UFl4TStHRjVwNDJjemRXM2t5czM2?= =?utf-8?B?dzM5UjBsMnM5aCt2WUllalhHeTZKZ1kzWU53OWdPVFBxZ1Q3V3BEQlBIYXFs?= =?utf-8?B?d1Y1TktaYWovc1pIUERVd0pOclNuL3ovUWFWM2JmM2ZIZ0k2UC82SEhNNVRi?= =?utf-8?B?cGRIbDJrcVRLbHJEOHhNUHYwWWhOcVh5MnMwSUttM1B2bHEraWtvQ0gzWFor?= =?utf-8?B?cnppaG02TWlhS1o5NnJoYkNOck9XVDVRREExS1UwWW5iaTRPSzFvbGQ1cmIz?= =?utf-8?B?amFsOHEzTzB3RExxVVUxbVlUNWpZZVRKa0txQWV4c08raWV6ajI0S2hpS0Ir?= =?utf-8?B?VFFmak9kazNqbXYySDRYRTdOUElOYkV2MGljMlJqdE5WM1lYWUZ5dTNtcVgx?= =?utf-8?B?MUVNRTNCVit2MHNmdzFBdU5CenZlcHhlaThUMGhFTVk4WGtLNjYrRDJ5VG5R?= =?utf-8?B?dWVoM2U5bWxmWHhJQTdNSEZ4UTNIbGNlVE9oNzdmeUJiaEdwMGpvT3gwVmxl?= =?utf-8?B?aVAxcThScWg2N3ZpT3A4U2x6TnhqS0EyWCs1cUdBTUlraW9PUFIwa05Odk5y?= =?utf-8?B?UGhpS2RtYWRjMzg0cVJZMWhNbWJUbGNYNDF2ckNTVVdOVCtvMng2cnBXWjlY?= =?utf-8?B?eTJmYTNWbUZOd2hLR3ZPLzNUTEVmV2VjZ01QVXMvUXZmM1NWVm1heFZuRjh3?= =?utf-8?B?SVJXSWhpZ0xBZTc0Y1VnVjJsMTFHTzRkeWZ2MzRqQVVPZWREOC9qR1JPZkpD?= =?utf-8?B?cXFtZ1NJSXFObmJlSUxLODJNMTZYdG00azlpUThXVE9naCtuS2MvS05sSkx1?= =?utf-8?B?MzJ4QjFvUDJhY3JsWVNiNHFwYkIrZTcyYlI1TzFTbUU3TVkxZ3h1Yy9rbEFL?= =?utf-8?B?Ty9PaWVydHBJODlDTzdYRWJYcGZsOGw1cXpkaXVVT3lzL01yREJoUnpVV2Va?= =?utf-8?B?YzZMVDhmVXBISm44NlF1SktzQTZNdkc5UFExSnU3L0xVVmtKWkRycXh4Y2hM?= =?utf-8?B?K0VXL09VQXFrMHlnM2lXa1liRnJSZ09jTUdvc2lVWXpncnk2b3VwVzdEUElV?= =?utf-8?B?Ry94dXZLbDVXRHROcWhqTDc3V1d4cjdYWlhNZ2NCaS9rODhOSVVvTEN3c2dh?= =?utf-8?B?WWs2dExicXZiQU5VMXBzblhaY3RvdWV0U1MxejZUNnVDTnVnUHdDNlZETGNz?= =?utf-8?Q?anQ7UenRRLagMDEXxKQl6Ho2o?= 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: IA0PR11MB7185.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d0132e88-e01d-4c3c-e502-08dd313e7747 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jan 2025 06:17:31.5296 (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: 8rpoHZZ/5bN7raUCqn3weHvCnNuuTwPBdeFH3g9WCpnCDMUHkgLO4Xui3slJu+vuJaZ5MzGohM4DOEIDsPs8gaG5X3DIpwBQxD9TRfy/usU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4881 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 8C9B2180006 X-Rspam-User: X-Stat-Signature: o6qkim1o8ng3985855xqdcsx8h6s7ha8 X-HE-Tag: 1736489855-874948 X-HE-Meta: U2FsdGVkX1/QtC1OSXEJ6zopnnJW6x+qDKouvSE2jLSSv3/2UB1z0eqYp+fkHzZnKNu1lNwhhzfWFvoeQBp4GTEe2eWooyjO7Ov73S5oX3bZAp2isjSEAv2WCn3FNEVpqyt+d1dKqFdNUegHnyzcwsKYTjiEmIM98Z91E0gvAKXUNiAYDoquaABDz1ng+4wwubnM2A0WrHOQNdFJ4PkEcttJb0TsOFYHK6Fgr2njS31XFXSG0M7tXQsZ4dhbV/Dy35ibjIx7d7n6LKGocf+XFhzQfYiG47/S6T1khoQ1T/uBTzYlPNoBn+H1v/inkhxGumxLxbRLV5jcRDr7R4148mfOSrOJ3FKmMGCvIM0jDpzaBtJVYHedHjzZ0O36+zeScui/bzUU3W/V94L1CYZF3b6wsHhz+kfrNk/xTHWUOFxK6jWfJMBLtmRJaIUcU8+Ij4S61l+LVw5ipX6nmMJJL5hCmVllK5P4VZsbvtQTGjPfgk0nSje0njXCSZYgi5szJCbN3BimGvNcGhiFum4v7GR1Pu0h614Wu5Ae34kMDD2yLxr1b+wEaTvlhCUYYEQc319ZSQ9v9SFk/wskZyuQx30rqfrvdPLZooxO0EC8QaHDQ5eYT8ogUDq3o2KBQbkEFQi/I9FfjIXz7nY83N5JHZPltIrkjGIryniJxUwJ4njDaq4WAa6iGIvXjRabv/wApTXnlgdsP5fQ06iDtR5qOKCiq65CRl8KO8sYsjOhen8LXN69clh+siAAoX0U1D1i+52WnytoIR2ei99ESce7cb/joqFUf7tYw13wNiZmftwWmZ1TvmmFEkVmMx+NsHqB41Y3Rpu9/dsOw8Me2UDup3ToQ4MVKjJ5FTtXsbSKqKdR8RASURLVbc+f82xyVunIiZqyIcf3P4Mg73GVpcT08I3MBJM2ce/y9cqsibm/czhIfaN9nl2dasdW0iUig0kYQ+8ZSu8tEAMND6rLnAx 10/Yrk09 PhxWAsDamAXgQJa8KJOAu1LM3lPgTGLxGRBEa4SoM98JpuSobJPlgf+cYojCeS5LfJbG3Uxn10tQrFuV9mqPfvzF2dqSit1hazc609pM86xLIQFwOAxw9lClPxM3yJtPMdG5LJRYDvyzcdi+HtSiKJF1nf0sTLec8T62fqiUFH/Luy5anC7fuBWlRGd522+WcTyM8UYAFhK1a3igZA9bKNL+XvqG9+y6CHspBSaqvyWQl8bKdANsXkEtv8lHwJ/wmHW62TpFYSqsbXhO6OJTus9QiXW9KHPd3A7e6AJ2KwfZX+sJjmyMdEQWMnZQcmOptCXJ4G90Cv6EHYEXvzM89XCgEeDe3NTBaF/0GBdwIN5TplIMwO6phrHDjbQ/+uULZHtbs17hvImTVN2R6SRxBpNoPnggv7BxRTlk2OGu+7K6UQTOE6KW/SyXGTqq5mCOzCPaeYMWJe3X/xvBor/Lzxjta9ve6+d161ftu5K6ELtgg/g3LWLP/I3yj0RE4IoCVHBd8kTQ5Q+j0Ytw17uYtkduKhY2iyRTwh8KC0IcapdbTqYW0zrrbPPjOqFS2sdlG7DHM2f75BQR+nzPDmwbGuYhYT5qvINKGVO8s/J7oxyj/k8WB0lb8YzZU4mLrqz5bxQazCYnt/+pxkH01cYCqJX4mvRGmHE9upMumJrOV5iUKKb5Kdqtrt5WjSVQSGBOdd5ZyAZwKU0eZPIRS78Jax5smcRnsLPeinwVLF2oMpejs0pO+hxvXlcmdvSqv8MjKnWan1jWr1UMbQNJAvRlKiBYmBBWnX9GxJ7DuVahTMgW+r9uL8rmWVfnahrIPc6lyUxsjfWsok+t+UVunYCgI6c42kLD9dOlJ5J0k 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: SGkgU3RldmUsDQoNCj4gU3ViamVjdDogUmU6IFtQQVRDSF0gbW0vbWVtZmQ6IHJlc2VydmUgaHVn ZXRsYiBmb2xpb3MgYmVmb3JlIGFsbG9jYXRpb24NCj4gDQo+ID4+PiBUaGVyZSBhcmUgY2FzZXMg d2hlbiB3ZSB0cnkgdG8gcGluIGEgZm9saW8gYnV0IGRpc2NvdmVyIHRoYXQgaXQgaGFzDQo+ID4+ PiBub3QgYmVlbiBmYXVsdGVkLWluLiBTbywgd2UgdHJ5IHRvIGFsbG9jYXRlIGl0IGluIG1lbWZk X2FsbG9jX2ZvbGlvKCkNCj4gPj4+IGJ1dCB0aGVyZSBpcyBhIGNoYW5jZSB0aGF0IHdlIG1pZ2h0 IGVuY291bnRlciBhIGNyYXNoL2ZhaWx1cmUNCj4gPj4+IChWTV9CVUdfT04oIWgtPnJlc3ZfaHVn ZV9wYWdlcykpIGlmIHRoZXJlIGFyZSBubyBhY3RpdmUgcmVzZXJ2YXRpb25zDQo+ID4+PiBhdCB0 aGF0IGluc3RhbnQuIFRoaXMgaXNzdWUgd2FzIHJlcG9ydGVkIGJ5IHN5emJvdDoNCj4gPj4+DQo+ ID4+PiBrZXJuZWwgQlVHIGF0IG1tL2h1Z2V0bGIuYzoyNDAzIQ0KPiA+Pj4gT29wczogaW52YWxp ZCBvcGNvZGU6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUCBLQVNBTiBOT1BUSQ0KPiA+Pj4gQ1BVOiAw IFVJRDogMCBQSUQ6IDUzMTUgQ29tbTogc3l6LjAuMCBOb3QgdGFpbnRlZA0KPiA+Pj4gNi4xMy4w LXJjNS1zeXprYWxsZXItMDAxNjEtZzYzNjc2ZWVmYjdhMCAjMA0KPiA+Pj4gSGFyZHdhcmUgbmFt ZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1MNCj4gPj4+IDEuMTYu My1kZWJpYW4tMS4xNi4zLTJ+YnBvMTIrMSAwNC8wMS8yMDE0DQo+ID4+PiBSSVA6IDAwMTA6YWxs b2NfaHVnZXRsYl9mb2xpb19yZXNlcnZlKzB4YmMvMHhjMCBtbS9odWdldGxiLmM6MjQwMw0KPiA+ Pj4gQ29kZTogMWYgZWIgMDUgZTggNTYgMTggYTAgZmYgNDggYzcgYzcgNDAgNTYgNjEgOGUgZTgg YmEgMjEgY2MgMDkgNGMgODkNCj4gPj4+IGYwIDViIDQxIDVjIDQxIDVlIDQxIDVmIDVkIGMzIGNj IGNjIGNjIGNjIGU4IDM1IDE4IGEwIGZmIDkwIDwwZj4gMGIgNjYNCj4gPj4+IDkwIDkwIDkwIDkw IDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIGYzIDBmDQo+ID4+PiBSU1A6 IDAwMTg6ZmZmZmM5MDAwZDNkNzdmOCBFRkxBR1M6IDAwMDEwMDg3DQo+ID4+PiBSQVg6IGZmZmZm ZmZmODFmZjZiZWIgUkJYOiAwMDAwMDAwMDAwMDAwMDAwIFJDWDogMDAwMDAwMDAwMDEwMDAwMA0K PiA+Pj4gUkRYOiBmZmZmYzkwMDBlNTFhMDAwIFJTSTogMDAwMDAwMDAwMDAwMDNlYyBSREk6IDAw MDAwMDAwMDAwMDAzZWQNCj4gPj4+IFJCUDogMWZmZmZmZmZmMzQ4MTBkOSBSMDg6IGZmZmZmZmZm ODFmZjZiYTMgUjA5OiAxZmZmZmQ0MDAwMDkzMDA1DQo+ID4+PiBSMTA6IGRmZmZmYzAwMDAwMDAw MDAgUjExOiBmZmZmZjk0MDAwMDkzMDA2IFIxMjogZGZmZmZjMDAwMDAwMDAwMA0KPiA+Pj4gUjEz OiBkZmZmZmMwMDAwMDAwMDAwIFIxNDogZmZmZmVhMDAwMDQ5ODAwMCBSMTU6IGZmZmZmZmZmOWE0 MDg2YzgNCj4gPj4+IEZTOiAgMDAwMDdmNzdhYzEyZTZjMCgwMDAwKSBHUzpmZmZmODg4MDFmYzAw MDAwKDAwMDApDQo+ID4+PiBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQo+ID4+PiBDUzogIDAwMTAg RFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzDQo+ID4+PiBDUjI6IDAwMDA3 Zjc3YWI1NGIxNzAgQ1IzOiAwMDAwMDAwMDQwYjcwMDAwIENSNDoNCj4gMDAwMDAwMDAwMDM1MmVm MA0KPiA+Pj4gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6 DQo+IDAwMDAwMDAwMDAwMDAwMDANCj4gPj4+IERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAw MDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAwDQo+ID4+PiBDYWxsIFRyYWNlOg0K PiA+Pj4gICAgPFRBU0s+DQo+ID4+PiAgICBtZW1mZF9hbGxvY19mb2xpbysweDFiZC8weDM3MCBt bS9tZW1mZC5jOjg4DQo+ID4+PiAgICBtZW1mZF9waW5fZm9saW9zKzB4ZjEwLzB4MTU3MCBtbS9n dXAuYzozNzUwDQo+ID4+PiAgICB1ZG1hYnVmX3Bpbl9mb2xpb3MgZHJpdmVycy9kbWEtYnVmL3Vk bWFidWYuYzozNDYgW2lubGluZV0NCj4gPj4+ICAgIHVkbWFidWZfY3JlYXRlKzB4NzBlLzB4MTBj MCBkcml2ZXJzL2RtYS1idWYvdWRtYWJ1Zi5jOjQ0Mw0KPiA+Pj4gICAgdWRtYWJ1Zl9pb2N0bF9j cmVhdGUgZHJpdmVycy9kbWEtYnVmL3VkbWFidWYuYzo0OTUgW2lubGluZV0NCj4gPj4+ICAgIHVk bWFidWZfaW9jdGwrMHgzMDEvMHg0ZTAgZHJpdmVycy9kbWEtYnVmL3VkbWFidWYuYzo1MjYNCj4g Pj4+ICAgIHZmc19pb2N0bCBmcy9pb2N0bC5jOjUxIFtpbmxpbmVdDQo+ID4+PiAgICBfX2RvX3N5 c19pb2N0bCBmcy9pb2N0bC5jOjkwNiBbaW5saW5lXQ0KPiA+Pj4gICAgX19zZV9zeXNfaW9jdGwr MHhmNS8weDE3MCBmcy9pb2N0bC5jOjg5Mg0KPiA+Pj4gICAgZG9fc3lzY2FsbF94NjQgYXJjaC94 ODYvZW50cnkvY29tbW9uLmM6NTIgW2lubGluZV0NCj4gPj4+ICAgIGRvX3N5c2NhbGxfNjQrMHhm My8weDIzMCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzo4Mw0KPiA+Pj4gICAgZW50cnlfU1lTQ0FM TF82NF9hZnRlcl9od2ZyYW1lKzB4NzcvMHg3Zg0KPiA+Pj4NCj4gPj4+IFRoZXJlZm9yZSwgdG8g YXZvaWQgdGhpcyBzaXR1YXRpb24gYW5kIGZpeCB0aGlzIGlzc3VlLCB3ZSBqdXN0IG5lZWQNCj4g Pj4+IHRvIG1ha2UgYSByZXNlcnZhdGlvbiBiZWZvcmUgd2UgdHJ5IHRvIGFsbG9jYXRlIHRoZSBm b2xpby4gV2hpbGUgYXQNCj4gPj4+IGl0LCBhbHNvIHJlbW92ZSB0aGUgVk1fQlVHX09OKCkgYXMg dGhlcmUgaXMgbm8gbmVlZCB0byBjcmFzaCB0aGUNCj4gPj4+IHN5c3RlbSBpbiB0aGlzIHNjZW5h cmlvIGFuZCBpbnN0ZWFkIHdlIGNvdWxkIGp1c3QgZmFpbCB0aGUgYWxsb2NhdGlvbi4NCj4gPj4+ DQo+ID4+PiBGaXhlczogMjZhOGVhODA5MjljICgibW0vaHVnZXRsYjogZml4IG1lbWZkX3Bpbl9m b2xpb3MNCj4gcmVzdl9odWdlX3BhZ2VzDQo+ID4+IGxlYWsiKQ0KPiA+Pj4gUmVwb3J0ZWQtYnk6 DQo+IHN5emJvdCthNTA0Y2I1YmFlNGZlMTE3YmE5NEBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29t DQo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBWaXZlayBLYXNpcmVkZHkgPHZpdmVrLmthc2lyZWRkeUBp bnRlbC5jb20+DQo+ID4+PiBDYzogU3RldmUgU2lzdGFyZSA8c3RldmVuLnNpc3RhcmVAb3JhY2xl LmNvbT4NCj4gPj4+IENjOiBNdWNodW4gU29uZyA8bXVjaHVuLnNvbmdAbGludXguZGV2Pg0KPiA+ Pj4gQ2M6IERhdmlkIEhpbGRlbmJyYW5kIDxkYXZpZEByZWRoYXQuY29tPg0KPiA+Pj4gQ2M6IEFu ZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+DQo+ID4+PiAtLS0NCj4gPj4+ ICAgIG1tL2h1Z2V0bGIuYyB8IDkgKysrKysrLS0tDQo+ID4+PiAgICBtbS9tZW1mZC5jICAgfCA1 ICsrKysrDQo+ID4+PiAgICAyIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pDQo+ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBhL21tL2h1Z2V0bGIuYyBiL21tL2h1 Z2V0bGIuYw0KPiA+Pj4gaW5kZXggYzQ5ODg3NGE3MTcwLi5lNDZjNDYxMjEwYTQgMTAwNjQ0DQo+ ID4+PiAtLS0gYS9tbS9odWdldGxiLmMNCj4gPj4+ICsrKyBiL21tL2h1Z2V0bGIuYw0KPiA+Pj4g QEAgLTIzOTcsMTIgKzIzOTcsMTUgQEAgc3RydWN0IGZvbGlvDQo+ICphbGxvY19odWdldGxiX2Zv bGlvX3Jlc2VydmUoc3RydWN0DQo+ID4+IGhzdGF0ZSAqaCwgaW50IHByZWZlcnJlZF9uaWQsDQo+ ID4+PiAgICAJc3RydWN0IGZvbGlvICpmb2xpbzsNCj4gPj4+DQo+ID4+PiAgICAJc3Bpbl9sb2Nr X2lycSgmaHVnZXRsYl9sb2NrKTsNCj4gPj4+ICsJaWYgKCFoLT5yZXN2X2h1Z2VfcGFnZXMpIHsN Cj4gPj4+ICsJCXNwaW5fdW5sb2NrX2lycSgmaHVnZXRsYl9sb2NrKTsNCj4gPj4+ICsJCXJldHVy biBOVUxMOw0KPiA+Pj4gKwl9DQo+ID4+DQo+ID4+IFRoaXMgc2hvdWxkIGJlIHRoZSBlbnRpcmUg Zml4LCBwbHVzIGRlbGV0aW5nIHRoZSBWTV9CVUdfT04uICBTZWUgYmVsb3cuDQo+ID4+DQo+ID4+ PiArDQo+ID4+PiAgICAJZm9saW8gPSBkZXF1ZXVlX2h1Z2V0bGJfZm9saW9fbm9kZW1hc2soaCwg Z2ZwX21hc2ssDQo+ID4+IHByZWZlcnJlZF9uaWQsDQo+ID4+PiAgICAJCQkJCSAgICAgICBubWFz ayk7DQo+ID4+PiAtCWlmIChmb2xpbykgew0KPiA+Pj4gLQkJVk1fQlVHX09OKCFoLT5yZXN2X2h1 Z2VfcGFnZXMpOw0KPiA+Pj4gKwlpZiAoZm9saW8pDQo+ID4+PiAgICAJCWgtPnJlc3ZfaHVnZV9w YWdlcy0tOw0KPiA+Pj4gLQl9DQo+ID4+Pg0KPiA+Pj4gICAgCXNwaW5fdW5sb2NrX2lycSgmaHVn ZXRsYl9sb2NrKTsNCj4gPj4+ICAgIAlyZXR1cm4gZm9saW87DQo+ID4+PiBkaWZmIC0tZ2l0IGEv bW0vbWVtZmQuYyBiL21tL21lbWZkLmMNCj4gPj4+IGluZGV4IDM1YTM3MGQ3NWM5YS4uYTMwMTJj NDQ0Mjg1IDEwMDY0NA0KPiA+Pj4gLS0tIGEvbW0vbWVtZmQuYw0KPiA+Pj4gKysrIGIvbW0vbWVt ZmQuYw0KPiA+Pj4gQEAgLTg1LDYgKzg1LDEwIEBAIHN0cnVjdCBmb2xpbyAqbWVtZmRfYWxsb2Nf Zm9saW8oc3RydWN0IGZpbGUNCj4gKm1lbWZkLA0KPiA+PiBwZ29mZl90IGlkeCkNCj4gPj4+ICAg IAkJZ2ZwX21hc2sgJj0gfihfX0dGUF9ISUdITUVNIHwgX19HRlBfTU9WQUJMRSk7DQo+ID4+PiAg ICAJCWlkeCA+Pj0gaHVnZV9wYWdlX29yZGVyKGgpOw0KPiA+Pj4NCj4gPj4+ICsJCWlmICghaHVn ZXRsYl9yZXNlcnZlX3BhZ2VzKGZpbGVfaW5vZGUobWVtZmQpLA0KPiA+Pj4gKwkJCQkJICAgaWR4 LCBpZHggKyAxLCBOVUxMLCAwKSkNCj4gPj4+ICsJCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsN Cj4gPj4NCj4gPj4gSSBiZWxpZXZlIGl0IGlzIHdyb25nIHRvIGZvcmNlIGEgcmVzZXJ2YXRpb24g aGVyZS4NCj4gPiBJcyB0aGVyZSBhbnkgcGFydGljdWxhciByZWFzb24gd2h5IHlvdSBiZWxpZXZl IGEgcmVzZXJ2YXRpb24gaGVyZSB3b3VsZCBiZQ0KPiB3cm9uZz8NCj4gPiBBRkFJQ1MsIGF0IHRo ZSBtb21lbnQsIHdlIGFyZSBub3QgZG9pbmcgYW55IHJlZ2lvbi9zdWJwb29sIGFjY291bnRpbmcN Cj4gYmVmb3JlDQo+ID4gb3VyIGZvbGlvIGFsbG9jYXRpb24gYW5kIHRoaXMgZ2V0cyBmbGFnZ2Vk IGluIHRoZSBmb3JtIG9mIGVsZXZhdGVkDQo+IHJlc3ZfaHVnZV9wYWdlcw0KPiA+IHZhbHVlICho dWdldGxiX2FjY3RfbWVtb3J5KCkgZWxldmF0ZXMgaXQgYmFzZWQgb24gdGhlIHJldHVybiB2YWx1 ZSBvZg0KPiByZWdpb25fZGVsKCkpDQo+ID4gd2hlbiBodWdldGxiX3VucmVzZXJ2ZV9wYWdlcygp IGV2ZW50dWFsbHkgZ2V0cyBjYWxsZWQuDQo+ID4NCj4gPj4gUGFnZXMgc2hvdWxkIGhhdmUgYWxy ZWFkeSBiZWVuDQo+ID4+IHJlc2VydmVkIGF0IHRoaXMgcG9pbnQsIGVnIGJ5IGNhbGxzIGZyb20g aHVnZXRsYmZzX2ZpbGVfbW1hcCBvcg0KPiBodWdldGxiX2ZpbGVfc2V0dXAuDQo+ID4gaHVnZXRs Yl9maWxlX3NldHVwKCkgZG9lcyBub3QgcmVzZXJ2ZSBhbnkgcGFnZXMgYXMgaXQgcGFzc2VzIGlu DQo+IFZNX05PUkVTRVJWRS4NCj4gPiBBbmQsIHRoZSBjYXNlIHdlIGFyZSB0cnlpbmcgdG8gYWRk cmVzcyBpcyBleGFjdGx5IHdoZW4NCj4gaHVnZXRsYmZzX2ZpbGVfbW1hcCgpIGRvZXMNCj4gPiBu b3QgZ2V0IGNhbGxlZCBiZWZvcmUgcGlubmluZy4NCj4gDQo+IEJ1dCB5b3UgbXVzdCBub3QgYnJl YWsgdGhlIGNhc2Ugd2hlcmUgaHVnZXRsYmZzX2ZpbGVfbW1hcCB3YXMgY2FsbGVkIGZpcnN0LCB3 aGljaA0KQUZBSUNTLCB0aGlzIHBhdGNoIGRvZXMgbm90IGJyZWFrIHRoZSBwcmltYXJ5IHVzZS1j YXNlIHdoZXJlIGh1Z2V0bGJmc19maWxlX21tYXAoKQ0KZ2V0cyBjYWxsZWQgZmlyc3QuDQoNCj4g cmVzZXJ2ZXMsIHRoZW4gbWVtZmRfYWxsb2NfZm9saW8gaXMgY2FsbGVkLCB3aGljaCByZXNlcnZl cyBhZ2FpbiB3aXRoIHlvdXIgZml4LiBEb2VzDQo+IHRoYXQgd29yayBjb3JyZWN0bHksIG9yIGRv IHRoZSBjb3VudHMgZ28gYmFkPw0KWWVzIGl0IHdvcmtzIGNvcnJlY3RseSBhbmQgYCBjYXQgL3By b2MvbWVtaW5mb3xncmVwIEh1Z2VgIGRvZXMgbm90IHNob3cgYW55DQp1bmV4cGVjdGVkIGNvdW50 cy4gDQoNCj4gDQo+ID4gU28sIHdoZW4gaHVnZXRsYmZzX2ZpbGVfbW1hcCgpIGRvZXMgZXZlbnR1 YWxseQ0KPiA+IGdldCBjYWxsZWQsIEkgZG9uJ3Qgc2VlIGFueSBwcm9ibGVtIGlmIGl0IGNhbGxz IGh1Z2V0bGJfcmVzZXJ2ZV9wYWdlcygpIGFnYWluDQo+IGZvciB0aGUNCj4gPiBzYW1lIHJhbmdl IG9yIG92ZXJsYXBwaW5nIHJhbmdlcy4NCj4gDQo+IERvZXMgdGhhdCB3b3JrIGNvcnJlY3RseSwg b3IgZG8gdGhlIGNvdW50cyBnbyBiYWQ/DQpJdCB3b3JrcyBjb3JyZWN0bHkgYXMgZXhwZWN0ZWQu IEFuZCwgYXMgbWVudGlvbmVkIHRvIERhdmlkIGluIGFub3RoZXIgZW1haWwsDQppZiBhIHJhbmdl IGlzIGFscmVhZHkgcmVzZXJ2ZWQsIGFuZCB3aGVuIGh1Z2V0bGJfcmVzZXJ2ZV9wYWdlcygpIGdl dHMgY2FsbGVkDQphZ2FpbiBmb3IgdGhlIHNhbWUgcmFuZ2UgKGluIHRoaXMgdXNlLWNhc2UpLCBp dCB3b3VsZCBtb3N0bHkgYmVjb21lIGEgbm8tb3ANCmFzIHJlZ2lvbl9jaGcoKSBhbmQgcmVnaW9u X2FkZCgpIHJldHVybiAwIChiYXNlZCBvbiBteSBsaWdodCB0ZXN0aW5nKS4NCg0KPiANCj4gUGxl YXNlIHRyeSB0aG9zZSBzY2VuYXJpb3Mgd2l0aCB5b3VyIHRlc3QgcHJvZ3JhbTogIG1tYXAgKw0K PiBtZW1mZF9hbGxvY19mb2xpbywgYW5kDQo+IG1lbWZkX2FsbG9jX2ZvbGlvICsgbW1hcC4NCkhl cmUgYXJlIHRoZSBzY2VuYXJpb3MgSSB0cmllZCAod2l0aCB0aGUgY2FsbHMgaW4gdGhlIGV4YWN0 IG9yZGVyIGFzIGJlbG93KToNCjEpIGh1Z2V0bGJmc19maWxlX21tYXAoKQ0KICAgIG1lbWZkX2Fs bG9jX2ZvbGlvKCkNCiAgICBodWdldGxiX2ZhdWx0KCkNCg0KMikgbWVtZmRfYWxsb2NfZm9saW8o KQ0KICAgIGh1Z2V0bGJmc19maWxlX21tYXAoKQ0KICAgIGh1Z2V0bGJfZmF1bHQoKQ0KDQozKSBo dWdldGxiZnNfZmlsZV9tbWFwKCkNCiAgICBodWdldGxiX2ZhdWx0KCkNCiAgICAgICAgYWxsb2Nf aHVnZXRsYl9mb2xpbygpDQoNCm1lbWZkX2FsbG9jX2ZvbGlvKCkgZG9lcyBub3QgZ2V0IGNhbGxl ZCBpbiB0aGUgbGFzdCBjYXNlIGFzIHRoZSBmb2xpbyBpcyBhbHJlYWR5DQphbGxvY2F0ZWQgKGFu ZCBpcyBwcmVzZW50IGluIHRoZSBwYWdlIGNhY2hlKS4gV2hpbGUgdGVzdGluZyBhbGwgdGhlc2Ug Y2FzZXMsIEkNCmRpZCBub3Qgbm90aWNlIGFueSBzcGxhdHMgb3IgbWVzc2VkLXVwIGNvdW50cy4g DQoNCklmIGl0IGlzIG5vdCB0b28gbXVjaCB0cm91YmxlLCBjb3VsZCB5b3UgcGxlYXNlIHRyeSB0 aGlzIHBhdGNoIHdpdGggeW91ciB0ZXN0LWNhc2VzPw0KDQpUaGFua3MsDQpWaXZlaw0KDQo+IA0K PiAtIFN0ZXZlDQo+IA0KPiA+PiBzeXpjYWxsZXIgaGFzIGZvcmNlZCBpdHMgd2F5IGRvd24gdGhp cyBwYXRoIHdpdGhvdXQgY2FsbGluZyB0aG9zZSBwcmUtDQo+IHJlcXVpc2l0ZXMsDQo+ID4+IGRv aW5nIHdlaXJkIHN0dWZmIGFzIGl0IHNob3VsZC4NCj4gPiBUaGlzIGlzc3VlIGlzIG5vdCB2ZXJ5 IGhhcmQgdG8gcmVwcm9kdWNlLiBJZiB3ZSBoYXZlIGZyZWVfaHVnZV9wYWdlcyA+IDANCj4gYW5k DQo+ID4gcmVzdl9odWdlX3BhZ2VzID0gMCwgYW5kIHRoZW4gd2UgY2FsbCBtZW1mZF9waW5fZm9s aW9zKCkgYmVmb3JlIG1tYXAoKS8NCj4gPiBodWdldGxiZnNfZmlsZV9tbWFwKCkgd2UgY2FuIGVh c2lseSBlbmNvdW50ZXIgdGhpcyBpc3N1ZS4gRnVydGhlcm1vcmUsIHdlDQo+ID4gc2hvdWxkIGJl IGFibGUgdG8gYWxsb2NhdGUgYSBmb2xpbyBpbiB0aGlzIHNjZW5hcmlvIChhcyBhdmFpbGFibGVf aHVnZV9wYWdlcw0KPiA+IDApLA0KPiA+IHdoaWNoIHdlIHdvdWxkIG5vdCBiZSBhYmxlIHRvIGRv IGlmIHdlIGRvbid0IGNhbGwgaHVnZXRsYl9yZXNlcnZlX3BhZ2VzKCkuDQo+ID4gTm90ZSB0aGF0 IGh1Z2V0bGJfcmVzZXJ2ZV9wYWdlcygpIGFjdHVhbGx5IGVsZXZhdGVzIHJlc3ZfaHVnZV9wYWdl cyBpbg0KPiA+IHRoaXMgY2FzZSBhbmQga2luZCBvZiBnaXZlcyBhIGdvLWFoZWFkIGZvciB0aGUg YWxsb2NhdGlvbi4NCj4gPg0KPiA+IEkgaGF2ZSB1c2VkIGEgc2xpZ2h0bHkgbW9kaWZpZWQgdWRt YWJ1ZiBzZWxmdGVzdCB0byByZXByb2R1Y2UgdGhpcyBpc3N1ZQ0KPiB3aGljaA0KPiA+IEknbGwg c2VuZCBvdXQgYXMgcGFydCBvZiB2Mi4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBWaXZlaw0KPiA+ DQo+ID4+DQo+ID4+IFRvIGZpeCwgSSBzdWdnZXN0IHlvdSBzaW1wbHkgZml4IGFsbG9jX2h1Z2V0 bGJfZm9saW9fcmVzZXJ2ZSBhcyBhYm92ZS4NCj4gPj4NCj4gPj4gLSBTdGV2ZQ0KPiA+Pg0KPiA+ Pj4gKw0KPiA+Pj4gICAgCQlmb2xpbyA9IGFsbG9jX2h1Z2V0bGJfZm9saW9fcmVzZXJ2ZShoLA0K PiA+Pj4gICAgCQkJCQkJICAgIG51bWFfbm9kZV9pZCgpLA0KPiA+Pj4gICAgCQkJCQkJICAgIE5V TEwsDQo+ID4+PiBAQCAtMTAwLDYgKzEwNCw3IEBAIHN0cnVjdCBmb2xpbyAqbWVtZmRfYWxsb2Nf Zm9saW8oc3RydWN0IGZpbGUNCj4gKm1lbWZkLA0KPiA+PiBwZ29mZl90IGlkeCkNCj4gPj4+ICAg IAkJCWZvbGlvX3VubG9jayhmb2xpbyk7DQo+ID4+PiAgICAJCQlyZXR1cm4gZm9saW87DQo+ID4+ PiAgICAJCX0NCj4gPj4+ICsJCWh1Z2V0bGJfdW5yZXNlcnZlX3BhZ2VzKGZpbGVfaW5vZGUobWVt ZmQpLCBpZHgsIGlkeCArIDEsIDEpOw0KPiA+Pj4gICAgCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVN KTsNCj4gPj4+ICAgIAl9DQo+ID4+PiAgICAjZW5kaWYNCj4gPg0KDQo=