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 7DB56C3DA6E for ; Mon, 8 Jan 2024 19:13:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D28528D0001; Mon, 8 Jan 2024 14:13:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CD76A6B0078; Mon, 8 Jan 2024 14:13:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B50BC8D0001; Mon, 8 Jan 2024 14:13:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 9E7A16B0075 for ; Mon, 8 Jan 2024 14:13:35 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 70467808EF for ; Mon, 8 Jan 2024 19:13:35 +0000 (UTC) X-FDA: 81657092790.19.E6B7E10 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04olkn2061.outbound.protection.outlook.com [40.92.45.61]) by imf20.hostedemail.com (Postfix) with ESMTP id B88E21C0026 for ; Mon, 8 Jan 2024 19:13:29 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=m+HLxHQS; spf=pass (imf20.hostedemail.com: domain of mhklinux@outlook.com designates 40.92.45.61 as permitted sender) smtp.mailfrom=mhklinux@outlook.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=outlook.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1704741209; a=rsa-sha256; cv=pass; b=hyGMq3SxyrSUv2zH98QmS2JgnFFLHsO+U+9nNpR+5Vk6mv0G5TI9+Gl3NWlPY5yvDu++Ah FkcyrBFrSOhXect5Tg/lphdS5ig8XPNlpWvfgwsrPgM444nUtS0BNkD8ahRIs20SltUgIh 276b3lmlqgc37t874uAaPOhkjbnDB2Q= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=m+HLxHQS; spf=pass (imf20.hostedemail.com: domain of mhklinux@outlook.com designates 40.92.45.61 as permitted sender) smtp.mailfrom=mhklinux@outlook.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=outlook.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704741209; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=IBAJYt+t9E67EsoO+qOnl4qqzP0i7UhnoSQx1Z2JACU=; b=jUOma9tLlWIkaqQUfxIG0m7utyjL7z7iyLO2NevPnIRuP+iTNTkuN2WDCR9tSC6wF9h244 HZw27lX9VDfjdgt5PkCoKKOjXuGoETTamio5yNKg03tUgmMGs1bTEDXJ0VOlHf9o4nEj43 6Ixpx42o3Pq1WB64f3J0rPLeanuhvTA= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I8Uq9uVqNJY2/pSzJt2Pm0rpsypw6rOVhqxEoogs9aw5heY0kObvO9KjFXuNNPliKBB7NPFpPZXPN3cdP2egZEJRshovaKdBiso9VAh3Ko9tPW0/nfu0N93MGSFjzOH4Pqq4J3u7C1CRIWVjSfzUTguAZjMtz/gm/Sys5KSKNp6y8y9rMvFjUO2WAVMz1Q8YC9CN3Xxjs54rGtxGUfxhbxR+QwMILjCv9kcfATa+CCjTX+KuBNp6DJ7fx5ZQ20zGQgEhrtxNOSZ6gUmACubmKlv7//J8aRkRFJPrhN6mmlTtT7lOxdwvVHunguMI2sTV8+FSbCbu88BtdftL3GlfTw== 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=IBAJYt+t9E67EsoO+qOnl4qqzP0i7UhnoSQx1Z2JACU=; b=GZHQTChZmXPSKB4q77R3Vud6+1vKeL9YCHTgg3jihnmLuKZUQGUFutn0vwH/OxCpwhADYRKfw6Hz7mTyJL5Dx00Q8lxGGgKecGhBi7W8+ZqOyH26KyfgB/PZgkCFC9h0evhB+ADgE0rJqgDOjwoHoFjg9kqYiDgfBOIc6rVDz8urEX7zWO7lbbUNUCUK1qI2bHMkVV0GcuqB+uuccGGSjUe8ncyAZ0syLG4CKzQI5/Yo6aEfYD9vRFR6XCGKQL2xv27FuTnnwm/p4W76bceETLSUkDZFSyddJ8bRDOf9MweQ6hrqRK/hmJ+sslgmc2PSDLBLuU/eYkqlv35Nzjfn5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IBAJYt+t9E67EsoO+qOnl4qqzP0i7UhnoSQx1Z2JACU=; b=m+HLxHQS5yX4kE1jAkJEFTkPeLFucYEADZsV1YTbERStE/5/BwZro7WGIjzbJlgZlGr5Pkp+BMml1aKGill0FMY5kV8sXbNhh1EHrtbsxTPl8355cpDlgDk0tvuP2ZXukUpMPyiM6KBYTHSnfCrtv3OdWXuwQ0hOrFb1MAi11jRJFRlu900K0k2iGfwFN7o/ZGOD6HAkt3kIzu3sQpDvgj6/RGhFfoEMyFUItmCZR3KDnoEJ+wAARM24Bcg5EXVoscPy7L8BNY67AMpI0fwYoTZ3xNOzFbyVQLISRkpJth5jsmlGJmlCxZ6d7cPlKfW4hPcENC4nzr1AxtpyUC+c0w== Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23) by CO6PR02MB7732.namprd02.prod.outlook.com (2603:10b6:303:b1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.21; Mon, 8 Jan 2024 19:13:25 +0000 Received: from SN6PR02MB4157.namprd02.prod.outlook.com ([fe80::3524:e4b3:632d:d8b2]) by SN6PR02MB4157.namprd02.prod.outlook.com ([fe80::3524:e4b3:632d:d8b2%4]) with mapi id 15.20.7159.020; Mon, 8 Jan 2024 19:13:25 +0000 From: Michael Kelley To: Kuppuswamy Sathyanarayanan , "tglx@linutronix.de" , "mingo@redhat.com" , "bp@alien8.de" , "dave.hansen@linux.intel.com" , "x86@kernel.org" , "hpa@zytor.com" , "kirill.shutemov@linux.intel.com" , "haiyangz@microsoft.com" , "wei.liu@kernel.org" , "decui@microsoft.com" , "luto@kernel.org" , "peterz@infradead.org" , "akpm@linux-foundation.org" , "urezki@gmail.com" , "hch@infradead.org" , "lstoakes@gmail.com" , "thomas.lendacky@amd.com" , "ardb@kernel.org" , "jroedel@suse.de" , "seanjc@google.com" , "rick.p.edgecombe@intel.com" , "linux-kernel@vger.kernel.org" , "linux-coco@lists.linux.dev" , "linux-hyperv@vger.kernel.org" , "linux-mm@kvack.org" Subject: RE: [PATCH v3 3/3] x86/hyperv: Make encrypted/decrypted changes safe for load_unaligned_zeropad() Thread-Topic: [PATCH v3 3/3] x86/hyperv: Make encrypted/decrypted changes safe for load_unaligned_zeropad() Thread-Index: AQHaQAV1hr9Lx3Gdjk27VQG8PMUDvrDQQ2sAgAAH5GA= Date: Mon, 8 Jan 2024 19:13:24 +0000 Message-ID: References: <20240105183025.225972-1-mhklinux@outlook.com> <20240105183025.225972-4-mhklinux@outlook.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [e9Kwn8fS9FRnnb8HSo+8SsOOgiZxf9m+] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|CO6PR02MB7732:EE_ x-ms-office365-filtering-correlation-id: d035d1e0-8d23-4639-020a-08dc107de349 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Lg6+rwT7105V4xPc10432QB8wehQRInFO7spHO7gol0XZokScAQINYT9UtCpJJpGQlkDD4jTTt/HUxzHUoMCtlgvOtDulkqzFqORNygeJM8P7kycSTTvw0nZXLkjCO5nSv3NdkF4SwTsiBLSUsfHkmIihQVQj/Z43VHStKa4hm5tt/4+gyEVgtFwCSMxJyUmCxyJ9i+94YB7Xme08mx9gJnNNi7EMR1B/vkZEYZehJiwoxmA8gitxdzA3Y24ugu8/1kegxMR/ViFeHj0ymIzM8vYLyHFQe3e6UvNuGfWYswc7Dkz1XLeyaUN2KMbsfswlgXZwY13zl3sd6uriDmk/TQdt4Nelt6NsEDxgKWlNEO00K0ALCMLGf75YmxJIkr3bmV3QCwRcSv3N9lHVPXDVYxJFCepB16PLe4XuaY0BQjFEn/xOtS5sCNbiwR/B6hJFYWy8DCdV54pkuEnpIRiSjLNNIFvHSEVVqabqxISZ67NRygZ7dqr177mebc8lp2ib5+hGyNVZOWs+mxM9kbjDZuOane+k+dRgqnBo6pkK08h/mHmdwLUJVO4UTTunWsW x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VUEzRS9oVXRUZVdvTnkyeU0vK1kvQWVJZFVEcHdGaVdhb25OTkFnakFsWTlH?= =?utf-8?B?UGtubGJLV3FlV0hyL1drN05OeDhQeXRkT05jOVZLQnY3K3llT2ZPMVRKRHNl?= =?utf-8?B?cE12L295WHE2T0Q3QjZpdFhydFdRSGs3RWpBQ0V5dFAvTTEyRHYvWjB3TEFR?= =?utf-8?B?eU1wWnl1U2JTZUZRUmd0dldCUWxYaGNxVzNxMFVNeTZiR3d1cU9yWkF4dlBj?= =?utf-8?B?SzdIR3h3dnphZzlpUXpsL2k3T1dublJaTXJOUW9Gc2g5MHFDZjdTT3I4NCtu?= =?utf-8?B?WHJXOEtEaW00UXJJVDlrR0duQWZHK1FBNktsWlRndEpvWnhpM2cwa0l6aTdP?= =?utf-8?B?eXpFbGd1WUdXSmxzQityTTloaVIrV0Z5L1hnL3JPanpnaWFNY2MzbU01YXRx?= =?utf-8?B?WUtGZ1ZyWFhmeDkvVTRHOE9ySFNxcm14OC84eXZ2KytmdFpCeGZHSnV3UVFC?= =?utf-8?B?T0grQXhzWXNHVlFJUTBBMTdxd25QcUppQjJFZ1dwRGxBU3Q0bUNadTZQVm1S?= =?utf-8?B?YWZvbEVRZXZrWkF0OFp4ZkpyMjRZNzNzcExXMHlUZlB0SFBoKzNuNk9lZEht?= =?utf-8?B?L2lPM1Z3MFMrUGJ5ZWZranN0M2E4cGowZUxRbWluSmFQTXVFRU9FVU94djdQ?= =?utf-8?B?Uk12a2o3ZlJHVlhzQTQzWHJOWXU2LytueEdiQ2dwcmVkYjBQQTRSZkVIMjJw?= =?utf-8?B?M2pmaUVPR3VTZ1lyT3FBTDRmNGRocDlIQjVsWko0Z2tDbGlNT3VaMjByREg4?= =?utf-8?B?eGRVcU1jMllGUFExTnQ3bDBObDZQdnU3aGhFWHI2ei9SRVIvcit4T01EZGZw?= =?utf-8?B?R2R5SERoaE81dnFpZVY5SWZiRG5aaDR2YUU5UUJnVG1KWVJnZnFPMHBvL2s3?= =?utf-8?B?Mnc1Y3YrUEd0STdPU3NFeTJxU3ZxdDJISXpwTXpsbWIxYXBkLzBPRUIzSFBX?= =?utf-8?B?aEM5N3ZXZmtBMTlSOWtYQnNmZkJlK0F4SFAwWCtyWWVHaHpZQjlvYTVrV0li?= =?utf-8?B?V1VUclE3dmQvd2tvVGFHMXE1QmR1aVJBcmlzSm5YZXpRMTh0R3Z0eTlMTXda?= =?utf-8?B?NHlFclc1ZG5LZ091Z0ZnWm45eE9wb1FzRmNRZVVHaDhJN0xOMjhuL3ZXT3VV?= =?utf-8?B?MW5yNEdrNGpXcENyTW9ib1h3S0IwZUNVVDU1R2ZjK1RMUWJOT2hJQWRlWjZj?= =?utf-8?B?M0ErZG4wNWsrekFuajZ0cWw4NlVDRGo3UjBtaEtYQ1BQSGtFOU9wekR6QzhI?= =?utf-8?B?ZjdXVkUzdUZTQ0RzMkxPWkVzM0tGb29rOGwzcXJxb29CNDJZcXNaV1k5Y1dG?= =?utf-8?B?Uzh4T3JjTDdZRGhTNWs2Q1RxM2xEM09hU3JuM0hrRVVHVnA2d1hNZzJIMzVG?= =?utf-8?B?dDZGaFoyajNlaVRxa05jRlZubDU5UGxSZ0dHS1BLTXZaK3A5cUljWGROOG1D?= =?utf-8?B?T2dlMzdFbFgzUnVCWTZpYTlvMkhpaXRqRjhjUnJlNHB2VHpGWHorZjZEVXJ1?= =?utf-8?B?MXpzUzlCSXZsckNuUlYvK05iOHBzbW05dld4TGo1Vk82enpqWXpNUVdvYUhF?= =?utf-8?B?dTF6RmdGOWdaUUZ3ejdTMnRLa3ZKVmpqUEdXVjI2bHhKRS9HQUJqTlIrV2Z2?= =?utf-8?B?SjJRN0tJY0VTMGt5Ui90NzZLMGl4dmc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: d035d1e0-8d23-4639-020a-08dc107de349 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2024 19:13:24.9580 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR02MB7732 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: B88E21C0026 X-Stat-Signature: bg1p3wsyjsgexedhgy45wdd3b5aay9bu X-Rspam-User: X-HE-Tag: 1704741209-547630 X-HE-Meta: U2FsdGVkX19wlx6aZKq2+QSO+k2QTDgOiIkPZrwZPXGY8ki4eShatEQtNjYA1/n1Jn0/hgmernlWRhgyJUBTldYkdLxvUcJfnVdr4AdTeHB4Z8SZZ9qudTxl9EKhk5VkenGX3kegzJO3wG+BSm/yweXeR4bikI1NQnvAa8TJYeMPUL64JD87ygGN0mY2q6+sdXHjbgT0DhCfrTLgY5HpPraqCTJmnlg6/qqkCm/5hXwlR4vKe5Ap2HEtIICZV6JAOvqAokz38h09r8nWt45qqMxqWaBgMaDi9PbqD3PG7Uk8QBw5/dr5V0Z4ec6MPdD/gCWnNYbshJCV18Pfeo4wjuwF5WSu1gVYS+BWQK+Iqir7v0sa7QHb9tr+xrSt7h3XbXrpLK63NIYKz5QmJnl6VrPILzyacuHXQaAl99GKOuUguGySNUpPxg/0PWFxjjI8zQVzcT2luxH3Nk7+mseurd0vvT0F+ccpCsZSiDOOHb4Dfixb6ZFZWHnkMj+Ga+MKgz9xflvXGnWPrfCusIrq2WHOrHIhb61uf6G7XfTrGLadrfBZyRHeBc+3SFxqIagqMjX07YreUBxFDRn647HF2QjfXZ89Lmnf8NzkGPB0oUszOQLq+9XEdaRUoX561yCdpQK+FMZw2H6btuw5DbUXrgqRUq58R7K/hxiufvh+iii/508PaXlSAvAw4dZf6lal2qcsRMnWMrXhKLvTVST18n2mEA2xL76fm02nE9i9vEq1XyUa2QfluuLCnu/zCs0XQ/AtT5+mZwLuTaZakOMNU3bD8nXdcvm8hUe4EVMQUFIJduhl2b8t2lkARCYEJxYfkJNvhXIvThUKOvvgsFvsTvrUZTRa9cCO4tuhIrbBQQYL14WLPHBuD3LMppYAzFefx9sUb7BwPB5FfzgutXcYbtkwzmkypLqQ8Ip6/KTmvhX5OL8bUttUC13ROEO/GbVtchFsE+MYmWeD1ByrMK3 tgZ3F0SP U4LZ7tDetZPCbP0TzoKCx/u0nV9pVtX5itZpHCS0iarogrOg+G2E3U/skNjJKp1LSH73uHeIsblfAD0ybyqj7Qf+ZujAXTJ21MoPiBAiwIS99u+UisU/xaFV5jDIL/PLESPqOetsARHo1gKYYkWITaph4FxMiSLJHsVBetnx6F8uge8ORRrgTt0forajRZ9QJVSghZJM8MXKea2oepHh3FQ5dy5navGftlv7mTthAWJwZA29oGOF1t+VfQqgvjwJ4Fd5tvsTh0yOyty8POrv9egPKo5I9UKSTr1S4mwSTm9jzAHU09xxCwhMighml/dixQuIgAyHBdSHaHUjziaA8iQu2MUwrTiWzoC9Aq5muR0ew7wSvt3cdVZnxc+2qpRpjED3JxjxnmSH2FY1/EbsKp6lH3OlGi/hZs9f9EctsiXziLZzxNMp+LH6T5jvx1eaOkvOsUaD+GzCTxG5gWbRRGzpbPymadf4FR9Hd93yhvauWXpxEBRXaKVSS2xja4DEhxoOQedQF7/CA+8ZmSBR7JwKTiSKoG/vfva5naJkvcTo8dT7zTXNvYv+xe1fCONkALI1rJgGsGUW8l9h+KY+RNeC+R8is9sjOc1mymajJMpMkXpjype1RgEDAqY02qW31tNwJcrE2o1vpM3JUyzz/V4025PFz2nTq/S+ccBH3NecIwHjmZAuB3L/csQ== 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: RnJvbTogS3VwcHVzd2FteSBTYXRoeWFuYXJheWFuYW4gPHNhdGh5YW5hcmF5YW5hbi5rdXBwdXN3 YW15QGxpbnV4LmludGVsLmNvbT4NClNlbnQ6IE1vbmRheSwgSmFudWFyeSA4LCAyMDI0IDEwOjM3 IEFNDQo+IA0KPiBPbiAxLzUvMjAyNCAxMDozMCBBTSwgbWhrZWxsZXk1OEBnbWFpbC5jb20gd3Jv dGU6DQo+ID4gRnJvbTogTWljaGFlbCBLZWxsZXkgPG1oa2xpbnV4QG91dGxvb2suY29tPg0KPiA+ DQo+ID4gSW4gYSBDb0NvIFZNLCB3aGVuIHRyYW5zaXRpb25pbmcgbWVtb3J5IGZyb20gZW5jcnlw dGVkIHRvIGRlY3J5cHRlZCwgb3INCj4gPiB2aWNlIHZlcnNhLCB0aGUgY2FsbGVyIG9mIHNldF9t ZW1vcnlfZW5jcnlwdGVkKCkgb3Igc2V0X21lbW9yeV9kZWNyeXB0ZWQoKQ0KPiA+IGlzIHJlc3Bv bnNpYmxlIGZvciBlbnN1cmluZyB0aGUgbWVtb3J5IGlzbid0IGluIHVzZSBhbmQgaXNuJ3QgcmVm ZXJlbmNlZA0KPiA+IHdoaWxlIHRoZSB0cmFuc2l0aW9uIGlzIGluIHByb2dyZXNzLiAgVGhlIHRy YW5zaXRpb24gaGFzIG11bHRpcGxlIHN0ZXBzLA0KPiA+IGFuZCB0aGUgbWVtb3J5IGlzIGluIGFu IGluY29uc2lzdGVudCBzdGF0ZSB1bnRpbCBhbGwgc3RlcHMgYXJlIGNvbXBsZXRlLg0KPiA+IEEg cmVmZXJlbmNlIHdoaWxlIHRoZSBzdGF0ZSBpcyBpbmNvbnNpc3RlbnQgY291bGQgcmVzdWx0IGlu IGFuIGV4Y2VwdGlvbg0KPiA+IHRoYXQgY2FuJ3QgYmUgY2xlYW5seSBmaXhlZCB1cC4NCj4gPg0K PiA+IEhvd2V2ZXIsIHRoZSBrZXJuZWwgbG9hZF91bmFsaWduZWRfemVyb3BhZCgpIG1lY2hhbmlz bSBjb3VsZCBjYXVzZSBhIHN0cmF5DQo+ID4gcmVmZXJlbmNlIHRoYXQgY2FuJ3QgYmUgcHJldmVu dGVkIGJ5IHRoZSBjYWxsZXIgb2Ygc2V0X21lbW9yeV9lbmNyeXB0ZWQoKQ0KPiA+IG9yIHNldF9t ZW1vcnlfZGVjcnlwdGVkKCksIHNvIHRoZXJlJ3Mgc3BlY2lmaWMgY29kZSB0byBoYW5kbGUgdGhp cyBjYXNlLg0KPiA+IEJ1dCBhIENvQ28gVk0gcnVubmluZyBvbiBIeXBlci1WIG1heSBiZSBjb25m aWd1cmVkIHRvIHJ1biB3aXRoIGEgcGFyYXZpc29yLA0KPiA+IHdpdGggdGhlICNWQyBvciAjVkUg ZXhjZXB0aW9uIHJvdXRlZCB0byB0aGUgcGFyYXZpc29yLiBUaGVyZSdzIG5vDQo+ID4gYXJjaGl0 ZWN0dXJhbCB3YXkgdG8gZm9yd2FyZCB0aGUgZXhjZXB0aW9ucyBiYWNrIHRvIHRoZSBndWVzdCBr ZXJuZWwsIGFuZA0KPiA+IGluIHN1Y2ggYSBjYXNlLCB0aGUgbG9hZF91bmFsaWduZWRfemVyb3Bh ZCgpIHNwZWNpZmljIGNvZGUgZG9lc24ndCB3b3JrLg0KPiA+DQo+ID4gVG8gYXZvaWQgdGhpcyBw cm9ibGVtLCBtYXJrIHBhZ2VzIGFzICJub3QgcHJlc2VudCIgd2hpbGUgYSB0cmFuc2l0aW9uDQo+ ID4gaXMgaW4gcHJvZ3Jlc3MuIElmIGxvYWRfdW5hbGlnbmVkX3plcm9wYWQoKSBjYXVzZXMgYSBz dHJheSByZWZlcmVuY2UsIGENCj4gPiBub3JtYWwgcGFnZSBmYXVsdCBpcyBnZW5lcmF0ZWQgaW5z dGVhZCBvZiAjVkMgb3IgI1ZFLCBhbmQgdGhlDQo+ID4gcGFnZS1mYXVsdC1iYXNlZCBmaXh1cCBo YW5kbGVycyBmb3IgbG9hZF91bmFsaWduZWRfemVyb3BhZCgpIHJlc29sdmUgdGhlDQo+ID4gcmVm ZXJlbmNlLiBXaGVuIHRoZSBlbmNyeXB0ZWQvZGVjcnlwdGVkIHRyYW5zaXRpb24gaXMgY29tcGxl dGUsIG1hcmsgdGhlDQo+ID4gcGFnZXMgYXMgInByZXNlbnQiIGFnYWluLg0KPiANCj4gQ2hhbmdl IGxvb2tzIGdvb2QgdG8gbWUuIEJ1dCBJIGFtIHdvbmRlcmluZyB3aHkgYXJlIGFkZGluZyBpdCBw YXJ0IG9mDQo+IHByZXBhcmUgYW5kIGZpbmlzaCBjYWxsYmFja3MgaW5zdGVhZCBvZiBkaXJlY3Rs eSBpbiBzZXRfbWVtb3J5X2VuY3J5cHRlZCgpIGZ1bmN0aW9uLg0KPiANCg0KVGhlIHByZXBhcmUv ZmluaXNoIGNhbGxiYWNrcyBhcmUgZGlmZmVyZW50IGZvciBURFgsIFNFVi1TTlAsIGFuZA0KSHlw ZXItViBDb0NvIGd1ZXN0cyBydW5uaW5nIHdpdGggYSBwYXJhdmlzb3IgLS0gc28gdGhlcmUgYXJl IHRocmVlIHNldHMNCm9mIGNhbGxiYWNrcy4gIEFzIGRlc2NyaWJlZCBpbiB0aGUgY292ZXIgbGV0 dGVyLCBJJ3ZlIGdpdmVuIHVwIG9uIHVzaW5nIHRoaXMNCnNjaGVtZSBmb3IgdGhlIFREWCBhbmQg U0VWLVNOUCBjYXNlcywgYmVjYXVzZSBvZiB0aGUgZGlmZmljdWx0eSB3aXRoDQp0aGUgU0VWLVNO UCBjYWxsYmFja3MgbmVlZGluZyBhIHZhbGlkIHZpcnR1YWwgYWRkcmVzcyAod2hlcmVhcyBURFgg YW5kDQpIeXBlci1WIHBhcmF2aXNvciBuZWVkIG9ubHkgYSBwaHlzaWNhbCBhZGRyZXNzKS4gIFNv IGl0IHNlZW1zIGxpa2UgdGhlDQpjYWxsYmFja3Mgc3BlY2lmaWMgdG8gdGhlIEh5cGVyLVYgcGFy YXZpc29yIGFyZSB0aGUgbmF0dXJhbCBwbGFjZSBmb3IgdGhlDQpjb2RlLiAgVGhhdCBsZWF2ZXMg dGhlIFREWCBhbmQgU0VWLVNOUCBjb2RlIHBhdGhzIHVuY2hhbmdlZCwgd2hpY2gNCndhcyBteSBp bnRlbnQuDQoNCk9yIG1heWJlIEknbSBub3QgdW5kZXJzdGFuZGluZyB5b3VyIGNvbW1lbnQ/ICBJ ZiB0aGF0J3MgdGhlIGNhc2UsDQpwbGVhc2UgZWxhYm9yYXRlLg0KDQpNaWNoYWVsDQoNCj4gUmV2 aWV3ZWQtYnk6IEt1cHB1c3dhbXkgU2F0aHlhbmFyYXlhbmFuDQo+IDxzYXRoeWFuYXJheWFuYW4u a3VwcHVzd2FteUBsaW51eC5pbnRlbC5jb20+DQo+IA0K