From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2DEA328506F for ; Tue, 21 Apr 2026 15:26:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.20 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776785173; cv=fail; b=Mto2W8B0HHI+ni0uno6rM8MkQ6X9qrp9gZOrD22Or64HBUia58W1Q8Y4crWEx5E8oj7J+C6NLQ5TTkED/wLmE8TLZFbM9NXuD/5rpb0rum3um04n7fOWDHf2lOlCWqozDu1ZCc+IwJXbr0BauqKHEdbIEUEbrbAhH1V8gZRpz8E= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776785173; c=relaxed/simple; bh=h40F0ghQzoHQ7VWyeHPDwRvZ80JKaVdiLwdupy2aTCs=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=slUn+9SZrTZweIPEglzjJvyD4ItwvLpAB8ROUAAClUoiFgspvYrNFwVo7zBiwW9uXX4HM0KxbKUlgoQNyTh1IFxJGpJYrlZh+QreE43vtXFM1v7rfJ4vEyI03yItbO6KDqSHPYfhBrbpzF318mit81/WYM/UvZEbeabV7oyP7kA= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=WuOCUvci; arc=fail smtp.client-ip=198.175.65.20 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WuOCUvci" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1776785172; x=1808321172; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=h40F0ghQzoHQ7VWyeHPDwRvZ80JKaVdiLwdupy2aTCs=; b=WuOCUvciGKCuD77SkQmTgY3CPF8ycwAAzM3JkUe8xbWR7gHXdWys8WKH wEgQVZ1vZlzdKa5MqTG1mmz2Y0lW4/SRw0iRUQ8UQiacifsTcz3YELZ26 T/sOuj+WBfwS3aqnzwBQIExJ1uJ9F5RR5YR9jhaq1Jbts+9mQqnvyjXA0 UnzClEjF5g90SmPTexcSJLZHxl7yqu7RPHg6JyrnBkrIX1lmaGTbXIo8f m1wly1vpb4ryFyjLtR8CWwbwDoAqp6pEIVVy6OD/oWJhklBICOHZmwBYL OgwEHClZ9WkJ2Jsr1M1xO2qtc1drR4Zsz2FHbxXy/AW+TStd3criNDE6g w==; X-CSE-ConnectionGUID: uhNrOL4yTp2tRaLqqgBRXQ== X-CSE-MsgGUID: 37glFJyjSz6LyL+PpEaMDA== X-IronPort-AV: E=McAfee;i="6800,10657,11763"; a="77423996" X-IronPort-AV: E=Sophos;i="6.23,191,1770624000"; d="scan'208";a="77423996" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2026 08:25:48 -0700 X-CSE-ConnectionGUID: PAeyC6oWQbeacu+7MdhbEg== X-CSE-MsgGUID: ApwWiPt6R8iMBRZQTvGSbA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,191,1770624000"; d="scan'208";a="233847853" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2026 08:25:47 -0700 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Tue, 21 Apr 2026 08:25:47 -0700 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Tue, 21 Apr 2026 08:25:47 -0700 Received: from CH5PR02CU005.outbound.protection.outlook.com (40.107.200.49) by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Tue, 21 Apr 2026 08:25:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hPg2S1yBu0IWaA6PML5KotXnoI+TVyYEk78qMLuk2CWXNNl3ecN+9FXsEmDBh7dRmlI+WHiBc5j1qMURFsZcU6QevPKogTaztVHgHIdJjICLedwKk3EQVEyVjSN/PZDKeuPYPb/RItAFckP4reXYXsMG0GJxek9Hv6D3l5JveCcMncQBo2l980ELuAn5mCgYZ9lcIpuyCauXBWxVsRA1wyY1CJiygFEyZruw/7DxZfkYSESw90jQXIOF34vi3afocY6sCWBgbU5763x0c1GTQ3mt/ok0SIj+pn3OX+GcwigfPOLXzUStVe+kb9xocwbddDOxYB5JzOlzdUQul1Jw8Q== 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=h40F0ghQzoHQ7VWyeHPDwRvZ80JKaVdiLwdupy2aTCs=; b=IN2ibL2orAbgKLXwGG7AIub1IZqRZKcLFda0P5ML/m69sREimHC6vOsUd6yB5MKsMvPkAnIxx/DUbbR/9YbL2KmIerp7+MnehtPMTLlJ7T0m6siEBZZ5vZF5EUZWcA9bLHayK76lLQz0qzybOdxp5G2do2jVZD4iCZfIUJkHzQflQ1ryGbt7J+y+ktqmio4oXDGy3aY5EUDaTg5m3aLrJeDLkKS3yUxCoyhOvup1lDDOJjwuyljXiv8TkhzyFIWzrNlm3BE9nwUU50cnyRvt7JNkG0gauZRTWaTSYvfIkaN28O7P3tBveBYCSuynfEgKA2B8p412BPBQ2xVQ2AghcQ== 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 DS0PR11MB7733.namprd11.prod.outlook.com (2603:10b6:8:dc::19) by MN2PR11MB4712.namprd11.prod.outlook.com (2603:10b6:208:264::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.16; Tue, 21 Apr 2026 15:25:44 +0000 Received: from DS0PR11MB7733.namprd11.prod.outlook.com ([fe80::3e49:3435:98fa:130f]) by DS0PR11MB7733.namprd11.prod.outlook.com ([fe80::3e49:3435:98fa:130f%3]) with mapi id 15.20.9846.016; Tue, 21 Apr 2026 15:25:44 +0000 From: "Hellstrom, Thomas" To: "linux-kernel@vger.kernel.org" , "dave.hansen@linux.intel.com" CC: "Yu, Yu-cheng" , "riel@surriel.com" , "luto@kernel.org" , "x86@kernel.org" , "Cui, Ling" , "peterz@infradead.org" , "bp@alien8.de" , "mingo@redhat.com" , "tglx@kernel.org" Subject: Re: [PATCH] x86/mm: Revert INVLPGB optimization for set_memory code Thread-Topic: [PATCH] x86/mm: Revert INVLPGB optimization for set_memory code Thread-Index: AQHc0aI8IPpd1ij15E2aOaCckbatP7XpovYA Date: Tue, 21 Apr 2026 15:25:44 +0000 Message-ID: References: <20260421151909.6B3281C6@davehans-spike.ostc.intel.com> In-Reply-To: <20260421151909.6B3281C6@davehans-spike.ostc.intel.com> Accept-Language: en-SE, en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.58.3 (3.58.3-1.fc43) authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS0PR11MB7733:EE_|MN2PR11MB4712:EE_ x-ms-office365-filtering-correlation-id: cea613a3-c625-4fd3-3191-08de9fba414c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|10070799003|376014|1800799024|366016|38070700021|22082099003|18002099003|56012099003; x-microsoft-antispam-message-info: iu2rl+BreDSMkOhrrcu9Z6OIqOoQShelAbYwO1qx/I2BOE3aOb2dQIZ1UqJoGRWFUAQxaRu/m+ru3t5dH6kQGNNI0th8WpdRD8GgdLckmNISIAfiHqmeSYF4Ig9vESC9cANFVDImDfDVOvSjO0Rwb6uJsz2mlesH4Z5N5JpIzlZYYy9MaOJmkVxJyx1KAGNbW4HctU7mJOUptOXGqIu0+KTmWJHpuOrFnMSqpnpvuYB4+MOBaSRq0pxRYA/UmOiTCdI8x1jIHNrcNmvMrek9ckoCYmlyrOjo4C0898TICZR7Ppaog8/+oDAH0Shi70IgDB4JJvRyQn+udmUt/lFZ+FsFJoICLGJ8qY8DkoQrgcxgKg5UMsSxM72pWTvtAtHpo6FyZzBSn1lO4CpLiwseTO61nsvR/vd1XUMfSmmHKiR+BBPbJ5qh/ot8g0DgSHKWZNf5g5i0C0HmeBEiwIJx/+BMDkKagecWTgQcq5WrFAaH2dRvAOdVOkC8EiSDtFOBVLPzmcfXAeYZCLpr8a9f35IBO5yKkybOTZNbmfgIQrTd+CLyh09ry/WZ8YhBk9DRkTbFQFfkfA7AlGZcqkH0yP2T1VXXDjWI99prArZ69QXPpYY677PKLcnrUnSCUJOUvmebNM+MFX+dNAq6EOwEI6A/ix5gQ58afinaW8QZjBAC0Q596vTJFflx9tNZDKa7QWld1VwbsEoou1KYQC3WHBX5gl5ci6zE7POUF+b3nPek+40SCeoqsDMW9NOCXAV1qg4KMIEHS0oBtwnMH3j14v63yezvE082N16aJEDoIpY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR11MB7733.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(376014)(1800799024)(366016)(38070700021)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 2 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y3ZwRFgvMVhyVXVUR0FwMXRZRk45cFRCYlE2RkVHL1NuQkJZc2dMSUR4ME5z?= =?utf-8?B?MHpzNXpmZStCUzVFcVFGSy9XS1ZsZVlTRWRvWWJpb3Nzb2JDQVVIdGp6UHRl?= =?utf-8?B?akh4ZXQ2VER0M05vNXhXRms4UTJIRTY4dkI4WWE4aWl1Tlp6UUtZU21CVW9n?= =?utf-8?B?SmlGWWpQbmRYV1JUYlU2T1hKWCs5bFFjZ1JlcWh4ajA5SGNlZk1xUElaTzNC?= =?utf-8?B?MU4zd0JaTENmU2tjRDlzRzNIYlhiTGFpOStCRlFvWmFwYllTYmI2SHN2VE5J?= =?utf-8?B?RFN4RVU4bnlGY0pFWkNUTWl0YVZyam8wL2NlekY1MVhEemdrNlc0dmNUVkpU?= =?utf-8?B?VzN6UnpGL0c5QVlneDhRUzFQMTFuZTk4Vmc4eGZjUFlNZEdINExOS2w5Tk1q?= =?utf-8?B?bzFFcmRJMlI2bDltdGhMT2o3UUZVMjkyaU4vWjdBY24waW1ENXRIUko1ZjVn?= =?utf-8?B?VlRUSFJ5MjhFcklhM20xN2pCSCtWVjloZE41a09UOXhqVnFLc0s2TTUxdXVo?= =?utf-8?B?dlhDb1QyMzZMV2Y3TWFiN0xPTVNYeGQ0RlREOC91dHNZVlZxWXlnNC9SVU91?= =?utf-8?B?MWVJTU9xamNvelM0bTRMZnQ1VmRQS2huNjU1VCtYNXVsS0tEdWdkM29teTRm?= =?utf-8?B?M2NHY1Y1cS9jSWtNbk9JemdzRkNwb0YzL0svQllaQXZ6b0ozQUFBUkFRUDBU?= =?utf-8?B?SjJoUTBwenlYU05Ya0xrRmNUcWJVMFFtMitTT2VsVkFOWWQwYmVxMk1zWTh6?= =?utf-8?B?RzhIVkV3RndoSTZmYU9kMmRCNFBtaytnek1JVnNyc2lPVTZYcitCZW9LWC80?= =?utf-8?B?eTBZbk15Y3FPNkZtd0s0a1kycHpCZUZVb1hrOUtGanVMcTdkZzUvVVlvVkdT?= =?utf-8?B?ekJ0ZjZSUmR2MTZ1czJLeXp3ektSamhObzUwSWl6Zm9kTUdiZzNqOWhmbnc2?= =?utf-8?B?cHBUKyswN25mVjA0aTNBUHVUZW0ybVFQeXJZOXNFUDlTVXRqWkpLUFJOLzk1?= =?utf-8?B?ZmkzSGpDaFJhc3d6VkpzeWxkYlRHeTU3N092WVB3Y1FWb2lmc0JJSHdSanJO?= =?utf-8?B?RGZKQWJWc1o4VUpVMEtWQ1Bkb1pxNnFLQ1QyN09obTZZNFdzMnhSY0lWMmtB?= =?utf-8?B?M0NlODBibU1IRDZBU3RlZndkOUFUNUpzUEd1ZzJlcFUrdUpwWEQ3blBJYngw?= =?utf-8?B?Ymc1SGI2bFMzclZZdHQwUHQrUkVXSnNoSk5GU1A2RXI5MXRxNDMwYTlyRTdj?= =?utf-8?B?QTRhTEhBNWExSTg3VlZHZ20yVUQyc2t2MCtUbHhBbkZOaUQ2elF5dG5Gb0tu?= =?utf-8?B?Mk92L3JLckhsQzlHc1pkbFJTeVNRWXNpbjJRYXpOV3Rmc2RhangvTkhGek04?= =?utf-8?B?MnpWMmgreXI4d2c4THZhRXdiVkwyV0xGeExndXhpVkNrY2lqNXRTNXhGeGpu?= =?utf-8?B?THdERHRFMGNIZXpZMllpZXhSQ1BqYkdMZ092WmFxRnY2TXZMTmNrSzZId290?= =?utf-8?B?UUhPNklQRk5KZmZPYmwvWldLZkZGSlA5WVFHcmNXRUtBcTRqclNneXhpam94?= =?utf-8?B?TUE5NFVrSEpidlc2VlNTQ0tiRG1TNFlvR1dvMTM3bU8rQStDTXhIYnRFSkF3?= =?utf-8?B?d0RuZHpIS1NvRkQvRVhyc0QxbmliUTZCV1dBVG9ROWtzb3dpUmhhTlpyREpp?= =?utf-8?B?aFZDMU5UU0VwcktKS3FjM1BKZFBDMGk0N1RFNUFVc2liZ0pibGg2R0dxaWxY?= =?utf-8?B?NXpKODhlTDg2c01wdkhyeUNSTHNKYWhUNTZibTl0eURoeGU2UzdpU0hqVUdu?= =?utf-8?B?ZU04dkpOTHlDK0d5Q0pQNFRSNkFLdHV5ejd0WG1zdnZydDJ1Q2NWOG91NUoz?= =?utf-8?B?SWY2RXhkdHFjUXFKd3lCQ1ZLNGR0TDR0MVptZUdhd1lOL0tBOEZSaTVHSjFC?= =?utf-8?B?ckRMaG9nUXJpbm1Qd2x3QjBQbUZIYmZZZ2Q3ZmVMaElNcnJiVHdabUdPbUdy?= =?utf-8?B?SkkySVN0TStwNmtnOWRxZTFjR2tHejRMdEI5dFErSmlEbVZUREY2bjJvZ25p?= =?utf-8?B?SExPZWxnbUZWRVRTVmF1RGRzUktuL3pMNlRTajRZekhVWmdKUmxLNEVGUzI4?= =?utf-8?B?NEM4WldDWUEwNFp2a0FhUkhoY0R5UWJ4eU55SEhDRk5HLzRVRWg1K25kdVZu?= =?utf-8?B?VXBYVTR5ZGZZVnJwZ1U4N2tlYTc4VjdHTXRFMWtKaEJ1d0sweHg4YkFCWGtk?= =?utf-8?B?VFpBOWY5dGJrRnl6NHhBMFhwdVNBcFhEK1Y3VlR2OHNIdWt5QmZWdEw0cmV3?= =?utf-8?B?NEE1dXB0SENoMlBSNGw4aHBtR2ppL1BaKzZCdTROSWw1WmhDdnNURVZlL1NI?= =?utf-8?Q?Q9GqoYgVFJQTaIZz3PapNuQb3P/+z+9czFuRRsqjUepZf?= x-ms-exchange-antispam-messagedata-1: 6Gow7+dfYITH2A== Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: HkSiHugUvNRRVumdvsnJZVZnFdQqzmHltFTzOmtT/0PG+ZrYrKYCI/5nBHgHzpr2MQU6GGUqKfC0ze5ZAZrHD/yXgAcwy2tVOJHshmnAGSSsirZ0oA+j6l3gRuRtSKY35KxuQ9gpyKfQKMbKW6rmWosYoWN0tCiaKguWBOaiSYUbyZxgR3/6ZWLzDaktDa6QoOjvBViTrTymhJCbqxuHmTWzQlghhq9CgaCelPm4/8sBJqXHvQmnwKY85J+LJEgtFEEzBY84qUaS8OZM8agF7cpQvMAd5ZT4slD4jxKERS+jjIDmWy/c0l42hkMk61vtwtnsl4QV1AIlQ6u4+BtfDg== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7733.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cea613a3-c625-4fd3-3191-08de9fba414c X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2026 15:25:44.1381 (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: X92U79F+WqxcM3PXVq1taQgYHJCaQYAcluEfEfgnaxHwKH6M4BtxsJZmPnfPEmQADD59iR4Cz9J865d6tm3h8WblHYyS2xqBGf0hPzxP2bc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4712 X-OriginatorOrg: intel.com T24gVHVlLCAyMDI2LTA0LTIxIGF0IDA4OjE5IC0wNzAwLCBEYXZlIEhhbnNlbiB3cm90ZToNCj4g DQo+IEZyb206IERhdmUgSGFuc2VuIDxkYXZlLmhhbnNlbkBsaW51eC5pbnRlbC5jb20+DQo+IA0K PiB0bDtkcjogUmV2ZXJ0IGFuIElOVkxQR0Igb3B0aW1pemF0aW9uIHRoYXQgZGlkIG5vdCBwcm9w ZXJseSBoYW5kbGUNCj4gZGlzY29udGlndW91cyB2aXJ0dWFsIGFkZHJlc3Nlcy4NCj4gDQo+IEZ1 bGwgc3Rvcnk6DQo+IA0KPiBJIGdvdCBhIHJlcG9ydCBmcm9tIHNvbWUgZ3JhcGhpY3MgKGk5MTUp IGZvbGtzIHRoYXQgYmlzZWN0ZWQgYQ0KPiByZWdyZXNzaW9uIGluIHRoZWlyIHRlc3Qgc3VpdGUg dG8gODZlNjgxNWIzMTZlICgieDg2L21tOiBDaGFuZ2UNCj4gY3BhX2ZsdXNoKCkgdG8gY2FsbCBm bHVzaF9rZXJuZWxfcmFuZ2UoKSBkaXJlY3RseSIpLsKgIFRoZXJlIHdhcyBhIGJpdA0KPiBvZiBm bGlwLWZsb3BwaW5nIG9uIHRoZSBleGFjdCBiaXNlY3QsIGJ1dCB0aGUgY29kZSBoZXJlIGRvZXMg c2VlbQ0KPiB3cm9uZyB0byBtZS4gVGhlIGk5MTUgZm9sa3Mgd2VyZSBjYWxsaW5nIHNldF9wYWdl c19hcnJheV93YygpLCBzbw0KPiB1c2luZyB0aGUgQ1BBX1BBR0VTX0FSUkFZIG1vZGUuDQo+IA0K PiBCYXNpY2FsbHksIHRoZSAnc3RydWN0IGNwYV9kYXRhJyBjYW4gd3JhcCB1cCBhbGwga2luZHMg b2YgcGFnZSB0YWJsZQ0KPiBjaGFuZ2VzLsKgIFNvbWUgb2YgdGhlc2UgYXJlIHZpcnR1YWxseSBj b250aWd1b3VzLCBidXQgc29tZSBhcmUgdmVyeQ0KPiBtdWNoIG5vdCB3aGljaCBpcyBvbmUgcmVh c29uIHdoeSB0aGVyZSBhcmUgLT52YWRkciBhbmQgLT5wYWdlcw0KPiBhcnJheXMuDQo+IA0KPiA4 NmU2ODE1YjMxNmUgbWFkZSB0aGUgbWlzdGFrZSBvZiBhc3N1bWluZyB0aGF0IHRoZSB2aXJ0dWFs IGFkZHJlc3Nlcw0KPiBpbiB0aGUgY3BhX2RhdGEgYXJlIGFsd2F5cyBjb250aWd1b3VzLiBJdCBn b3QgdGhpbmdzIHJpZ2h0IHdoZW4NCj4gbmVpdGhlcg0KPiBDUEFfQVJSQVkvQ1BBX1BBR0VTX0FS UkFZIGlzIHVzZWQsIGJ1dCB0aGVvcmV0aWNhbGx5IHdyb25nIHdoZW4NCj4gZWl0aGVyDQo+IG9m IHRob3NlIGlzIHVzZWQuDQo+IA0KPiBJbiB0aGUgaTkxNSBjYXNlLCBpdCBwcm9iYWJseSBmYWls ZWQgdG8gZmx1c2ggc29tZSBXQiBUTEIgZW50cmllcyBhbmQNCj4gaW5zdGFsbCBXQyBvbmVzLCBs ZWF2aW5nIHNvbWUgZGF0YSBpbiB0aGUgY2FjaGVzIGFuZCBub3QgZmx1c2hpbmcgaXQNCj4gb3V0 IHRvIHdoZXJlIHRoZSBkZXZpY2UgY291bGQgc2VlIGl0LiBUaGF0IGV2ZW50dWFsbHkgY2F1c2Vk IGdyYXBoaWNzDQo+IHByb2JsZW1zLg0KPiANCj4gUmV2ZXJ0IHRoZSBJTlZMUEdCIG9wdGltaXph dGlvbi4gSXQgY2FuIGJlIHJlaW50cm9kdWNlZCBsYXRlciwgYnV0IGl0DQo+IHdpbGwgbmVlZCB0 byBiZSBhIGJpdCBjYXJlZnVsIGFib3V0IHRoZSBhcnJheSBtb2Rlcy4NCj4gDQo+IFNpZ25lZC1v ZmYtYnk6IERhdmUgSGFuc2VuIDxkYXZlLmhhbnNlbkBsaW51eC5pbnRlbC5jb20+DQo+IFJlcG9y dGVkLWJ5OiBDdWksIExpbmcgPGxpbmcuY3VpQGludGVsLmNvbT4NCj4gQ2M6IFl1LWNoZW5nIFl1 IDx5dS1jaGVuZy55dUBpbnRlbC5jb20+DQo+IENjOiBSaWsgdmFuIFJpZWwgPHJpZWxAc3Vycmll bC5jb20+DQo+IENjOiBIZWxsc3Ryb20sIFRob21hcyA8dGhvbWFzLmhlbGxzdHJvbUBpbnRlbC5j b20+DQo+IENjOiBBbmR5IEx1dG9taXJza2kgPGx1dG9Aa2VybmVsLm9yZz4NCj4gQ2M6IFBldGVy IFppamxzdHJhIDxwZXRlcnpAaW5mcmFkZWFkLm9yZz4NCj4gQ2M6IFRob21hcyBHbGVpeG5lciA8 dGdseEBrZXJuZWwub3JnPg0KPiBDYzogSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+DQo+ IENjOiBCb3Jpc2xhdiBQZXRrb3YgPGJwQGFsaWVuOC5kZT4NCj4gQ2M6IHg4NkBrZXJuZWwub3Jn DQoNClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51 eC5pbnRlbC5jb20+DQoNClRoYW5rcywNClRob21hcw0KDQoNCj4gLS0tDQo+IA0KPiDCoGIvYXJj aC94ODYvbW0vcGF0L3NldF9tZW1vcnkuYyB8wqDCoCAyMCArKysrKysrKysrKysrLS0tLS0tLQ0K PiDCoDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQ0KPiAN Cj4gZGlmZiAtcHVOIGFyY2gveDg2L21tL3BhdC9zZXRfbWVtb3J5LmN+cmV2ZXJ0LTg2ZTY4MTVi MzE2ZWMwZWE4DQo+IGFyY2gveDg2L21tL3BhdC9zZXRfbWVtb3J5LmMNCj4gLS0tIGEvYXJjaC94 ODYvbW0vcGF0L3NldF9tZW1vcnkuY35yZXZlcnQtDQo+IDg2ZTY4MTViMzE2ZWMwZWE4CTIwMjYt MDQtMjEgMDY6NTY6MjkuMjA4Njg2MzYyIC0wNzAwDQo+ICsrKyBiL2FyY2gveDg2L21tL3BhdC9z ZXRfbWVtb3J5LmMJMjAyNi0wNC0yMQ0KPiAwNjo1Nzo1NC45NDYwMTE5ODQgLTA3MDANCj4gQEAg LTM5OSw2ICszOTksMTUgQEAgc3RhdGljIHZvaWQgY3BhX2ZsdXNoX2FsbCh1bnNpZ25lZCBsb25n DQo+IMKgCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX2FsbCwgKHZvaWQgKikgY2FjaGUsIDEpOw0K PiDCoH0NCj4gwqANCj4gK3N0YXRpYyB2b2lkIF9fY3BhX2ZsdXNoX3RsYih2b2lkICpkYXRhKQ0K PiArew0KPiArCXN0cnVjdCBjcGFfZGF0YSAqY3BhID0gZGF0YTsNCj4gKwl1bnNpZ25lZCBpbnQg aTsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBjcGEtPm51bXBhZ2VzOyBpKyspDQo+ICsJCWZs dXNoX3RsYl9vbmVfa2VybmVsKGZpeF9hZGRyKF9fY3BhX2FkZHIoY3BhLCBpKSkpOw0KPiArfQ0K PiArDQo+IMKgc3RhdGljIGludCBjb2xsYXBzZV9sYXJnZV9wYWdlcyh1bnNpZ25lZCBsb25nIGFk ZHIsIHN0cnVjdCBsaXN0X2hlYWQNCj4gKnBndGFibGVzKTsNCj4gwqANCj4gwqBzdGF0aWMgdm9p ZCBjcGFfY29sbGFwc2VfbGFyZ2VfcGFnZXMoc3RydWN0IGNwYV9kYXRhICpjcGEpDQo+IEBAIC00 MzUsNyArNDQ0LDYgQEAgc3RhdGljIHZvaWQgY3BhX2NvbGxhcHNlX2xhcmdlX3BhZ2VzKHN0cg0K PiDCoA0KPiDCoHN0YXRpYyB2b2lkIGNwYV9mbHVzaChzdHJ1Y3QgY3BhX2RhdGEgKmNwYSwgaW50 IGNhY2hlKQ0KPiDCoHsNCj4gLQl1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQ7DQo+IMKgCXVuc2ln bmVkIGludCBpOw0KPiDCoA0KPiDCoAlCVUdfT04oaXJxc19kaXNhYmxlZCgpICYmICFlYXJseV9i b290X2lycXNfZGlzYWJsZWQpOw0KPiBAQCAtNDQ1LDEyICs0NTMsMTAgQEAgc3RhdGljIHZvaWQg Y3BhX2ZsdXNoKHN0cnVjdCBjcGFfZGF0YSAqYw0KPiDCoAkJZ290byBjb2xsYXBzZV9sYXJnZV9w YWdlczsNCj4gwqAJfQ0KPiDCoA0KPiAtCXN0YXJ0ID0gZml4X2FkZHIoX19jcGFfYWRkcihjcGEs IDApKTsNCj4gLQllbmQgPcKgwqAgc3RhcnQgKyBjcGEtPm51bXBhZ2VzICogUEFHRV9TSVpFOw0K PiAtCWlmIChjcGEtPmZvcmNlX2ZsdXNoX2FsbCkNCj4gLQkJZW5kID0gVExCX0ZMVVNIX0FMTDsN Cj4gLQ0KPiAtCWZsdXNoX3RsYl9rZXJuZWxfcmFuZ2Uoc3RhcnQsIGVuZCk7DQo+ICsJaWYgKGNw YS0+Zm9yY2VfZmx1c2hfYWxsIHx8IGNwYS0+bnVtcGFnZXMgPg0KPiB0bGJfc2luZ2xlX3BhZ2Vf Zmx1c2hfY2VpbGluZykNCj4gKwkJZmx1c2hfdGxiX2FsbCgpOw0KPiArCWVsc2UNCj4gKwkJb25f ZWFjaF9jcHUoX19jcGFfZmx1c2hfdGxiLCBjcGEsIDEpOw0KPiDCoA0KPiDCoAlpZiAoIWNhY2hl KQ0KPiDCoAkJZ290byBjb2xsYXBzZV9sYXJnZV9wYWdlczsNCj4gXw0K