From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C19504713A for ; Tue, 30 Dec 2025 11:55:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B9FC84025A; Tue, 30 Dec 2025 11:55:25 +0100 (CET) Received: from CH4PR04CU002.outbound.protection.outlook.com (mail-northcentralusazon11013005.outbound.protection.outlook.com [40.107.201.5]) by mails.dpdk.org (Postfix) with ESMTP id 99B2E4025A for ; Tue, 30 Dec 2025 11:55:24 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=H5UB5tfAPEhLTpzAEZYzQVQurDsjN7TJZ4jmqGnbzd7UKiiCVPJqt1D7gfPNz9MyHtBH62Yf05JoAJVMS39DPHjZaGA/86FCr/hzWpw6dMRo6SMzMY3BqVJr2XX0vfnzsOLuegvZn+41UQJdhEXf3kfPj9Fw3WeC30cDICziEAvK6kAbm/w29DCbEjk+u+PsMCnfGXubi2+vp1SDTNN0XrZo+xkeZvkaRq4wPbJd7xm8AXfwoRAn/sNsjzMDv2a0+RG2BhdZ5mE4KlUmH990y+Qmu7Mubsi/9Lta3MoHmeIWT30TQIHGCukH/dRQyRLaPfvOjZIozjjGQ7RssKjoEg== 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=2/do7I3VMOEJDcJwhq0hTY5ySRWDPQ5EVbJjICKkexI=; b=I2Btm+uv92jNdMonwtYmWMZaESlcEZ9sWynhS8Ois22g1xn0Q2zHsHJNjWari15Cm6478UJ7PHple0A5mH3ONVbTcgt0GCDycNfXRLg5/qaXfm+Einox5iJ5vn1erp8yzgX6D59ocBjBzFtnplG98dHFk89f4jKv3J7y9RF7zxmtzvQzaJ9t76h0O58x+3L5NZiHspv2bb/IAXETF28JThpVjFyEfS9DTpE4FzDaFu0EbS0xAZCJR4/okBh+CXRoN4z86s0FjkA38tAo4se/dAA8KFqH0wvN1vIw88gpB98SJhjXP9l1kL9ovKm8q9qfhM1rE3F5lZMltT6ApX9SOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2/do7I3VMOEJDcJwhq0hTY5ySRWDPQ5EVbJjICKkexI=; b=Uou8qAnEDhtG1vCZ7MJLWNc8hNFvJzDy9XaRGqNQPp7KTMKkpLFpHQZb3q9IVvOR5TNOdU3wHvvkpfLqYLL0EBFOQX1UeyCUPL50fBrm6v9N8jlO+Vpdz5unNBi0YaM5xCh/SgTmQs6NcNxtLKDNPGnWOWyqxPfYwlxckuoroZFIg+SP/4b9Gd6n+m0m+CLOthNDcTqTPQXpqN2ruhoDWhUFQEoTjiv9DBdv45oqNQuolRu9knaAca8d4NmCHCCw0Ma5PxSbHYLERJwVsvTz7TVXVzl+syOK1YC3U7xsj9pf1j1NBAYgeUiSHWUHZew7rUfkxkgVFpVfsfFIn4jKrQ== Received: from MW4PR12MB7484.namprd12.prod.outlook.com (2603:10b6:303:212::14) by DS7PR12MB6357.namprd12.prod.outlook.com (2603:10b6:8:96::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9456.11; Tue, 30 Dec 2025 10:55:19 +0000 Received: from MW4PR12MB7484.namprd12.prod.outlook.com ([fe80::5a5:56d:2ea4:ee25]) by MW4PR12MB7484.namprd12.prod.outlook.com ([fe80::5a5:56d:2ea4:ee25%6]) with mapi id 15.20.9478.004; Tue, 30 Dec 2025 10:55:19 +0000 From: Shani Peretz To: Slava Ovsiienko , "stable@dpdk.org" CC: "ktraynor@redhat.com" , "bluca@debian.org" , Xueming Li , Dariusz Sosnowski Subject: RE: [PATCH 22.11] net/mlx5: fix control flow leakage for external SQ Thread-Topic: [PATCH 22.11] net/mlx5: fix control flow leakage for external SQ Thread-Index: AQHcWKvIHI37Upbdx02Q7L9FM7hOTbU6RCyQ Date: Tue, 30 Dec 2025 10:55:19 +0000 Message-ID: References: <20251118165158.1315992-1-viacheslavo@nvidia.com> In-Reply-To: <20251118165158.1315992-1-viacheslavo@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR12MB7484:EE_|DS7PR12MB6357:EE_ x-ms-office365-filtering-correlation-id: f565f4db-c5d5-406e-3bae-08de4791ec97 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|7053199007|38070700021; x-microsoft-antispam-message-info: =?utf-8?B?dEdUZm9hUHpIK0hGak5SV3ZvNXNXMGZGUFJPR01lNDhqZnVMYkVXUzV3Y3Zw?= =?utf-8?B?RWlwNDJ5ZkY2dWhxSEEwZTJ6OTkyVmVuMWdMK3hLQ1E5aDBKYkNET1Z3dlpI?= =?utf-8?B?ZkpqeEdXdWZOOTZZRTEzV29Dbmc0ek1ZMTVocEt2YVdPVEpBOFdOaW5HYUpi?= =?utf-8?B?Q0RVSHNsdytaZ2xWU0FCZlJMSDJDRyt2OThOOXRBSk9hN0hkQi9RM2FCOG96?= =?utf-8?B?eGpPMm1RQk14RVhSQ25UaDRXZHNtcW9RWkNuZ2hsZTMyN2YxUWRuWUZTTmhu?= =?utf-8?B?eDVJQzBERTVJNDBldE5LcSs0bEVxSDdyR2QrcitOQWQ4aWwxMkd5c3U0ZDBG?= =?utf-8?B?MXV4cExBSVJGREhtZU8rZk5LREE5eUVyN1J2RENjeG1mSFhiS2FFZ3BoSWNn?= =?utf-8?B?M3JiYUVkNDNIU2N6cXRpSU1ENGZSYWpXRjRJOUQ5R3hRd2l0dmo4bnAzMm5q?= =?utf-8?B?U2NnTXBxVmVKblRqd2R2RUVZMThWeGdHSmVad2FoMTIzR3FNWHdUV2hxWVBr?= =?utf-8?B?cTZsazlWbWRmT2NVZmZzcEx2WWRLcVRkcHNKalU3elhxSDlzcnVXQURTYkhz?= =?utf-8?B?dDdzaEIybEZVdFdUQkxtU3VYZ0NGL0taUzFSbkphaTJQbG94S1dCTDlOTUhR?= =?utf-8?B?bUpVQWNWNzdWYWtkUXNJam1QWVFJNlBicmNwODlmb2M4Q3E5T3haNXhIcjNI?= =?utf-8?B?N3Q1VVZhNTI3K1RFZ0hnNy94NHNXYVM2TXBxaTNUQjVoM3hvZGdOQlNXK2lW?= =?utf-8?B?U1FicDdrYitPb2p4aWJ0QzY3V0RPWTYyTjFSR0ttNWg3MHBvUHZqZDBtaldC?= =?utf-8?B?aHR4MFY2dVFaMC9TWkxraTlncWlZdFdBTTRDNGp2NkNvS3N2NnVrcGNMVHQ5?= =?utf-8?B?RUc4NS9BdmtrVTVSK2Z1dWh3TXFYeWVKalY4c2VYNWZHVUMwWXVJTUZ5UnQ5?= =?utf-8?B?NEZxTmoxZWlBVjJVZThxYUpzUmQrWWJVaHhlWFN6SEwzdmhoY2dpMDZXek1j?= =?utf-8?B?OW1YVDdsaVI4T09lWE9yUG05ZkJYaThsZThkd1VncVRzVFgxbEZiS1V2YkNx?= =?utf-8?B?Z0c0ajBSS1BiQ3dzdVhBNmhZYmZPeUdnNm9KWUk2L0VqRlBjODFQMmpHNmlI?= =?utf-8?B?dmNxWXgxYVdQaHNmdnZ0N1hLazdicVlmR2Fvb3pRdlFhOE9lK09HUmFuamxX?= =?utf-8?B?RDA0U1ZhTC9kMXhLOXd6Nm5oSDZkM3ptTm9wODE1ZWF4b2EyeE9RUi9GU3lJ?= =?utf-8?B?QnBhVGpzUjYzbWg2UTVzOGNOR3RxWTRmSHlZR1d0V0x1aVVBZXMzc1lMRVA5?= =?utf-8?B?Y1BnUGlwVG1KQzFWbnowWGM0dVA2MW1HRUI2Qi90OWI2a2J3alliT3lub1RL?= =?utf-8?B?MklHL0VWUHArNHNITnpnREllTkJ0OWtEck1qKzlwTXlDNFV5WmJWL0doMFdt?= =?utf-8?B?bGRhTjc0cnMxcU9FR3ZrZEFmWE50WjFyTTJDemtFeXAxS1BXSlB3R001M0RD?= =?utf-8?B?Rm80dm53eWRXTHJZTTVsQTNsazgzOFhqMDZuYWJUZXNBT0dJc0RkSXVNYW5W?= =?utf-8?B?V1p6U1gyODRTTW43MEQxNC8zc1I0NnhBZzFmUXBLd2QyeGRMUnJxckRwa1do?= =?utf-8?B?bUFZWDRCWUVBQlZXa0pqK29MZHJmS040YVdsL1NUWWtOQ21RMXEzcGJoeEFi?= =?utf-8?B?NGR4WUxER09ZTmhWcnZWc2xnMEZPU2pHejVURndzZkJTZHVlQzlBZnc0cllt?= =?utf-8?B?VXppdW9HSndSUDZtRVU3UUR0VjhXV3lJQmoxSzFscDJYZlpRUEcvd1lKUVpF?= =?utf-8?B?Tk0xT3NoeXRRQTVYWkZoY0FkcjlScWY3MEZudVJidGdFMWhwQkhENmJKTHhV?= =?utf-8?B?anRrNWo5eFoxK2xadnFVaHdTclBQRzQzaDByRnAyUjEweFdsNWF3czhxcmVG?= =?utf-8?B?MTdkWTA3Y2ZTM21tNUZLc1JHaDREUzFtMFVwRG1RVXc5UjdCNHMrQWk2RFZX?= =?utf-8?B?RlpBTDJjUm5FSFl0ekkyaERwVkMxdTVsQk1qbUxhKzBNeENPVjd3V0h0MTBu?= =?utf-8?Q?S+c9Xc?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW4PR12MB7484.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(7053199007)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T243SkRTbkpRcmt2b0Vtcjd6Vm10MitwUXl0WDFlRU4za3JMaDlmejFCbnVi?= =?utf-8?B?cjQ3YXk0RkRlMEs2ZVoxOHJTa09MYlp1cGJscXNwOFB2NE5uTk00YzJJLzA4?= =?utf-8?B?cXhCaStZK2pwZTZxSGdocXEwTlBvZHlNT01rLzE5TmZtcm0wR3ZMQVBpSElB?= =?utf-8?B?U2kvZmwrR2ZDc3J3WnMwbklnMHZXU2xFWVBIaXN4ODZUc21rUXlEVXZSZjBV?= =?utf-8?B?cHp4Y1NabWsweGMyaGFsb2NOT04xeXRiQUdDTkt1UUFDekxEb1hEeUZXVkl0?= =?utf-8?B?cmV6ZEV6NXRCSTI3bU8vaVgzQkZOR0pyOFV1SXArRVdhT3BBYlp3OThCS3Zs?= =?utf-8?B?NHdZVnBsQTVxUEVtaDhMd1lLUExXd01nRkQ4VHVBVzRWR2Z6dmFvUEc2VDVk?= =?utf-8?B?aldwY3lUNld1VWE5UlA2ZUwzZFhOd3ptMzY1MEJnNEdtMUMvUW1haFNKZm90?= =?utf-8?B?R1FkVlZVNm5hL1V0NWlGSHdPSWF6RFZ3amtoZEtESXFobXp5UVFGck9iYkxQ?= =?utf-8?B?YjN0MGppT010bU40dWNQNlQ4aTh1RXlCUkx2aUY0NnRicHJZcWl2NXZnckQz?= =?utf-8?B?U0tub3pKSnRuQzdRY0pkaHNtWHYvVTJ5N056bzNKK1I1QzNlYTZIVWJDVW9q?= =?utf-8?B?RVdGQjc5Mlk3VWJkaXYwTGkvWWNYeGdZeEhJTDV2OEFwanlDM2cvcURZaDI1?= =?utf-8?B?aDBTUXQxbHRhcFMwc3B6cFMvZHk2MVc1N3V0TGdqaFNMYS9nNjcxWkczN2Jq?= =?utf-8?B?czBqVlh0UnY5NXAyUTA1RnVlUkY5TG11VkpIdDhES2hCVEFzM2g0L0s3bFA2?= =?utf-8?B?b1NweUsyRFI1N01qdmVYelcwTzlGTldzaTkvbU80MCtzd0VmbDFQRitIek95?= =?utf-8?B?K0VSN2laVjJhVVlDUnZETWxTbHU5QzRUejB5Ym14eEMyU2swaDYyaFZDT0ky?= =?utf-8?B?TUcvVnpkTER3OSszaGtCNlR1UTNYWHpldnNLRXQxZGoyQ3pNMDk5MGJEWmUz?= =?utf-8?B?Rm9zUjNXamJQais4YVNBWndiRXJaaWRSMWRnNGk0dDNrREhEOWlkcFRUTDJo?= =?utf-8?B?S3FCWWxCTkVZUlZmN05WdXkwMVNTUVZkOFZmTGV5REN3Z2F5d0wyNU1qMXBH?= =?utf-8?B?VFQ0aU1jTTFzTno3aVFqMUZUZHEwQUI0TEdzb0NHVGJCUWo2MnZuTEZUSytm?= =?utf-8?B?azVTSFl5c1EybVE1cVVSYUxFYkNtODhqVmFWSHdmK3Z5NGw2Q0YrSWpQVGpD?= =?utf-8?B?Rk5nK1I3UEVTazFOMGFOQTlWVXhXZjJobzMvbkNiOWJlMnZMWEpuczI2SCty?= =?utf-8?B?ZGFLTzFwVEpyRjJORFdVNW05U1VuZFFXVm9NeDlTalNqU0xNM1BVUFh2Vmxr?= =?utf-8?B?cXREVGlYeTBIREdxbEhYbWp3TVBGTTlFcFYzMGVhbmNSdEd2L2hYUUFlV1o1?= =?utf-8?B?MzBTV3JpYy9HK3pWNGtvZktLVzVhYUEvdTZjWnlaaDlabzUwT2k5QnZwMzlt?= =?utf-8?B?RThkL2VLRWJhYTUvd1VodUZiZGhXbXdsZHBmVW14amRnS1kzZW5RQ3liU3l1?= =?utf-8?B?UkZGZWlqTGRwUFBmbG05MDU1NVRaemZSU1hsdjY5Mm5yZzQyNG9RbnZYSFhq?= =?utf-8?B?Y3J3amhkZCs5SjNacERVSWlJT2h1M3Nrc252Yjd2NmJTNFlxTUZwVGI0K1Vq?= =?utf-8?B?VzV5UlB5L2xzU0VtWnhieENUeFlXNmdxU0F5RHNmRGVtVjdveUZkVUVVV3Qy?= =?utf-8?B?bWxJWEZKN1Q5WkJEdCtiREEwdXp0YnYzZ2kwVCsrN1BqZ2VpUzAxV1A0aVFL?= =?utf-8?B?WGhOQzEvU1g2VElVZTJxYXVXMFFpVzVGYi9CQ2NwMlpQS1ZLblpFR0VoWXFP?= =?utf-8?B?QzJCRSsySSt4QXRFNzhTblV0SFZpWmxPbkYySG5IdmlvRnNPdUFGRm1YREJV?= =?utf-8?B?blJrM1BLQTlaNVVmc3g0bkFQVUVZL25TREhCT3VkaWNWeFIvR2syRmRYdTcx?= =?utf-8?B?M0pNd3JNeEVGTUVVVTJHUXRyNW5IZHY0YzFFU0t1UUxYeWZMYUpJL0dSWkdY?= =?utf-8?B?WmprRVVkckJmKzgxdXlza2syWjdXM09LKzJTSXhJUW85VjRtN0k2NWRUa2tj?= =?utf-8?B?MTNGWisrMHhjcWZ0MUVleXdDcjVLZmw1R0tPcmwxQVRvUG81Vk5aMGRmVDRq?= =?utf-8?B?QjVQM3Y0MHlvRDRzTXdQZzZrWGFhMUgyNTVxYXYvM00xZ2JxbTZIWHZoN0JE?= =?utf-8?B?eGZFSDVOYjJtTVl1cXM4a1FCU0p0YjZhR1grUkx4RSsxSDluczRLdm9YdEJi?= =?utf-8?Q?2nMCnwMODEjBf7L2rK?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB7484.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f565f4db-c5d5-406e-3bae-08de4791ec97 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Dec 2025 10:55:19.8335 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: fXst40bfs6lZmedfDof96zSJ9YwtJjHrd2ZFvxLHaZXFuTxmqAkM0+lbkTAm+Uw1h6v0lMnZvXKy6gY/mJOVPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6357 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVmlhY2hlc2xhdiBPdnNp aWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIDE4IE5vdmVt YmVyIDIwMjUgMTg6NTINCj4gVG86IHN0YWJsZUBkcGRrLm9yZw0KPiBDYzoga3RyYXlub3JAcmVk aGF0LmNvbTsgYmx1Y2FAZGViaWFuLm9yZzsgWHVlbWluZyBMaQ0KPiA8eHVlbWluZ2xAbnZpZGlh LmNvbT47IERhcml1c3ogU29zbm93c2tpIDxkc29zbm93c2tpQG52aWRpYS5jb20+DQo+IFN1Ympl Y3Q6IFtQQVRDSCAyMi4xMV0gbmV0L21seDU6IGZpeCBjb250cm9sIGZsb3cgbGVha2FnZSBmb3Ig ZXh0ZXJuYWwgU1ENCj4gDQo+IEV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxp bmtzIG9yIGF0dGFjaG1lbnRzDQo+IA0KPiANCj4gWyB1cHN0cmVhbSBjb21taXQgM2JmOWYwZjlm MGJlYjhkY2Q0ZjNiMzE2YzMyMTZhODdiYzlhYjQ5ZiBdDQo+IA0KPiBUaGVyZSBpcyB0aGUgcHJp dmF0ZSBBUEkgcnRlX3BtZF9tbHg1X2V4dGVybmFsX3NxX2VuYWJsZSgpLA0KPiB0aGF0IGFsbG93 cyBhcHBsaWNhdGlvbiB0byBjcmVhdGUgdGhlIFNlbmQgUXVldWUgKFNRKSBvbiBpdHMgb3duIGFu ZCB0aGVuDQo+IGVuYWJsZSB0aGlzIHF1ZXVlIHVzYWdlIGFzICJleHRlcm5hbCBTUSIuDQo+IA0K PiBPbiB0aGlzIGVuYWJsaW5nIGNhbGwgc29tZSBpbXBsaWNpdCBmbG93cyBhcmUgY3JlYXRlZCB0 byBwcm92aWRlIGNvbXBsaWFudCBTUXMNCj4gYmVoYXZpb3IgLSBjb3B5IG1ldGFkYXRhIHJlZ2lz dGVyLCBmb3J3YXJkIHF1ZXVlIG9yaWdpbmF0ZWQgcGFja2V0IHRvIGNvcnJlY3QNCj4gVkYsIGV0 Yy4NCj4gDQo+IFRoZXNlIGltcGxpY2l0IGZsb3dzIGFyZSBtYXJrZWQgYXMgImV4dGVybmFsIiBv bmVzLCBhbmQgdGhlcmUgaXMgbm8gY2xlYW51cCBvbg0KPiBkZXZpY2Ugc3RhcnQgYW5kIHN0b3Ag Zm9yIHRoaXMga2luZCBvZiBmbG93cy4NCj4gQWxzbywgUE1EIGhhcyBubyBrbm93bGVkZ2UgaWYg ZXh0ZXJuYWwgU1EgaXMgc3RpbGwgaW4gdXNlIGJ5IGFwcGxpY2F0aW9uIGFuZA0KPiBpbXBsaWNp dCBjbGVhbnVwIGNhbiBub3QgYmUgcGVyZm9ybWVkLg0KPiANCj4gQXMgYSByZXN1bHQsIG9uIG11 bHRpcGxlIGRldmljZSBzdGFydC9zdG9wIGN5Y2xlcyBhcHBsaWNhdGlvbiByZS1jcmVhdGVzIGFu ZCByZS0NCj4gZW5hYmxlcyBtYW55IGV4dGVybmFsIFNRcywgY2F1c2luZyBpbXBsaWNpdCBmbG93 IHRhYmxlcyBvdmVyZmxvdy4NCj4gDQo+IFRvIHJlc29sdmUgdGhpcyBpc3N1ZSB0aGUgcnRlX3Bt ZF9tbHg1X2V4dGVybmFsX3NxX2Rpc2FibGUoKQ0KPiBBUEkgaXMgcHJvdmlkZWQsIHRoYXQgYWxs b3dzIHRvIGFwcGxpY2F0aW9uIHRvIG5vdGlmeSBQTUQgdGhlIGV4dGVybmFsIFNRIGlzIG5vdA0K PiBpbiB1c2FnZSBhbnltb3JlIGFuZCByZWxhdGVkIGltcGxpY2l0IGZsb3dzIGNhbiBiZSBkaXNt aXNzZWQuDQo+IA0KPiBGaXhlczogMjZlMWVhZjJkYWM0ICgibmV0L21seDU6IHN1cHBvcnQgZGV2 aWNlIGNvbnRyb2wgZm9yIEUtU3dpdGNoIGRlZmF1bHQNCj4gcnVsZSIpDQo+IENjOiBzdGFibGVA ZHBkay5vcmcNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFZpYWNoZXNsYXYgT3ZzaWllbmtvIDx2aWFj aGVzbGF2b0BudmlkaWEuY29tPg0KPiBBY2tlZC1ieTogRGFyaXVzeiBTb3Nub3dza2kgPGRzb3Nu b3dza2lAbnZpZGlhLmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5o ICAgIHwgIDEyICsrLS0NCj4gIGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93X2h3LmMgfCAxMDYN Cj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gIGRyaXZlcnMvbmV0L21seDUv bWx4NV90cmlnZ2VyLmMgfCAgIDIgKy0NCj4gIGRyaXZlcnMvbmV0L21seDUvbWx4NV90eHEuYyAg ICAgfCAgNTQgKysrKysrKysrKysrKystLQ0KPiAgZHJpdmVycy9uZXQvbWx4NS9ydGVfcG1kX21s eDUuaCB8ICAxOCArKysrKysNCj4gIGRyaXZlcnMvbmV0L21seDUvdmVyc2lvbi5tYXAgICAgfCAg IDEgKw0KPiAgNiBmaWxlcyBjaGFuZ2VkLCAxODEgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25z KC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuaCBiL2Ry aXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmggaW5kZXgNCj4gZTU2NzJiNDFmOS4uMjM0YWZlYjE5 MyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuaA0KPiArKysgYi9k cml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5oDQo+IEBAIC0yNjMyLDEyICsyNjMyLDE2IEBAIGlu dCBtbHg1X2Zsb3dfaHdfZmx1c2hfY3RybF9mbG93cyhzdHJ1Y3QNCj4gcnRlX2V0aF9kZXYgKmRl dik7ICBpbnQgbWx4NV9mbG93X2h3X2Vzd19jcmVhdGVfc3FfbWlzc19mbG93KHN0cnVjdA0KPiBy dGVfZXRoX2RldiAqZGV2LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IHNxbiwgYm9vbCBleHRlcm5hbCk7ICBpbnQNCj4gbWx4NV9mbG93X2h3X2Vz d19kZXN0cm95X3NxX21pc3NfZmxvdyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3FuKTsNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3FuLCBib29s IGV4dGVybmFsKTsNCj4gIGludCBtbHg1X2Zsb3dfaHdfZXN3X2NyZWF0ZV9kZWZhdWx0X2p1bXBf ZmxvdyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQo+IGludCBtbHg1X2Zsb3dfaHdfY3JlYXRl X3R4X2RlZmF1bHRfbXJlZ19jb3B5X2Zsb3coc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg c3FuLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2wgZXh0ZXJuYWwpOw0KPiAtaW50IG1seDVfZmxvd19od190eF9yZXByX21hdGNoaW5nX2Zs b3coc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQzMl90DQo+IHNxbiwgYm9vbCBleHRlcm5h bCk7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3Qgc3FuLCBib29sDQo+ICtleHRlcm5hbCk7IGludCBtbHg1X2Zsb3dfaHdfZGVzdHJv eV90eF9kZWZhdWx0X21yZWdfY29weV9mbG93KHN0cnVjdA0KPiBydGVfZXRoX2RldiAqZGV2LA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBzcW4sIGJvb2wNCj4gK2V4dGVybmFsKTsgaW50IG1seDVfZmxvd19od19jcmVhdGVfdHhf cmVwcl9tYXRjaGluZ19mbG93KHN0cnVjdA0KPiBydGVfZXRoX2RldiAqZGV2LA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3FuLCBib29s DQo+ICtleHRlcm5hbCk7IGludCBtbHg1X2Zsb3dfaHdfZGVzdHJveV90eF9yZXByX21hdGNoaW5n X2Zsb3coc3RydWN0DQo+IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3FuLCBib29sDQo+ICtleHRlcm5h bCk7DQo+ICBpbnQgbWx4NV9mbG93X2h3X2xhY3BfcnhfZmxvdyhzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldik7ICBpbnQNCj4gbWx4NV9mbG93X2FjdGlvbnNfdmFsaWRhdGUoc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXYsDQo+ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9u c190ZW1wbGF0ZV9hdHRyICphdHRyLCBkaWZmIC0tZ2l0DQo+IGEvZHJpdmVycy9uZXQvbWx4NS9t bHg1X2Zsb3dfaHcuYyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93X2h3LmMgaW5kZXgNCj4g ZTNmNmUxYWEzYS4uYTg1YjQ5ZDI4NCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9t bHg1X2Zsb3dfaHcuYw0KPiArKysgYi9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvd19ody5jDQo+ IEBAIC05MTg0LDcgKzkxODQsNyBAQCBmbG93X2h3X2lzX21hdGNoaW5nX3NxX21pc3NfZmxvdyhz dHJ1Y3QNCj4gbWx4NV9od19jdHJsX2Zsb3cgKmNmLCAgfQ0KPiANCj4gIGludA0KPiAtbWx4NV9m bG93X2h3X2Vzd19kZXN0cm95X3NxX21pc3NfZmxvdyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwg dWludDMyX3QNCj4gc3FuKQ0KPiArbWx4NV9mbG93X2h3X2Vzd19kZXN0cm95X3NxX21pc3NfZmxv dyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDMyX3QNCj4gK3NxbiwgYm9vbCBleHRlcm5h bCkNCj4gIHsNCj4gICAgICAgICB1aW50MTZfdCBwb3J0X2lkID0gZGV2LT5kYXRhLT5wb3J0X2lk Ow0KPiAgICAgICAgIHVpbnQxNl90IHByb3h5X3BvcnRfaWQgPSBkZXYtPmRhdGEtPnBvcnRfaWQ7 IEBAIC05MjExLDcgKzkyMTEsOCBAQA0KPiBtbHg1X2Zsb3dfaHdfZXN3X2Rlc3Ryb3lfc3FfbWlz c19mbG93KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MzJfdA0KPiBzcW4pDQo+ICAgICAg ICAgICAgICFwcm94eV9wcml2LT5od19jdHJsX2ZkYi0+aHdfZXN3X3NxX21pc3Nfcm9vdF90Ymwg fHwNCj4gICAgICAgICAgICAgIXByb3h5X3ByaXYtPmh3X2N0cmxfZmRiLT5od19lc3dfc3FfbWlz c190YmwpDQo+ICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gLSAgICAgICBjZiA9IExJU1Rf RklSU1QoJnByb3h5X3ByaXYtPmh3X2N0cmxfZmxvd3MpOw0KPiArICAgICAgIGNmID0gZXh0ZXJu YWwgPyBMSVNUX0ZJUlNUKCZwcm94eV9wcml2LT5od19leHRfY3RybF9mbG93cykgOg0KPiArICAg ICAgICAgICAgICAgICAgICAgICBMSVNUX0ZJUlNUKCZwcm94eV9wcml2LT5od19jdHJsX2Zsb3dz KTsNCj4gICAgICAgICB3aGlsZSAoY2YgIT0gTlVMTCkgew0KPiAgICAgICAgICAgICAgICAgY2Zf bmV4dCA9IExJU1RfTkVYVChjZiwgbmV4dCk7DQo+ICAgICAgICAgICAgICAgICBpZiAoZmxvd19o d19pc19tYXRjaGluZ19zcV9taXNzX2Zsb3coY2YsIGRldiwgc3FuKSkgeyBAQCAtOTM0NSw4DQo+ ICs5MzQ2LDU4IEBAIG1seDVfZmxvd19od19jcmVhdGVfdHhfZGVmYXVsdF9tcmVnX2NvcHlfZmxv dyhzdHJ1Y3QNCj4gcnRlX2V0aF9kZXYgKmRldiwgdWludDMyX3QNCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLCAwLCBjb3B5X3JlZ19hY3Rpb24sIDAsICZm bG93X2luZm8sIGV4dGVybmFsKTsgIH0NCj4gDQo+ICtzdGF0aWMgYm9vbA0KPiArZmxvd19od19p c19tYXRjaGluZ190eF9tcmVnX2NvcHlfZmxvdyhzdHJ1Y3QgbWx4NV9od19jdHJsX2Zsb3cgKmNm LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXRo X2RldiAqZGV2LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IHNxbikgew0KPiArICAgICAgIGlmIChjZi0+b3duZXJfZGV2ICE9IGRldikNCj4gKyAgICAg ICAgICAgICAgIHJldHVybiBmYWxzZTsNCj4gKyAgICAgICBpZiAoY2YtPmluZm8udHlwZSA9PSBN TFg1X0hXX0NUUkxfRkxPV19UWVBFX1RYX01FVEFfQ09QWSAmJiBjZi0NCj4gPmluZm8udHhfcmVw cl9zcSA9PSBzcW4pDQo+ICsgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4gKyAgICAgICBy ZXR1cm4gZmFsc2U7DQo+ICt9DQo+ICsNCj4gK2ludA0KPiArbWx4NV9mbG93X2h3X2Rlc3Ryb3lf dHhfZGVmYXVsdF9tcmVnX2NvcHlfZmxvdyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gK3Vp bnQzMl90IHNxbiwgYm9vbCBleHRlcm5hbCkgew0KPiArICAgICAgIHVpbnQxNl90IHBvcnRfaWQg PSBkZXYtPmRhdGEtPnBvcnRfaWQ7DQo+ICsgICAgICAgdWludDE2X3QgcHJveHlfcG9ydF9pZCA9 IGRldi0+ZGF0YS0+cG9ydF9pZDsNCj4gKyAgICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXYgKnByb3h5 X2RldjsNCj4gKyAgICAgICBzdHJ1Y3QgbWx4NV9wcml2ICpwcm94eV9wcml2Ow0KPiArICAgICAg IHN0cnVjdCBtbHg1X2h3X2N0cmxfZmxvdyAqY2Y7DQo+ICsgICAgICAgc3RydWN0IG1seDVfaHdf Y3RybF9mbG93ICpjZl9uZXh0Ow0KPiArICAgICAgIGludCByZXQ7DQo+ICsNCj4gKyAgICAgICBy ZXQgPSBydGVfZmxvd19waWNrX3RyYW5zZmVyX3Byb3h5KHBvcnRfaWQsICZwcm94eV9wb3J0X2lk LCBOVUxMKTsNCj4gKyAgICAgICBpZiAocmV0KSB7DQo+ICsgICAgICAgICAgICAgICBEUlZfTE9H KEVSUiwgIlVuYWJsZSB0byBwaWNrIHRyYW5zZmVyIHByb3h5IHBvcnQgZm9yIHBvcnQgJXUuDQo+ IFRyYW5zZmVyIHByb3h5ICINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9ydCBt dXN0IGJlIHByZXNlbnQgZm9yIGRlZmF1bHQgU1EgbWlzcyBmbG93IHJ1bGVzIHRvIGV4aXN0LiIs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydF9pZCk7DQo+ICsgICAgICAgICAg ICAgICByZXR1cm4gcmV0Ow0KPiArICAgICAgIH0NCj4gKyAgICAgICBwcm94eV9kZXYgPSAmcnRl X2V0aF9kZXZpY2VzW3Byb3h5X3BvcnRfaWRdOw0KPiArICAgICAgIHByb3h5X3ByaXYgPSBwcm94 eV9kZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KPiArICAgICAgIGlmICghcHJveHlfcHJpdi0+ZHJf Y3R4IHx8DQo+ICsgICAgICAgICAgICFwcm94eV9wcml2LT5od19jdHJsX2ZkYiB8fA0KPiArICAg ICAgICAgICAhcHJveHlfcHJpdi0+aHdfY3RybF9mZGItPmh3X3R4X21ldGFfY3B5X3RibCkNCj4g KyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPiArICAgICAgIGNmID0gZXh0ZXJuYWwgPyBMSVNU X0ZJUlNUKCZwcm94eV9wcml2LT5od19leHRfY3RybF9mbG93cykgOg0KPiArICAgICAgICAgICAg ICAgICAgICAgICBMSVNUX0ZJUlNUKCZwcm94eV9wcml2LT5od19jdHJsX2Zsb3dzKTsNCj4gKyAg ICAgICB3aGlsZSAoY2YgIT0gTlVMTCkgew0KPiArICAgICAgICAgICAgICAgY2ZfbmV4dCA9IExJ U1RfTkVYVChjZiwgbmV4dCk7DQo+ICsgICAgICAgICAgICAgICBpZiAoZmxvd19od19pc19tYXRj aGluZ190eF9tcmVnX2NvcHlfZmxvdyhjZiwgZGV2LCBzcW4pKSB7DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgIGNsYWltX3plcm8oZmxvd19od19kZXN0cm95X2N0cmxfZmxvdyhwcm94eV9kZXYs IGNmLT5mbG93KSk7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIExJU1RfUkVNT1ZFKGNmLCBu ZXh0KTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgbWx4NV9mcmVlKGNmKTsNCj4gKyAgICAg ICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgIGNmID0gY2ZfbmV4dDsNCj4gKyAgICAgICB9 DQo+ICsgICAgICAgcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gIGludA0KPiAtbWx4NV9mbG93X2h3 X3R4X3JlcHJfbWF0Y2hpbmdfZmxvdyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWludDMyX3Qg c3FuLA0KPiBib29sIGV4dGVybmFsKQ0KPiArbWx4NV9mbG93X2h3X2NyZWF0ZV90eF9yZXByX21h dGNoaW5nX2Zsb3coc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ICt1aW50MzJfdCBzcW4sIGJv b2wgZXh0ZXJuYWwpDQo+ICB7DQo+ICAgICAgICAgc3RydWN0IG1seDVfcHJpdiAqcHJpdiA9IGRl di0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+ICAgICAgICAgc3RydWN0IG1seDVfcnRlX2Zsb3dfaXRl bV9zcSBzcV9zcGVjID0geyBAQCAtOTQwMyw2ICs5NDU0LDU1IEBADQo+IG1seDVfZmxvd19od190 eF9yZXByX21hdGNoaW5nX2Zsb3coc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQzMl90IHNx biwNCj4gYm9vbCBlDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp dGVtcywgMCwgYWN0aW9ucywgMCwgJmZsb3dfaW5mbywgZXh0ZXJuYWwpOyAgfQ0KPiANCj4gK3N0 YXRpYyBib29sDQo+ICtmbG93X2h3X2lzX3R4X21hdGNoaW5nX3JlcHJfbWF0Y2hpbmdfZmxvdyhz dHJ1Y3QgbWx4NV9od19jdHJsX2Zsb3cgKmNmLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3FuKSB7DQo+ICsgICAgICAg aWYgKGNmLT5vd25lcl9kZXYgIT0gZGV2KQ0KPiArICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl Ow0KPiArICAgICAgIGlmIChjZi0+aW5mby50eXBlID09IE1MWDVfSFdfQ1RSTF9GTE9XX1RZUEVf VFhfUkVQUl9NQVRDSCAmJiBjZi0NCj4gPmluZm8udHhfcmVwcl9zcSA9PSBzcW4pDQo+ICsgICAg ICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4gKyAgICAgICByZXR1cm4gZmFsc2U7DQo+ICt9DQo+ ICsNCj4gK2ludA0KPiArbWx4NV9mbG93X2h3X2Rlc3Ryb3lfdHhfcmVwcl9tYXRjaGluZ19mbG93 KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiArdWludDMyX3Qgc3FuLCBib29sIGV4dGVybmFs KSB7DQo+ICsgICAgICAgdWludDE2X3QgcG9ydF9pZCA9IGRldi0+ZGF0YS0+cG9ydF9pZDsNCj4g KyAgICAgICB1aW50MTZfdCBwcm94eV9wb3J0X2lkID0gZGV2LT5kYXRhLT5wb3J0X2lkOw0KPiAr ICAgICAgIHN0cnVjdCBydGVfZXRoX2RldiAqcHJveHlfZGV2Ow0KPiArICAgICAgIHN0cnVjdCBt bHg1X3ByaXYgKnByb3h5X3ByaXY7DQo+ICsgICAgICAgc3RydWN0IG1seDVfaHdfY3RybF9mbG93 ICpjZjsNCj4gKyAgICAgICBzdHJ1Y3QgbWx4NV9od19jdHJsX2Zsb3cgKmNmX25leHQ7DQo+ICsg ICAgICAgaW50IHJldDsNCj4gKw0KPiArICAgICAgIHJldCA9IHJ0ZV9mbG93X3BpY2tfdHJhbnNm ZXJfcHJveHkocG9ydF9pZCwgJnByb3h5X3BvcnRfaWQsIE5VTEwpOw0KPiArICAgICAgIGlmIChy ZXQpIHsNCj4gKyAgICAgICAgICAgICAgIERSVl9MT0coRVJSLCAiVW5hYmxlIHRvIHBpY2sgdHJh bnNmZXIgcHJveHkgcG9ydCBmb3IgcG9ydCAldS4NCj4gVHJhbnNmZXIgcHJveHkgIg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJwb3J0IG11c3QgYmUgcHJlc2VudCBmb3IgZGVmYXVs dCBTUSBtaXNzIGZsb3cgcnVsZXMgdG8gZXhpc3QuIiwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwb3J0X2lkKTsNCj4gKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ICsgICAg ICAgfQ0KPiArICAgICAgIHByb3h5X2RldiA9ICZydGVfZXRoX2RldmljZXNbcHJveHlfcG9ydF9p ZF07DQo+ICsgICAgICAgcHJveHlfcHJpdiA9IHByb3h5X2Rldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7 DQo+ICsgICAgICAgaWYgKCFwcm94eV9wcml2LT5kcl9jdHggfHwNCj4gKyAgICAgICAgICAgIXBy b3h5X3ByaXYtPmh3X3R4X3JlcHJfdGFnZ2luZ190YmwpDQo+ICsgICAgICAgICAgICAgICByZXR1 cm4gMDsNCj4gKyAgICAgICBjZiA9IGV4dGVybmFsID8gTElTVF9GSVJTVCgmcHJveHlfcHJpdi0+ aHdfZXh0X2N0cmxfZmxvd3MpIDoNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgTElTVF9GSVJT VCgmcHJveHlfcHJpdi0+aHdfY3RybF9mbG93cyk7DQo+ICsgICAgICAgd2hpbGUgKGNmICE9IE5V TEwpIHsNCj4gKyAgICAgICAgICAgICAgIGNmX25leHQgPSBMSVNUX05FWFQoY2YsIG5leHQpOw0K PiArICAgICAgICAgICAgICAgaWYgKGZsb3dfaHdfaXNfdHhfbWF0Y2hpbmdfcmVwcl9tYXRjaGlu Z19mbG93KGNmLCBkZXYsIHNxbikpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgY2xhaW1f emVybyhmbG93X2h3X2Rlc3Ryb3lfY3RybF9mbG93KHByb3h5X2RldiwgY2YtPmZsb3cpKTsNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgTElTVF9SRU1PVkUoY2YsIG5leHQpOw0KPiArICAgICAg ICAgICAgICAgICAgICAgICBtbHg1X2ZyZWUoY2YpOw0KPiArICAgICAgICAgICAgICAgfQ0KPiAr ICAgICAgICAgICAgICAgY2YgPSBjZl9uZXh0Ow0KPiArICAgICAgIH0NCj4gKyAgICAgICByZXR1 cm4gMDsNCj4gK30NCj4gKw0KPiAgaW50DQo+ICBtbHg1X2Zsb3dfaHdfbGFjcF9yeF9mbG93KHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2KSAgeyBkaWZmIC0tZ2l0DQo+IGEvZHJpdmVycy9uZXQvbWx4 NS9tbHg1X3RyaWdnZXIuYyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV90cmlnZ2VyLmMgaW5kZXgN Cj4gMWIxOWY3OTgyMi4uZjcyZWQ3ZjgyMCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4 NS9tbHg1X3RyaWdnZXIuYw0KPiArKysgYi9kcml2ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dlci5j DQo+IEBAIC0xNDk1LDcgKzE0OTUsNyBAQCBtbHg1X3RyYWZmaWNfZW5hYmxlX2h3cyhzdHJ1Y3Qg cnRlX2V0aF9kZXYgKmRldikNCj4gICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiAgICAgICAg ICAgICAgICAgfQ0KPiAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy0+ZHZfZXN3X2VuICYmIGNv bmZpZy0+cmVwcl9tYXRjaGluZykgew0KPiAtICAgICAgICAgICAgICAgICAgICAgICBpZiAobWx4 NV9mbG93X2h3X3R4X3JlcHJfbWF0Y2hpbmdfZmxvdyhkZXYsIHF1ZXVlLCBmYWxzZSkpIHsNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgaWYNCj4gKyAobWx4NV9mbG93X2h3X2NyZWF0ZV90eF9y ZXByX21hdGNoaW5nX2Zsb3coZGV2LCBxdWV1ZSwgZmFsc2UpKSB7DQo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWx4NV90eHFfcmVsZWFzZShkZXYsIGkpOw0KPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7DQo+ICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV90eHEuYyBiL2RyaXZl cnMvbmV0L21seDUvbWx4NV90eHEuYyBpbmRleA0KPiAzNGM3ZWY0MDBkLi5iNWRhYjg2ZTdiIDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDVfdHhxLmMNCj4gKysrIGIvZHJpdmVy cy9uZXQvbWx4NS9tbHg1X3R4cS5jDQo+IEBAIC0xMzA4LDcgKzEzMDgsNyBAQCBydGVfcG1kX21s eDVfZXh0ZXJuYWxfc3FfZW5hYmxlKHVpbnQxNl90DQo+IHBvcnRfaWQsIHVpbnQzMl90IHNxX251 bSkNCj4gICAgICAgICBwcml2ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gICAgICAgICBp ZiAoKCFwcml2LT5yZXByZXNlbnRvciAmJiAhcHJpdi0+bWFzdGVyKSB8fA0KPiAgICAgICAgICAg ICAhcHJpdi0+c2gtPmNvbmZpZy5kdl9lc3dfZW4pIHsNCj4gLSAgICAgICAgICAgICAgIERSVl9M T0coRVJSLCAiUG9ydCAldSBtdXN0IGJlIHJlcHJlc2V0bm9yIG9yIG1hc3RlciBwb3J0IGluIEUt DQo+IFN3aXRjaCBtb2RlLiIsDQo+ICsgICAgICAgICAgICAgICBEUlZfTE9HKEVSUiwgIlBvcnQg JXUgbXVzdCBiZSByZXByZXNlbnRvciBvciBtYXN0ZXIgcG9ydA0KPiArIGluIEUtU3dpdGNoIG1v ZGUuIiwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgcG9ydF9pZCk7DQo+ICAgICAgICAgICAg ICAgICBydGVfZXJybm8gPSBFSU5WQUw7DQo+ICAgICAgICAgICAgICAgICByZXR1cm4gLXJ0ZV9l cnJubzsNCj4gQEAgLTEzMjksOSArMTMyOSw5IEBAIHJ0ZV9wbWRfbWx4NV9leHRlcm5hbF9zcV9l bmFibGUodWludDE2X3QNCj4gcG9ydF9pZCwgdWludDMyX3Qgc3FfbnVtKQ0KPiAgICAgICAgICAg ICAgICAgfQ0KPiANCj4gICAgICAgICAgICAgICAgIGlmIChwcml2LT5zaC0+Y29uZmlnLnJlcHJf bWF0Y2hpbmcgJiYNCj4gLSAgICAgICAgICAgICAgICAgICBtbHg1X2Zsb3dfaHdfdHhfcmVwcl9t YXRjaGluZ19mbG93KGRldiwgc3FfbnVtLCB0cnVlKSkgew0KPiArICAgICAgICAgICAgICAgICAg IG1seDVfZmxvd19od19jcmVhdGVfdHhfcmVwcl9tYXRjaGluZ19mbG93KGRldiwNCj4gKyBzcV9u dW0sIHRydWUpKSB7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcV9taXNzX2NyZWF0 ZWQpDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWx4NV9mbG93X2h3X2Vzd19k ZXN0cm95X3NxX21pc3NfZmxvdyhkZXYsIHNxX251bSk7DQo+ICsNCj4gKyBtbHg1X2Zsb3dfaHdf ZXN3X2Rlc3Ryb3lfc3FfbWlzc19mbG93KGRldiwgc3FfbnVtLCB0cnVlKTsNCj4gICAgICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIC1ydGVfZXJybm87DQo+ICAgICAgICAgICAgICAgICB9DQo+ IA0KPiBAQCAtMTMzOSw3ICsxMzM5LDcgQEAgcnRlX3BtZF9tbHg1X2V4dGVybmFsX3NxX2VuYWJs ZSh1aW50MTZfdA0KPiBwb3J0X2lkLCB1aW50MzJfdCBzcV9udW0pDQo+ICAgICAgICAgICAgICAg ICAgICAgcHJpdi0+c2gtPmNvbmZpZy5kdl94bWV0YV9lbiA9PQ0KPiBNTFg1X1hNRVRBX01PREVf TUVUQTMyX0hXUyAmJg0KPiAgICAgICAgICAgICAgICAgICAgIG1seDVfZmxvd19od19jcmVhdGVf dHhfZGVmYXVsdF9tcmVnX2NvcHlfZmxvdyhkZXYsIHNxX251bSwNCj4gdHJ1ZSkpIHsNCj4gICAg ICAgICAgICAgICAgICAgICAgICAgaWYgKHNxX21pc3NfY3JlYXRlZCkNCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtbHg1X2Zsb3dfaHdfZXN3X2Rlc3Ryb3lfc3FfbWlzc19mbG93 KGRldiwgc3FfbnVtKTsNCj4gKw0KPiArIG1seDVfZmxvd19od19lc3dfZGVzdHJveV9zcV9taXNz X2Zsb3coZGV2LCBzcV9udW0sIHRydWUpOw0KPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1 cm4gLXJ0ZV9lcnJubzsNCj4gICAgICAgICAgICAgICAgIH0NCj4gICAgICAgICAgICAgICAgIHJl dHVybiAwOw0KPiBAQCAtMTM1Myw2ICsxMzUzLDUyIEBAIHJ0ZV9wbWRfbWx4NV9leHRlcm5hbF9z cV9lbmFibGUodWludDE2X3QNCj4gcG9ydF9pZCwgdWludDMyX3Qgc3FfbnVtKQ0KPiAgICAgICAg IHJldHVybiAtcnRlX2Vycm5vOw0KPiAgfQ0KPiANCj4gK2ludA0KPiArcnRlX3BtZF9tbHg1X2V4 dGVybmFsX3NxX2Rpc2FibGUodWludDE2X3QgcG9ydF9pZCwgdWludDMyX3Qgc3FfbnVtKSB7DQo+ ICsgICAgICAgc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXY7DQo+ICsgICAgICAgc3RydWN0IG1seDVf cHJpdiAqcHJpdjsNCj4gKw0KPiArICAgICAgIGlmIChydGVfZXRoX2Rldl9pc192YWxpZF9wb3J0 KHBvcnRfaWQpIDwgMCkgew0KPiArICAgICAgICAgICAgICAgRFJWX0xPRyhFUlIsICJUaGVyZSBp cyBubyBFdGhlcm5ldCBkZXZpY2UgZm9yIHBvcnQgJXUuIiwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgcG9ydF9pZCk7DQo+ICsgICAgICAgICAgICAgICBydGVfZXJybm8gPSBFTk9ERVY7DQo+ ICsgICAgICAgICAgICAgICByZXR1cm4gLXJ0ZV9lcnJubzsNCj4gKyAgICAgICB9DQo+ICsgICAg ICAgZGV2ID0gJnJ0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXTsNCj4gKyAgICAgICBwcml2ID0gZGV2 LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gKyAgICAgICBpZiAoKCFwcml2LT5yZXByZXNlbnRvciAm JiAhcHJpdi0+bWFzdGVyKSB8fA0KPiArICAgICAgICAgICAhcHJpdi0+c2gtPmNvbmZpZy5kdl9l c3dfZW4pIHsNCj4gKyAgICAgICAgICAgICAgIERSVl9MT0coRVJSLCAiUG9ydCAldSBtdXN0IGJl IHJlcHJlc2VudG9yIG9yIG1hc3RlciBwb3J0IGluIEUtDQo+IFN3aXRjaCBtb2RlLiIsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgIHBvcnRfaWQpOw0KPiArICAgICAgICAgICAgICAgcnRlX2Vy cm5vID0gRUlOVkFMOw0KPiArICAgICAgICAgICAgICAgcmV0dXJuIC1ydGVfZXJybm87DQo+ICsg ICAgICAgfQ0KPiArICAgICAgIGlmIChzcV9udW0gPT0gMCkgew0KPiArICAgICAgICAgICAgICAg RFJWX0xPRyhFUlIsICJJbnZhbGlkIFNRIG51bWJlci4iKTsNCj4gKyAgICAgICAgICAgICAgIHJ0 ZV9lcnJubyA9IEVJTlZBTDsNCj4gKyAgICAgICAgICAgICAgIHJldHVybiAtcnRlX2Vycm5vOw0K PiArICAgICAgIH0NCj4gKyNpZmRlZiBIQVZFX01MWDVfSFdTX1NVUFBPUlQNCj4gKyAgICAgICBp ZiAocHJpdi0+c2gtPmNvbmZpZy5kdl9mbG93X2VuID09IDIpIHsNCj4gKyAgICAgICAgICAgICAg IGlmIChwcml2LT5zaC0+Y29uZmlnLmZkYl9kZWZfcnVsZSAmJg0KPiArICAgICAgICAgICAgICAg ICAgIG1seDVfZmxvd19od19lc3dfZGVzdHJveV9zcV9taXNzX2Zsb3coZGV2LCBzcV9udW0sIHRy dWUpKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLXJ0ZV9lcnJubzsNCj4gKyAg ICAgICAgICAgICAgIGlmIChwcml2LT5zaC0+Y29uZmlnLnJlcHJfbWF0Y2hpbmcgJiYNCj4gKyAg ICAgICAgICAgICAgICAgICBtbHg1X2Zsb3dfaHdfZGVzdHJveV90eF9yZXByX21hdGNoaW5nX2Zs b3coZGV2LCBzcV9udW0sDQo+IHRydWUpKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICByZXR1 cm4gLXJ0ZV9lcnJubzsNCj4gKyAgICAgICAgICAgICAgIGlmICghcHJpdi0+c2gtPmNvbmZpZy5y ZXByX21hdGNoaW5nICYmDQo+ICsgICAgICAgICAgICAgICAgICAgcHJpdi0+c2gtPmNvbmZpZy5k dl94bWV0YV9lbiA9PQ0KPiBNTFg1X1hNRVRBX01PREVfTUVUQTMyX0hXUyAmJg0KPiArICAgICAg ICAgICAgICAgICAgIG1seDVfZmxvd19od19kZXN0cm95X3R4X2RlZmF1bHRfbXJlZ19jb3B5X2Zs b3coZGV2LCBzcV9udW0sDQo+IHRydWUpKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICByZXR1 cm4gLXJ0ZV9lcnJubzsNCj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPiArICAgICAgIH0N Cj4gKyNlbmRpZg0KPiArICAgICAgIC8qIE5vdCBzdXBwb3J0ZWQgZm9yIHNvZnR3YXJlIHN0ZWVy aW5nLiAqLw0KPiArICAgICAgIHJ0ZV9lcnJubyA9IEVOT1RTVVA7DQo+ICsgICAgICAgcmV0dXJu IC1ydGVfZXJybm87DQo+ICt9DQo+ICsNCj4gIC8qKg0KPiAgICogU2V0IHRoZSBUeCBxdWV1ZSBk eW5hbWljIHRpbWVzdGFtcCAobWFzayBhbmQgb2Zmc2V0KQ0KPiAgICoNCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L21seDUvcnRlX3BtZF9tbHg1LmgNCj4gYi9kcml2ZXJzL25ldC9tbHg1L3J0 ZV9wbWRfbWx4NS5oIGluZGV4IDc2YzhhZDczY2EuLjYxNjZhNGQwMTIgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvbmV0L21seDUvcnRlX3BtZF9tbHg1LmgNCj4gKysrIGIvZHJpdmVycy9uZXQvbWx4 NS9ydGVfcG1kX21seDUuaA0KPiBAQCAtMTYxLDYgKzE2MSwyNCBAQCBpbnQgcnRlX3BtZF9tbHg1 X2hvc3Rfc2hhcGVyX2NvbmZpZyhpbnQgcG9ydF9pZCwNCj4gdWludDhfdCByYXRlLCB1aW50MzJf dCBmbGFncyk7ICBfX3J0ZV9leHBlcmltZW50YWwgIGludA0KPiBydGVfcG1kX21seDVfZXh0ZXJu YWxfc3FfZW5hYmxlKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQzMl90IHNxX251bSk7DQo+IA0KPiAr LyoqDQo+ICsgKiBEaXNhYmxlIHRyYWZmaWMgZm9yIGV4dGVybmFsIFNRLiBTaG91bGQgYmUgaW52 b2tlZCBieSBhcHBsaWNhdGlvbg0KPiArICogYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIGV4dGVybmFs IFNRLg0KPiArICoNCj4gKyAqIEBwYXJhbVtpbl0gcG9ydF9pZA0KPiArICogICBUaGUgcG9ydCBp ZGVudGlmaWVyIG9mIHRoZSBFdGhlcm5ldCBkZXZpY2UuDQo+ICsgKiBAcGFyYW1baW5dIHNxX251 bQ0KPiArICogICBTUSBIVyBudW1iZXIuDQo+ICsgKg0KPiArICogQHJldHVybg0KPiArICogICAw IG9uIHN1Y2Nlc3MsIGEgbmVnYXRpdmUgZXJybm8gdmFsdWUgb3RoZXJ3aXNlIGFuZCBydGVfZXJy bm8gaXMgc2V0Lg0KPiArICogICBQb3NzaWJsZSB2YWx1ZXMgZm9yIHJ0ZV9lcnJubzoNCj4gKyAq ICAgLSBFSU5WQUwgLSBpbnZhbGlkIHNxX251bWJlciBvciBwb3J0IHR5cGUuDQo+ICsgKiAgIC0g RU5PREVWIC0gdGhlcmUgaXMgbm8gRXRoZXJuZXQgZGV2aWNlIGZvciB0aGlzIHBvcnQgaWQuDQo+ ICsgKi8NCj4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPiAraW50IHJ0ZV9wbWRfbWx4NV9leHRlcm5h bF9zcV9kaXNhYmxlKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQzMl90DQo+ICtzcV9udW0pOw0KPiAr DQo+ICAjaWZkZWYgX19jcGx1c3BsdXMNCj4gIH0NCj4gICNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvbWx4NS92ZXJzaW9uLm1hcCBiL2RyaXZlcnMvbmV0L21seDUvdmVyc2lvbi5t YXAgaW5kZXgNCj4gODQ4MjcwZGExMy4uNmRiMDMxYWZmNCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVy cy9uZXQvbWx4NS92ZXJzaW9uLm1hcA0KPiArKysgYi9kcml2ZXJzL25ldC9tbHg1L3ZlcnNpb24u bWFwDQo+IEBAIC0xNSw0ICsxNSw1IEBAIEVYUEVSSU1FTlRBTCB7DQo+ICAgICAgICAgIyBhZGRl ZCBpbiAyMi4wNw0KPiAgICAgICAgIHJ0ZV9wbWRfbWx4NV9ob3N0X3NoYXBlcl9jb25maWc7DQo+ ICAgICAgICAgcnRlX3BtZF9tbHg1X2V4dGVybmFsX3NxX2VuYWJsZTsNCj4gKyAgICAgICBydGVf cG1kX21seDVfZXh0ZXJuYWxfc3FfZGlzYWJsZTsNCj4gIH07DQo+IC0tDQo+IDIuMzQuMQ0KDQpI ZXksDQpUaGlzIHBhdGNoIGhhcyBhbHNvIGJlZW4gYXBwbGllZCB0byAyMy4xMS4NCiANClRoYW5r cywNClNoYW5pDQo=