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 493164713A for ; Tue, 30 Dec 2025 11:04:22 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3E5214025A; Tue, 30 Dec 2025 11:04:22 +0100 (CET) Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010006.outbound.protection.outlook.com [52.101.193.6]) by mails.dpdk.org (Postfix) with ESMTP id 6B11D4025A for ; Tue, 30 Dec 2025 11:04:21 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DGDpJzfOKx6dVRLXpgI7wVke15KTYKHqwVDenyQGDVkQlG+7hnwFXDoz5Tj8oYLig6tnVcMGOSCHAZu0y4TlwJ/kiCNK1bIK8oqmpYrufjkcnp+bk6dGGlBdo7j4ukQXWdbH8+hoMvGPJ579q8/tx67Xi9WVn0xuu+d7fX/xOB65JGuhDfER2+zQtg0Y10qjclswT6Qe6zn9+XzpeiqsiuunozGWh9sVa+PWEqbHhSVk+sQg455gowt3mc7DKYOqtrgizFFC0//O/BTp62+bxyS0DCmxo873AxDOZHUvVAmSG0/J2aqn+Kla62Vm9ek4WnvxTMLEWoLUEQGr+47zvQ== 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=7pskbatZ8pfldnBJMmBoG1bJGuJVcMjrDJYrRVxuNK8=; b=RSXI7iWJwCokBefR7DLJZ6ZKEkDr9dsoLu+IOX63OOAmBuKXefe05moNNK2EOYO0JmcE3TrefIZ+H8vIdSaqkTM9v/WxNsQaJ1jCKBHF2alcv+tHAYgTMRlixXGy7oBNAJRiNScpNetEr1+VKP9RlsKTp0WKimyCa7R6/IH93+r/aDYxyQg5S9R7aFioYLgPNsAsacIV7M9yE6LicjYuLcJuO421oDilBLfXQSXgFdZrlZiAfYat/oe9hhYTciCChjXhpIC8JF1hqFg9SMHmtQvAmLAgfllLMPFlQTmuSlhen92e+1/f/NVFLMLh+BHvyiRyWpFgKUVukAdqmt/qvA== 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=7pskbatZ8pfldnBJMmBoG1bJGuJVcMjrDJYrRVxuNK8=; b=kJ5sbIFPEXD3l5i5b1xRid8YoYrhHaG/6e7tBkZgsbPMRMuxC0gArgML3sRt3EBQLA8w+6/7hlWzmy6X9js4z8x/YmH8Z3mLZIKKN9B0/h6Odee+jg21NZMZx+8/UKbSrgbtsQNjxIwz4+NSY5IwZiqykRUictdh/u62SOp1PpxuE9SXVVtGq7nZQP2QKCEh+Ue/q/NjX5JO+Vpb4HsmiPf51vF+ryAvmPkJzGN3lp83tFFDY5e9ujBAZvApcgcGsM5PqSrGUGTQ6lZe9fWj+c6cOGWcQ+hIrnljEfwRpFOFoWp9f7DknXBl/VgxOz0sR3rBmaAJaRgKeQ14qKmCXg== Received: from MW4PR12MB7484.namprd12.prod.outlook.com (2603:10b6:303:212::14) by BL1PR12MB5972.namprd12.prod.outlook.com (2603:10b6:208:39b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9456.14; Tue, 30 Dec 2025 10:04:15 +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:04:14 +0000 From: Shani Peretz To: David Marchand , "stable@dpdk.org" CC: "luca.boccassi@gmail.com" , Stephen Hemminger Subject: RE: [PATCH 22.11] net/tap: fix build with LTO Thread-Topic: [PATCH 22.11] net/tap: fix build with LTO Thread-Index: AQHcSOBE301HtbWuIUuVeYeF4i/s6bU6VRUA Date: Tue, 30 Dec 2025 10:04:14 +0000 Message-ID: References: <20251029142751.199596-1-david.marchand@redhat.com> In-Reply-To: <20251029142751.199596-1-david.marchand@redhat.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_|BL1PR12MB5972:EE_ x-ms-office365-filtering-correlation-id: d2493aad-7f0a-41dc-7713-08de478ac985 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700021; x-microsoft-antispam-message-info: =?utf-8?B?TnZGSGFteTlPVmFCdkhTK3VWOXhkUGhRWmhoVS9iVkpKa3hDWGN4MFJpMW1x?= =?utf-8?B?czZxZm5LelRING5NS0hPRXZFQXBjWFNVQ1BrdjUwSDJJbi9JR29KSEtUdmhT?= =?utf-8?B?Y1k1cjJ0bVRJMW9Zb2crVEd4dzAxTFZwOGJSbHgvdHpoT3h5d2NmT1BuZ2JS?= =?utf-8?B?L3lxUk56K01haUN6RWlBSHYvRUZ6R3ExMkpHeHYxd1R6T3J5SEdGVy9zdm53?= =?utf-8?B?M3B4REhrMFkxRzZZM0VJaThXdUpQWC9vK1MraHErVCsxU0VHVDYrVEpDZ0ls?= =?utf-8?B?T0tDeThmdjc0b3BIQmRtdTNTT2Jndno0eG5hb3QvY2FkNGVvUTc5OUxrQ212?= =?utf-8?B?ajR0bTd0RnczT0dlaHRZVGNzVDNCNlZxakRXWjJURTJGYldsUyt0QTFlY0RC?= =?utf-8?B?bnJOTDVrT2Npa2ljbk1WNzdjZUJkcEZ1UlV3cWFpQWR0TC95SDVUR2M2ZlVo?= =?utf-8?B?MkVjdXdRWEtHNDB6L2tHb3VVS3RJMFhpQmNPenZwRVAwRkdoMFJycU1tM3Y1?= =?utf-8?B?MEZMcEthQlNLcDBpNUc1TVVUK0tXdGZQenhISVRidTZVNlNlckc4bFdFeVBD?= =?utf-8?B?a05HaG1jcVlLQVhOZFBmZVYzNzRtYkZtdGZQRmkzYVNQVVRQYjVOZk9QUXpv?= =?utf-8?B?dG1TTnFNckMwZGJOUDhYQ2owTFNBVDhFOGkzRk51bkZBUzR4Z2JnVzhnSEdK?= =?utf-8?B?VFBCYk0xZnE3VkFZelZOWk9ZV0lNb0dqZ3NzTHNYaDFKRXErdXhydHdIcThi?= =?utf-8?B?Y25Za0dGRFE4QmU4S2VLcUVYRDFxalZicVhxN2V5bHcwQjJ3UFhkcy9UNm9y?= =?utf-8?B?U08yeHdHcy9ibTdsMnh5QnhHTnk4aURjMlhXZ3JNRlBOY2MxRnI1VUgzT3lM?= =?utf-8?B?UE9UT292RUlmeGpkYnlWRTV6R05oOEhVOHFiMTExUGdoMDFIVHJaYVVWdTVh?= =?utf-8?B?TFNjUnA2eVJsUFhpaWRVQjBkS0xRMGNqTWZsbHpGQnl4K1JKMU1hTkw1MzQ4?= =?utf-8?B?T3NBQTdpTDAvTDZBZzlRTlJrTW1icitFSjB3Wkl3Z2tjRXNOQVNETlhiV0c5?= =?utf-8?B?bXRBcy9LL0lta0o0dVBHMkl6cjc1Z0FDV2tSQktVUktzMTdLNm1jRGN1bjRL?= =?utf-8?B?cFJFWURNaXdNejU3aWtsMVpHNmVsS2dUSlMrL0JVZmZpRlA3RVFSZExNcFZH?= =?utf-8?B?a1lXWFpJZUxhSHBicTJJSUQ0ekZBZmVvNFd0OXhTT3hESzVLVlkzdTdtWEkr?= =?utf-8?B?VGVhMmhNa3hwSmFBaS9vYk5hYWliNnFEbHV1aTdFcGttQ1I5VGdjWGViNUVQ?= =?utf-8?B?VFVEQ0szUXVVRUV2M1pkaVE5ZlZhekV1OHJVUVV0ZzNaRS9wRHpLQWZDcHNz?= =?utf-8?B?eHhFNEYwMXRWVjVzNWp5T2I3dS9rWUZRVFRwaWRsSWFkUTJTZFY5S2FLVHZX?= =?utf-8?B?RW9OQmZjYmFPRnVvN0hZMko4T090YTBqWER0a2hnYmQwQWY0N0ZNeVl5eVZ1?= =?utf-8?B?VTJ4Z1pvakoranlWYjliWjI5ZVNGT3NPTEpyWFQ0ekt6UURqRkZtcENydTAx?= =?utf-8?B?U3N2Q1lmYmd3VkFhbjEyY3oyYnJiT0prUkdEZk1BdXVJRkFkNTdrTTJqelNh?= =?utf-8?B?L3V6UkNHYUI2Y3hwYUp4R2s0WW8xZjVhMm5UaDdneUJ0a01jbHBqSjBjUTNw?= =?utf-8?B?OVBTb2hTMGtPekNqYUJMNnltNE1zeFJUM1NDczM0TWN0cnhraUdSU1l5N1dR?= =?utf-8?B?d3E1VVhxYVQzNWcyTXJKMGpvd2llaitGRVUvSzFMSkpoSWQ0bHlFSjhpa2JJ?= =?utf-8?B?T0EyYmo1MzhUSEcxVTFYdGlRQjFDSFhuR1F3K3g3MGhqc081RXQrWTV3Tksw?= =?utf-8?B?T1lnMUk2NWl5NUtHOVA0azBHY3N2Sk9PZEQxQ1E5QTdab2ZRdjZnUUd5b3NT?= =?utf-8?B?V3pwcjhKU1lraWhKTm0wbTM3ZjBneU9yS05vN25wcmxNR1E0YytsQlhFa3Q1?= =?utf-8?B?WnhNdlRqbXlpZlAxNUhtekc4ZzYwSzZoSFVEQlZIYUxQWGt6S1M4TzVSME9z?= =?utf-8?Q?JE94k4?= 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)(366016)(1800799024)(376014)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cFR5RTNXcmVQOTdjbVBZWGFOS29NT1RhdE1RcVFmeC9RMk9MV0xsSGpLL1pF?= =?utf-8?B?UzZZTUNxc2tNY0xYRFg0VTgweDdmT2l0U1V0dmk5Y0dYcFRIS3U0cGtHSlla?= =?utf-8?B?MFhGVlpCc1NkRGQvbGJkUmZ3MlpFZnlUVm1KWW93NHJVRi81UWg1OXkvY01M?= =?utf-8?B?UTdMZGIrWERybjJTVGtuQmZBWnlZSTVkc0drU2E3MnlkLy9lRU9mYllVcTBj?= =?utf-8?B?RTBIWkNzN2tEOExWVU0xTzBocEVNekVpQnZocVFkam9pWitmY2pxekJEdW5V?= =?utf-8?B?MDJJQnZJMXF1alZxbGpYQzRqdlIyTkpHWG9vWUZrajdnTnpXQ1orNlZncC8y?= =?utf-8?B?Sko4QUdWd2d3OExIaFNjKy83MnVVRXk5TzUwUzlmOUR5UjBuUGVzdWdYbDJ2?= =?utf-8?B?VWdFOWF3cDFFVW11U2xDeDhzM24vUStBeG1KZnpEc1k5WW1zQWhBUzRoc09U?= =?utf-8?B?cEUvNDJCS1NhNjg2ZldBZ1gxREJFZ1J4OGZnaHhneHFaVmZsbWs5ZkVoZDdX?= =?utf-8?B?RWdaZy9wNUwzQW93N2w1WlhzMGdiTTU2aGdIV0FYRnRuT2JCRmN4SURza292?= =?utf-8?B?Z2Z0Q0hTT3VBZ3FTRit3WTlZRVlJYmJva2lySEZkU1ZDWno1VHlFcGFRNXAr?= =?utf-8?B?dzBva3pmYWhrWGFRc3hHOUJSdGJGMit2eERvYlRQcDdsSmtDSG9hKzlDYXRU?= =?utf-8?B?WldOalR5bzZLSFBKZVVNMmJXWDBmTkRndnpycllQa2NiT1dvTUdMakNWREpC?= =?utf-8?B?Q04xUXBTYVpDcTQrdlArZnB1Ri9ROUFQWjhEbGlrbm5Dajl4WHRuekpxVmFX?= =?utf-8?B?N3p1T1lTdzhNZ3FGQjBHZEdFQXI0M3ZYNXNaQlViMXNweUNCQVJoam9ERFl1?= =?utf-8?B?Wk1VS2s5OFljSFlSMWtqcU1Fek9oY3huQStjV2JRQVhTdW1jR2grWDZYS0gy?= =?utf-8?B?MkRpbGpaRklPeGZkcUZaa1VNVTE4N0YyY3lKN3NFREgzWnJLZ3JoUWZJYjRi?= =?utf-8?B?MXhuckc5eXYxQW1SdFEvaVV2andiaUZRV01hSkdja0pLRjNPTlVIUUk4MVVq?= =?utf-8?B?L2pIbGw5N2VaS3VlUFBqeWhBMmJxT01yOWlzQkVEcGVSNVpWZllXR3VTK0xE?= =?utf-8?B?cDFlWnVWZllyMHFibjIwWTVBcDVhZlBRU1p3d0ROVHlnWTRQWE13bGpGbE50?= =?utf-8?B?YnJaRHZucDh4LzN3TFFCYzhKaFFOK0tCL2JFVm1YVU5GRGJjemU2aUV4Mk4w?= =?utf-8?B?QkpzdkFESHhVNktralZUd2RWa0xKcUxyaDlUZG54Q0FoMU9MdWpUTUxrVkp5?= =?utf-8?B?Zjdid0tvOEZVWW5ra1poSkZDeGMwTk9yMmVqeE5jVk5FSC9HWTNyVG5EWk93?= =?utf-8?B?N2FReDhjOU1UV1U4dlI3T2pWN2NYVGd3dS9qRmptdjhObHRXdkNqV0ZUZUpL?= =?utf-8?B?ME9tWGJ5VkJlN1h3b2M3V3FqZ3JHazFGZGF4aGRjZEVrYjNPdkNZSFRxdDF6?= =?utf-8?B?c0hQeERXb25iWVFUc0VJSTVPM2l2ZERFa2hzSHVveEFlU1RqY2tFQ2NldFlp?= =?utf-8?B?UG1McjhabStKaGZRcDR5Q0dPQkw0am5qd2F5Sk9jMXJXZmRrLzVCMnlld3R4?= =?utf-8?B?blN2cXVqUzhBUlZPRXhaN2FDcTYzelBwaDBWSzRYdVYwOURZQWZ2bHRLV1JM?= =?utf-8?B?aXovelJkVUxndk5zei9vbmNaRUl3K3RBdkhDNDR5YU1WZkJCd0NXbmRhSmJR?= =?utf-8?B?Q3hFSTQ3aWE4QTNvQjdCaUFReXJ6QXlUbFY1R0tQOVdlZldVbTJ3bVlWbzN1?= =?utf-8?B?dGZzSXBhbGxVaFF0MFAvVmNXS1lJNXNnaVZ0Y3hXNGtUYlg5VW1EZW03TmdB?= =?utf-8?B?Ry9NR3JuNlM0SUgybE1LZW1KMm0zQ0oraFdYSHNWazU5Q0xUeVVzb2pQTTlm?= =?utf-8?B?ZzVDNjYvaS9TSHVuZFc5VERqam80dlJkR1lSdFExMk14VnQ1NXhiR0w2VkNx?= =?utf-8?B?YUFZc1pTRTM3VHVobE1mU1RLeER6WmlPN05PT0s2K3krMlhWRW1qc2NYMWVk?= =?utf-8?B?RE5OM25xUWIxZGduMmtmaGNOamNQeFUrbDNhR0tvWjdLc1NVSUxZdElXUlEr?= =?utf-8?B?anFPdTlHYWxMOWYwaTN6RG83Sy9CWUdidTF1R3F6dXZKcjNHWnlyWkVoYUQ3?= =?utf-8?B?WnBsL0I5K1p6OHpIdFBLM1lwajJXRm1xZ1JkVXB1ZGlydE9DTEFNTlJ2SWo3?= =?utf-8?B?RjVDdU0zR0xvYWM5dDVrTm1yR29hb1BuNDBLWDJRMWUyMkJ4UkJGd3NJdFBR?= =?utf-8?Q?0r+G49Lk6v9F0JylKj?= 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: d2493aad-7f0a-41dc-7713-08de478ac985 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Dec 2025 10:04:14.4991 (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: lLBUvwXavI+TtEX/tK6kHN61nBSLeogmrQlOawnO6W4V+8OG52CBoGcJi6bgMpnd7naX0Tv4rRUvD2adKopG7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5972 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRGF2aWQgTWFyY2hhbmQg PGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgMjkgT2N0b2Jl ciAyMDI1IDE2OjI4DQo+IFRvOiBzdGFibGVAZHBkay5vcmcNCj4gQ2M6IGx1Y2EuYm9jY2Fzc2lA Z21haWwuY29tOyBTdGVwaGVuIEhlbW1pbmdlcg0KPiA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5v cmc+DQo+IFN1YmplY3Q6IFtQQVRDSCAyMi4xMV0gbmV0L3RhcDogZml4IGJ1aWxkIHdpdGggTFRP DQo+IA0KPiBFeHRlcm5hbCBlbWFpbDogVXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRh Y2htZW50cw0KPiANCj4gDQo+IFsgdXBzdHJlYW0gY29tbWl0IGFkYjk1Y2M2NjQ0MTAzZDA1NTYw OWY1YmNhZTVkZjkxYWZlYTAyYWIgXQ0KPiANCj4gVGhlIGNvbXBpbGVyIGhhcyB0cm91YmxlIHVu ZGVyc3RhbmRpbmcgdGhhdCB0aGUgY29kZSBpcyBhY3R1YWxseSBwb2ludGluZyBhdCB0aGUNCj4g ZGF0YSBpbiB0aGUgbWVzc2FnZSBwYXN0IHRoZSBuaCBzdHJ1Y3QuDQo+IA0KPiBVcGRhdGUgdGhl IHRhcF9ubGF0dHJfYWRkKiBoZWxwZXJzIGFuZCB0aGUgTkxNU0dfVEFJTCBtYWNybyBwYXNzaW5n IGENCj4gcG9pbnRlciB0byBtc2cuDQo+IA0KPiBCdWd6aWxsYSBJRDogMTUxMQ0KPiBGaXhlczog N2MyNTI4NGUzMGMyICgibmV0L3RhcDogYWRkIG5ldGxpbmsgYmFjay1lbmQgZm9yIGZsb3cgQVBJ IikNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEBy ZWRoYXQuY29tPg0KPiBBY2tlZC1ieTogU3RlcGhlbiBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29y a3BsdW1iZXIub3JnPg0KPiAtLS0NCj4gIGRyaXZlcnMvbmV0L3RhcC90YXBfZmxvdy5jICAgIHwg MTI0ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gIGRyaXZlcnMvbmV0L3Rh cC90YXBfbmV0bGluay5jIHwgIDI0ICsrKy0tLS0gIGRyaXZlcnMvbmV0L3RhcC90YXBfbmV0bGlu ay5oIHwgIDEwDQo+ICstLQ0KPiAgZHJpdmVycy9uZXQvdGFwL3RhcF90Y21zZ3MuYyAgfCAgIDYg Ky0NCj4gIDQgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgOTYgZGVsZXRpb25zKC0p DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdGFwL3RhcF9mbG93LmMgYi9kcml2ZXJz L25ldC90YXAvdGFwX2Zsb3cuYyBpbmRleA0KPiBlYTIzODQxZjYwLi5mMDNkZGRiYmJhIDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL25ldC90YXAvdGFwX2Zsb3cuYw0KPiArKysgYi9kcml2ZXJzL25l dC90YXAvdGFwX2Zsb3cuYw0KPiBAQCAtNTM1LDIwICs1MzUsMTYgQEAgdGFwX2Zsb3dfY3JlYXRl X2V0aChjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbQ0KPiAqaXRlbSwgdm9pZCAqZGF0YSkNCj4g ICAgICAgICAgICAgICAgIHJldHVybiAwOw0KPiAgICAgICAgIG1zZyA9ICZmbG93LT5tc2c7DQo+ ICAgICAgICAgaWYgKCFydGVfaXNfemVyb19ldGhlcl9hZGRyKCZtYXNrLT5kc3QpKSB7DQo+IC0g ICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZCgmbXNnLT5uaCwgVENBX0ZMT1dFUl9LRVlfRVRI X0RTVCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgUlRFX0VUSEVSX0FERFJfTEVOLA0KPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAmc3BlYy0+ZHN0LmFkZHJfYnl0ZXMpOw0KPiAtICAg ICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQoJm1zZy0+bmgsDQo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgIFRDQV9GTE9XRVJfS0VZX0VUSF9EU1RfTUFTSywgUlRFX0VUSEVSX0FERFJfTEVO LA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAmbWFzay0+ZHN0LmFkZHJfYnl0ZXMpOw0K PiArICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQobXNnLCBUQ0FfRkxPV0VSX0tFWV9FVEhf RFNULA0KPiBSVEVfRVRIRVJfQUREUl9MRU4sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICZz cGVjLT5kc3QuYWRkcl9ieXRlcyk7DQo+ICsgICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZCht c2csIFRDQV9GTE9XRVJfS0VZX0VUSF9EU1RfTUFTSywNCj4gUlRFX0VUSEVSX0FERFJfTEVOLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAmbWFzay0+ZHN0LmFkZHJfYnl0ZXMpOw0KPiAgICAg ICAgIH0NCj4gICAgICAgICBpZiAoIXJ0ZV9pc196ZXJvX2V0aGVyX2FkZHIoJm1hc2stPnNyYykp IHsNCj4gLSAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkKCZtc2ctPm5oLCBUQ0FfRkxPV0VS X0tFWV9FVEhfU1JDLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICBSVEVfRVRIRVJfQUREUl9M RU4sDQo+ICsgICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZChtc2csIFRDQV9GTE9XRVJfS0VZ X0VUSF9TUkMsDQo+ICsgUlRFX0VUSEVSX0FERFJfTEVOLA0KPiAgICAgICAgICAgICAgICAgICAg ICAgICAmc3BlYy0+c3JjLmFkZHJfYnl0ZXMpOw0KPiAtICAgICAgICAgICAgICAgdGFwX25sYXR0 cl9hZGQoJm1zZy0+bmgsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIFRDQV9GTE9XRVJf S0VZX0VUSF9TUkNfTUFTSywgUlRFX0VUSEVSX0FERFJfTEVOLA0KPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAmbWFzay0+c3JjLmFkZHJfYnl0ZXMpOw0KPiArICAgICAgICAgICAgICAgdGFw X25sYXR0cl9hZGQobXNnLCBUQ0FfRkxPV0VSX0tFWV9FVEhfU1JDX01BU0ssDQo+IFJURV9FVEhF Ul9BRERSX0xFTiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgJm1hc2stPnNyYy5hZGRyX2J5 dGVzKTsNCj4gICAgICAgICB9DQo+ICAgICAgICAgcmV0dXJuIDA7DQo+ICB9DQo+IEBAIC02MDQs MTEgKzYwMCw5IEBAIHRhcF9mbG93X2NyZWF0ZV92bGFuKGNvbnN0IHN0cnVjdCBydGVfZmxvd19p dGVtDQo+ICppdGVtLCB2b2lkICpkYXRhKQ0KPiAgICAgICAgICAgICAgICAgdWludDhfdCB2aWQg PSBWTEFOX0lEKHRjaSk7DQo+IA0KPiAgICAgICAgICAgICAgICAgaWYgKHByaW8pDQo+IC0gICAg ICAgICAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkOCgmbXNnLT5uaCwNCj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRDQV9GTE9XRVJfS0VZX1ZMQU5fUFJJTywg cHJpbyk7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkOChtc2csIFRD QV9GTE9XRVJfS0VZX1ZMQU5fUFJJTywNCj4gKyBwcmlvKTsNCj4gICAgICAgICAgICAgICAgIGlm ICh2aWQpDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkMTYoJm1zZy0+ bmgsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVENBX0ZMT1dF Ul9LRVlfVkxBTl9JRCwgdmlkKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgdGFwX25sYXR0 cl9hZGQxNihtc2csIFRDQV9GTE9XRVJfS0VZX1ZMQU5fSUQsDQo+ICsgdmlkKTsNCj4gICAgICAg ICB9DQo+ICAgICAgICAgcmV0dXJuIDA7DQo+ICB9DQo+IEBAIC02NTEsMjAgKzY0NSwxNSBAQCB0 YXBfZmxvd19jcmVhdGVfaXB2NChjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbQ0KPiAqaXRlbSwg dm9pZCAqZGF0YSkNCj4gICAgICAgICBpZiAoIXNwZWMpDQo+ICAgICAgICAgICAgICAgICByZXR1 cm4gMDsNCj4gICAgICAgICBpZiAobWFzay0+aGRyLmRzdF9hZGRyKSB7DQo+IC0gICAgICAgICAg ICAgICB0YXBfbmxhdHRyX2FkZDMyKCZtc2ctPm5oLCBUQ0FfRkxPV0VSX0tFWV9JUFY0X0RTVCwN Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjLT5oZHIuZHN0X2FkZHIpOw0KPiAt ICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQzMigmbXNnLT5uaCwgVENBX0ZMT1dFUl9LRVlf SVBWNF9EU1RfTUFTSywNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXNrLT5oZHIu ZHN0X2FkZHIpOw0KPiArICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQzMihtc2csIFRDQV9G TE9XRVJfS0VZX0lQVjRfRFNULCBzcGVjLQ0KPiA+aGRyLmRzdF9hZGRyKTsNCj4gKyAgICAgICAg ICAgICAgIHRhcF9ubGF0dHJfYWRkMzIobXNnLCBUQ0FfRkxPV0VSX0tFWV9JUFY0X0RTVF9NQVNL LA0KPiArIG1hc2stPmhkci5kc3RfYWRkcik7DQo+ICAgICAgICAgfQ0KPiAgICAgICAgIGlmICht YXNrLT5oZHIuc3JjX2FkZHIpIHsNCj4gLSAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkMzIo Jm1zZy0+bmgsIFRDQV9GTE9XRVJfS0VZX0lQVjRfU1JDLA0KPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNwZWMtPmhkci5zcmNfYWRkcik7DQo+IC0gICAgICAgICAgICAgICB0YXBfbmxh dHRyX2FkZDMyKCZtc2ctPm5oLCBUQ0FfRkxPV0VSX0tFWV9JUFY0X1NSQ19NQVNLLA0KPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2stPmhkci5zcmNfYWRkcik7DQo+ICsgICAgICAg ICAgICAgICB0YXBfbmxhdHRyX2FkZDMyKG1zZywgVENBX0ZMT1dFUl9LRVlfSVBWNF9TUkMsIHNw ZWMtDQo+ID5oZHIuc3JjX2FkZHIpOw0KPiArICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQz Mihtc2csIFRDQV9GTE9XRVJfS0VZX0lQVjRfU1JDX01BU0ssDQo+ICsgbWFzay0+aGRyLnNyY19h ZGRyKTsNCj4gICAgICAgICB9DQo+ICAgICAgICAgaWYgKHNwZWMtPmhkci5uZXh0X3Byb3RvX2lk KQ0KPiAtICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQ4KCZtc2ctPm5oLCBUQ0FfRkxPV0VS X0tFWV9JUF9QUk9UTywNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWMtPmhkci5u ZXh0X3Byb3RvX2lkKTsNCj4gKyAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkOChtc2csIFRD QV9GTE9XRVJfS0VZX0lQX1BST1RPLA0KPiArIHNwZWMtPmhkci5uZXh0X3Byb3RvX2lkKTsNCj4g ICAgICAgICByZXR1cm4gMDsNCj4gIH0NCj4gDQo+IEBAIC03MDcsMjAgKzY5NiwxOSBAQCB0YXBf Zmxvd19jcmVhdGVfaXB2Nihjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbQ0KPiAqaXRlbSwgdm9p ZCAqZGF0YSkNCj4gICAgICAgICBpZiAoIXNwZWMpDQo+ICAgICAgICAgICAgICAgICByZXR1cm4g MDsNCj4gICAgICAgICBpZiAobWVtY21wKG1hc2stPmhkci5kc3RfYWRkciwgZW1wdHlfYWRkciwg MTYpKSB7DQo+IC0gICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZCgmbXNnLT5uaCwgVENBX0ZM T1dFUl9LRVlfSVBWNl9EU1QsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihz cGVjLT5oZHIuZHN0X2FkZHIpLCAmc3BlYy0+aGRyLmRzdF9hZGRyKTsNCj4gLSAgICAgICAgICAg ICAgIHRhcF9ubGF0dHJfYWRkKCZtc2ctPm5oLCBUQ0FfRkxPV0VSX0tFWV9JUFY2X0RTVF9NQVNL LA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YobWFzay0+aGRyLmRzdF9hZGRy KSwgJm1hc2stPmhkci5kc3RfYWRkcik7DQo+ICsgICAgICAgICAgICAgICB0YXBfbmxhdHRyX2Fk ZChtc2csIFRDQV9GTE9XRVJfS0VZX0lQVjZfRFNULCBzaXplb2Yoc3BlYy0NCj4gPmhkci5kc3Rf YWRkciksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICZzcGVjLT5oZHIuZHN0X2FkZHIpOw0K PiArICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQobXNnLCBUQ0FfRkxPV0VSX0tFWV9JUFY2 X0RTVF9NQVNLLA0KPiBzaXplb2YobWFzay0+aGRyLmRzdF9hZGRyKSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgJm1hc2stPmhkci5kc3RfYWRkcik7DQo+ICAgICAgICAgfQ0KPiAgICAgICAg IGlmIChtZW1jbXAobWFzay0+aGRyLnNyY19hZGRyLCBlbXB0eV9hZGRyLCAxNikpIHsNCj4gLSAg ICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkKCZtc2ctPm5oLCBUQ0FfRkxPV0VSX0tFWV9JUFY2 X1NSQywNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHNwZWMtPmhkci5zcmNf YWRkciksICZzcGVjLT5oZHIuc3JjX2FkZHIpOw0KPiAtICAgICAgICAgICAgICAgdGFwX25sYXR0 cl9hZGQoJm1zZy0+bmgsIFRDQV9GTE9XRVJfS0VZX0lQVjZfU1JDX01BU0ssDQo+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVvZihtYXNrLT5oZHIuc3JjX2FkZHIpLCAmbWFzay0+aGRy LnNyY19hZGRyKTsNCj4gKyAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkKG1zZywgVENBX0ZM T1dFUl9LRVlfSVBWNl9TUkMsIHNpemVvZihzcGVjLQ0KPiA+aGRyLnNyY19hZGRyKSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgJnNwZWMtPmhkci5zcmNfYWRkcik7DQo+ICsgICAgICAgICAg ICAgICB0YXBfbmxhdHRyX2FkZChtc2csIFRDQV9GTE9XRVJfS0VZX0lQVjZfU1JDX01BU0ssDQo+ IHNpemVvZihtYXNrLT5oZHIuc3JjX2FkZHIpLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAm bWFzay0+aGRyLnNyY19hZGRyKTsNCj4gICAgICAgICB9DQo+ICAgICAgICAgaWYgKHNwZWMtPmhk ci5wcm90bykNCj4gLSAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkOCgmbXNnLT5uaCwNCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUQ0FfRkxPV0VSX0tFWV9JUF9QUk9UTywg c3BlYy0+aGRyLnByb3RvKTsNCj4gKyAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkOChtc2cs IFRDQV9GTE9XRVJfS0VZX0lQX1BST1RPLA0KPiArIHNwZWMtPmhkci5wcm90byk7DQo+ICAgICAg ICAgcmV0dXJuIDA7DQo+ICB9DQo+IA0KPiBAQCAtNzU4LDE1ICs3NDYsMTMgQEAgdGFwX2Zsb3df Y3JlYXRlX3VkcChjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbQ0KPiAqaXRlbSwgdm9pZCAqZGF0 YSkNCj4gICAgICAgICBpZiAoIWZsb3cpDQo+ICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4g ICAgICAgICBtc2cgPSAmZmxvdy0+bXNnOw0KPiAtICAgICAgIHRhcF9ubGF0dHJfYWRkOCgmbXNn LT5uaCwgVENBX0ZMT1dFUl9LRVlfSVBfUFJPVE8sIElQUFJPVE9fVURQKTsNCj4gKyAgICAgICB0 YXBfbmxhdHRyX2FkZDgobXNnLCBUQ0FfRkxPV0VSX0tFWV9JUF9QUk9UTywgSVBQUk9UT19VRFAp Ow0KPiAgICAgICAgIGlmICghc3BlYykNCj4gICAgICAgICAgICAgICAgIHJldHVybiAwOw0KPiAg ICAgICAgIGlmIChtYXNrLT5oZHIuZHN0X3BvcnQpDQo+IC0gICAgICAgICAgICAgICB0YXBfbmxh dHRyX2FkZDE2KCZtc2ctPm5oLCBUQ0FfRkxPV0VSX0tFWV9VRFBfRFNULA0KPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNwZWMtPmhkci5kc3RfcG9ydCk7DQo+ICsgICAgICAgICAgICAg ICB0YXBfbmxhdHRyX2FkZDE2KG1zZywgVENBX0ZMT1dFUl9LRVlfVURQX0RTVCwNCj4gKyBzcGVj LT5oZHIuZHN0X3BvcnQpOw0KPiAgICAgICAgIGlmIChtYXNrLT5oZHIuc3JjX3BvcnQpDQo+IC0g ICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZDE2KCZtc2ctPm5oLCBUQ0FfRkxPV0VSX0tFWV9V RFBfU1JDLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWMtPmhkci5zcmNfcG9y dCk7DQo+ICsgICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZDE2KG1zZywgVENBX0ZMT1dFUl9L RVlfVURQX1NSQywNCj4gKyBzcGVjLT5oZHIuc3JjX3BvcnQpOw0KPiAgICAgICAgIHJldHVybiAw Ow0KPiAgfQ0KPiANCj4gQEAgLTgwNCwxNSArNzkwLDEzIEBAIHRhcF9mbG93X2NyZWF0ZV90Y3Ao Y29uc3Qgc3RydWN0IHJ0ZV9mbG93X2l0ZW0NCj4gKml0ZW0sIHZvaWQgKmRhdGEpDQo+ICAgICAg ICAgaWYgKCFmbG93KQ0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ICAgICAgICAgbXNn ID0gJmZsb3ctPm1zZzsNCj4gLSAgICAgICB0YXBfbmxhdHRyX2FkZDgoJm1zZy0+bmgsIFRDQV9G TE9XRVJfS0VZX0lQX1BST1RPLCBJUFBST1RPX1RDUCk7DQo+ICsgICAgICAgdGFwX25sYXR0cl9h ZGQ4KG1zZywgVENBX0ZMT1dFUl9LRVlfSVBfUFJPVE8sIElQUFJPVE9fVENQKTsNCj4gICAgICAg ICBpZiAoIXNwZWMpDQo+ICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gICAgICAgICBpZiAo bWFzay0+aGRyLmRzdF9wb3J0KQ0KPiAtICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQxNigm bXNnLT5uaCwgVENBX0ZMT1dFUl9LRVlfVENQX0RTVCwNCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzcGVjLT5oZHIuZHN0X3BvcnQpOw0KPiArICAgICAgICAgICAgICAgdGFwX25sYXR0 cl9hZGQxNihtc2csIFRDQV9GTE9XRVJfS0VZX1RDUF9EU1QsDQo+ICsgc3BlYy0+aGRyLmRzdF9w b3J0KTsNCj4gICAgICAgICBpZiAobWFzay0+aGRyLnNyY19wb3J0KQ0KPiAtICAgICAgICAgICAg ICAgdGFwX25sYXR0cl9hZGQxNigmbXNnLT5uaCwgVENBX0ZMT1dFUl9LRVlfVENQX1NSQywNCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjLT5oZHIuc3JjX3BvcnQpOw0KPiArICAg ICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQxNihtc2csIFRDQV9GTE9XRVJfS0VZX1RDUF9TUkMs DQo+ICsgc3BlYy0+aGRyLnNyY19wb3J0KTsNCj4gICAgICAgICByZXR1cm4gMDsNCj4gIH0NCj4g DQo+IEBAIC05MjAsMzUgKzkwNCwyNyBAQCBhZGRfYWN0aW9uKHN0cnVjdCBydGVfZmxvdyAqZmxv dywgc2l6ZV90ICphY3RfaW5kZXgsDQo+IHN0cnVjdCBhY3Rpb25fZGF0YSAqYWRhdGEpDQo+ICAg ICAgICAgaWYgKHRhcF9ubGF0dHJfbmVzdGVkX3N0YXJ0KG1zZywgKCphY3RfaW5kZXgpKyspIDwg MCkNCj4gICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCj4gDQo+IC0gICAgICAgdGFwX25sYXR0 cl9hZGQoJm1zZy0+bmgsIFRDQV9BQ1RfS0lORCwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJsZW4oYWRhdGEtPmlkKSArIDEsIGFkYXRhLT5pZCk7DQo+ICsgICAgICAgdGFw X25sYXR0cl9hZGQobXNnLCBUQ0FfQUNUX0tJTkQsIHN0cmxlbihhZGF0YS0+aWQpICsgMSwNCj4g KyBhZGF0YS0+aWQpOw0KPiAgICAgICAgIGlmICh0YXBfbmxhdHRyX25lc3RlZF9zdGFydChtc2cs IFRDQV9BQ1RfT1BUSU9OUykgPCAwKQ0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiAg ICAgICAgIGlmIChzdHJjbXAoImdhY3QiLCBhZGF0YS0+aWQpID09IDApIHsNCj4gLSAgICAgICAg ICAgICAgIHRhcF9ubGF0dHJfYWRkKCZtc2ctPm5oLCBUQ0FfR0FDVF9QQVJNUywgc2l6ZW9mKGFk YXRhLT5nYWN0KSwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmFkYXRhLT5nYWN0KTsN Cj4gKyAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkKG1zZywgVENBX0dBQ1RfUEFSTVMsIHNp emVvZihhZGF0YS0+Z2FjdCksDQo+ICsgJmFkYXRhLT5nYWN0KTsNCj4gICAgICAgICB9IGVsc2Ug aWYgKHN0cmNtcCgibWlycmVkIiwgYWRhdGEtPmlkKSA9PSAwKSB7DQo+ICAgICAgICAgICAgICAg ICBpZiAoYWRhdGEtPm1pcnJlZC5lYWN0aW9uID09IFRDQV9FR1JFU1NfTUlSUk9SKQ0KPiAgICAg ICAgICAgICAgICAgICAgICAgICBhZGF0YS0+bWlycmVkLmFjdGlvbiA9IFRDX0FDVF9QSVBFOw0K PiAgICAgICAgICAgICAgICAgZWxzZSAvKiBSRURJUkVDVCAqLw0KPiAgICAgICAgICAgICAgICAg ICAgICAgICBhZGF0YS0+bWlycmVkLmFjdGlvbiA9IFRDX0FDVF9TVE9MRU47DQo+IC0gICAgICAg ICAgICAgICB0YXBfbmxhdHRyX2FkZCgmbXNnLT5uaCwgVENBX01JUlJFRF9QQVJNUywNCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGFkYXRhLT5taXJyZWQpLA0KPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAmYWRhdGEtPm1pcnJlZCk7DQo+ICsgICAgICAgICAgICAgICB0 YXBfbmxhdHRyX2FkZChtc2csIFRDQV9NSVJSRURfUEFSTVMsDQo+ICsgc2l6ZW9mKGFkYXRhLT5t aXJyZWQpLCAmYWRhdGEtPm1pcnJlZCk7DQo+ICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAoInNr YmVkaXQiLCBhZGF0YS0+aWQpID09IDApIHsNCj4gLSAgICAgICAgICAgICAgIHRhcF9ubGF0dHJf YWRkKCZtc2ctPm5oLCBUQ0FfU0tCRURJVF9QQVJNUywNCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZW9mKGFkYXRhLT5za2JlZGl0LnNrYmVkaXQpLA0KPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAmYWRhdGEtPnNrYmVkaXQuc2tiZWRpdCk7DQo+IC0gICAgICAgICAgICAgICB0 YXBfbmxhdHRyX2FkZDE2KCZtc2ctPm5oLCBUQ0FfU0tCRURJVF9RVUVVRV9NQVBQSU5HLA0KPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLT5za2JlZGl0LnF1ZXVlKTsNCj4gKyAg ICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkKG1zZywgVENBX1NLQkVESVRfUEFSTVMsIHNpemVv ZihhZGF0YS0NCj4gPnNrYmVkaXQuc2tiZWRpdCksDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICZhZGF0YS0+c2tiZWRpdC5za2JlZGl0KTsNCj4gKyAgICAgICAgICAgICAgIHRhcF9ubGF0dHJf YWRkMTYobXNnLCBUQ0FfU0tCRURJVF9RVUVVRV9NQVBQSU5HLA0KPiArIGFkYXRhLT5za2JlZGl0 LnF1ZXVlKTsNCj4gICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcCgiYnBmIiwgYWRhdGEtPmlkKSA9 PSAwKSB7DQo+IC0gICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZDMyKCZtc2ctPm5oLCBUQ0Ff QUNUX0JQRl9GRCwgYWRhdGEtPmJwZi5icGZfZmQpOw0KPiAtICAgICAgICAgICAgICAgdGFwX25s YXR0cl9hZGQoJm1zZy0+bmgsIFRDQV9BQ1RfQlBGX05BTUUsDQo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cmxlbihhZGF0YS0+YnBmLmFubm90YXRpb24pICsgMSwNCj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgYWRhdGEtPmJwZi5hbm5vdGF0aW9uKTsNCj4gLSAgICAgICAgICAg ICAgIHRhcF9ubGF0dHJfYWRkKCZtc2ctPm5oLCBUQ0FfQUNUX0JQRl9QQVJNUywNCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGFkYXRhLT5icGYuYnBmKSwNCj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgJmFkYXRhLT5icGYuYnBmKTsNCj4gKyAgICAgICAgICAgICAgIHRh cF9ubGF0dHJfYWRkMzIobXNnLCBUQ0FfQUNUX0JQRl9GRCwgYWRhdGEtPmJwZi5icGZfZmQpOw0K PiArICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQobXNnLCBUQ0FfQUNUX0JQRl9OQU1FLCBz dHJsZW4oYWRhdGEtDQo+ID5icGYuYW5ub3RhdGlvbikgKyAxLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICBhZGF0YS0+YnBmLmFubm90YXRpb24pOw0KPiArICAgICAgICAgICAgICAgdGFwX25s YXR0cl9hZGQobXNnLCBUQ0FfQUNUX0JQRl9QQVJNUywgc2l6ZW9mKGFkYXRhLT5icGYuYnBmKSwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgJmFkYXRhLT5icGYuYnBmKTsNCj4gICAgICAgICB9 IGVsc2Ugew0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiAgICAgICAgIH0NCj4gQEAg LTEwNzgsNyArMTA1NCw3IEBAIHByaXZfZmxvd19wcm9jZXNzKHN0cnVjdCBwbWRfaW50ZXJuYWxz ICpwbWQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVENfSF9NQUtFKE1VTFRJ UV9NQUpPUl9IQU5ETEUsIDApOw0KPiAgICAgICAgICAgICAgICAgfQ0KPiAgICAgICAgICAgICAg ICAgLyogdXNlIGZsb3dlciBmaWx0ZXIgdHlwZSAqLw0KPiAtICAgICAgICAgICAgICAgdGFwX25s YXR0cl9hZGQoJmZsb3ctPm1zZy5uaCwgVENBX0tJTkQsIHNpemVvZigiZmxvd2VyIiksICJmbG93 ZXIiKTsNCj4gKyAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkKCZmbG93LT5tc2csIFRDQV9L SU5ELCBzaXplb2YoImZsb3dlciIpLA0KPiArICJmbG93ZXIiKTsNCj4gICAgICAgICAgICAgICAg IGlmICh0YXBfbmxhdHRyX25lc3RlZF9zdGFydCgmZmxvdy0+bXNnLCBUQ0FfT1BUSU9OUykgPCAw KSB7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9mbG93X2Vycm9yX3NldChlcnJvciwg RU5PTUVNLA0KPiBSVEVfRkxPV19FUlJPUl9UWVBFX0FDVElPTiwNCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMsICJjb3VsZCBub3QgYWxsb2NhdGVk IG5ldGxpbmsgbXNnIik7IEBAIC0NCj4gMTExOCwxNSArMTA5NCwxMSBAQCBwcml2X2Zsb3dfcHJv Y2VzcyhzdHJ1Y3QgcG1kX2ludGVybmFscyAqcG1kLA0KPiAgICAgICAgIH0NCj4gICAgICAgICBp ZiAoZmxvdykgew0KPiAgICAgICAgICAgICAgICAgaWYgKGRhdGEudmxhbikgew0KPiAtICAgICAg ICAgICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZDE2KCZmbG93LT5tc2cubmgsIFRDQV9GTE9X RVJfS0VZX0VUSF9UWVBFLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aHRvbnMoRVRIX1BfODAyMVEpKTsNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgdGFwX25sYXR0 cl9hZGQxNigmZmxvdy0+bXNnLm5oLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVENBX0ZMT1dFUl9LRVlfVkxBTl9FVEhfVFlQRSwNCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRhdGEuZXRoX3R5cGUgPw0KPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGF0YS5ldGhfdHlwZSA6IGh0b25zKEVUSF9QX0FMTCkpOw0KPiAr ICAgICAgICAgICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZDE2KCZmbG93LT5tc2csIFRDQV9G TE9XRVJfS0VZX0VUSF9UWVBFLA0KPiBodG9ucyhFVEhfUF84MDIxUSkpOw0KPiArICAgICAgICAg ICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZDE2KCZmbG93LT5tc2csDQo+IFRDQV9GTE9XRVJf S0VZX1ZMQU5fRVRIX1RZUEUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0 YS5ldGhfdHlwZSA/ICBkYXRhLmV0aF90eXBlIDoNCj4gKyBodG9ucyhFVEhfUF9BTEwpKTsNCj4g ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5ldGhfdHlwZSkgew0KPiAtICAgICAgICAg ICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZDE2KCZmbG93LT5tc2cubmgsIFRDQV9GTE9XRVJf S0VZX0VUSF9UWVBFLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0 YS5ldGhfdHlwZSk7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHRhcF9ubGF0dHJfYWRkMTYo JmZsb3ctPm1zZywNCj4gKyBUQ0FfRkxPV0VSX0tFWV9FVEhfVFlQRSwgZGF0YS5ldGhfdHlwZSk7 DQo+ICAgICAgICAgICAgICAgICB9DQo+ICAgICAgICAgfQ0KPiAgICAgICAgIGlmIChtaXJyZWQg JiYgZmxvdykgew0KPiBAQCAtMTkxOSwxMyArMTg5MSwxMyBAQCBzdGF0aWMgaW50IHJzc19lbmFi bGUoc3RydWN0IHBtZF9pbnRlcm5hbHMgKnBtZCwNCj4gICAgICAgICAgICAgICAgIG1zZy0+dC50 Y21faW5mbyA9IFRDX0hfTUFLRShwcmlvIDw8IDE2LCBtc2ctPnQudGNtX2luZm8pOw0KPiAgICAg ICAgICAgICAgICAgbXNnLT50LnRjbV9wYXJlbnQgPSBUQ19IX01BS0UoTVVMVElRX01BSk9SX0hB TkRMRSwgMCk7DQo+IA0KPiAtICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQoJm1zZy0+bmgs IFRDQV9LSU5ELCBzaXplb2YoImJwZiIpLCAiYnBmIik7DQo+ICsgICAgICAgICAgICAgICB0YXBf bmxhdHRyX2FkZChtc2csIFRDQV9LSU5ELCBzaXplb2YoImJwZiIpLCAiYnBmIik7DQo+ICAgICAg ICAgICAgICAgICBpZiAodGFwX25sYXR0cl9uZXN0ZWRfc3RhcnQobXNnLCBUQ0FfT1BUSU9OUykg PCAwKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+IC0gICAgICAgICAg ICAgICB0YXBfbmxhdHRyX2FkZDMyKCZtc2ctPm5oLCBUQ0FfQlBGX0ZELCBwbWQtPmJwZl9mZFtp XSk7DQo+ICsgICAgICAgICAgICAgICB0YXBfbmxhdHRyX2FkZDMyKG1zZywgVENBX0JQRl9GRCwg cG1kLT5icGZfZmRbaV0pOw0KPiAgICAgICAgICAgICAgICAgc25wcmludGYoYW5ub3RhdGlvbiwg c2l6ZW9mKGFubm90YXRpb24pLCAiWyVzJWRdIiwNCj4gICAgICAgICAgICAgICAgICAgICAgICAg U0VDX05BTUVfQ0xTX1EsIGkpOw0KPiAtICAgICAgICAgICAgICAgdGFwX25sYXR0cl9hZGQoJm1z Zy0+bmgsIFRDQV9CUEZfTkFNRSwgc3RybGVuKGFubm90YXRpb24pICsgMSwNCj4gKyAgICAgICAg ICAgICAgIHRhcF9ubGF0dHJfYWRkKG1zZywgVENBX0JQRl9OQU1FLCBzdHJsZW4oYW5ub3RhdGlv bikgKw0KPiArIDEsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFubm90YXRpb24pOw0K PiAgICAgICAgICAgICAgICAgLyogQWN0aW9ucyAqLw0KPiAgICAgICAgICAgICAgICAgew0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdGFwL3RhcF9uZXRsaW5rLmMgYi9kcml2ZXJzL25ldC90 YXAvdGFwX25ldGxpbmsuYyBpbmRleA0KPiAzNWM0OTFhYzM3Li4xZDhiNjFlNWFiIDEwMDY0NA0K PiAtLS0gYS9kcml2ZXJzL25ldC90YXAvdGFwX25ldGxpbmsuYw0KPiArKysgYi9kcml2ZXJzL25l dC90YXAvdGFwX25ldGxpbmsuYw0KPiBAQCAtMjkzLDE4ICsyOTMsMTggQEAgdGFwX25sX3JlY3Yo aW50IG5sc2tfZmQsIGludCAoKmNiKShzdHJ1Y3Qgbmxtc2doZHIgKiwNCj4gdm9pZCAqYXJnKSwg dm9pZCAqYXJnKQ0KPiAgICogICBUaGUgZGF0YSB0byBhcHBlbmQuDQo+ICAgKi8NCj4gIHZvaWQN Cj4gLXRhcF9ubGF0dHJfYWRkKHN0cnVjdCBubG1zZ2hkciAqbmgsIHVuc2lnbmVkIHNob3J0IHR5 cGUsDQo+ICt0YXBfbmxhdHRyX2FkZChzdHJ1Y3Qgbmxtc2cgKm1zZywgdW5zaWduZWQgc2hvcnQg dHlwZSwNCj4gICAgICAgICAgICB1bnNpZ25lZCBpbnQgZGF0YV9sZW4sIGNvbnN0IHZvaWQgKmRh dGEpICB7DQo+ICAgICAgICAgLyogc2VlIG1hbiAzIHJ0bmV0bGluayAqLw0KPiAgICAgICAgIHN0 cnVjdCBydGF0dHIgKnJ0YTsNCj4gDQo+IC0gICAgICAgcnRhID0gKHN0cnVjdCBydGF0dHIgKilO TE1TR19UQUlMKG5oKTsNCj4gKyAgICAgICBydGEgPSAoc3RydWN0IHJ0YXR0ciAqKU5MTVNHX1RB SUwobXNnKTsNCj4gICAgICAgICBydGEtPnJ0YV9sZW4gPSBSVEFfTEVOR1RIKGRhdGFfbGVuKTsN Cj4gICAgICAgICBydGEtPnJ0YV90eXBlID0gdHlwZTsNCj4gICAgICAgICBpZiAoZGF0YV9sZW4g PiAwKQ0KPiAgICAgICAgICAgICAgICAgbWVtY3B5KFJUQV9EQVRBKHJ0YSksIGRhdGEsIGRhdGFf bGVuKTsNCj4gLSAgICAgICBuaC0+bmxtc2dfbGVuID0gTkxNU0dfQUxJR04obmgtPm5sbXNnX2xl bikgKyBSVEFfQUxJR04ocnRhLQ0KPiA+cnRhX2xlbik7DQo+ICsgICAgICAgbXNnLT5uaC5ubG1z Z19sZW4gPSBOTE1TR19BTElHTihtc2ctPm5oLm5sbXNnX2xlbikgKw0KPiArIFJUQV9BTElHTihy dGEtPnJ0YV9sZW4pOw0KPiAgfQ0KPiANCj4gIC8qKg0KPiBAQCAtMzE4LDkgKzMxOCw5IEBAIHRh cF9ubGF0dHJfYWRkKHN0cnVjdCBubG1zZ2hkciAqbmgsIHVuc2lnbmVkIHNob3J0DQo+IHR5cGUs DQo+ICAgKiAgIFRoZSBkYXRhIHRvIGFwcGVuZC4NCj4gICAqLw0KPiAgdm9pZA0KPiAtdGFwX25s YXR0cl9hZGQ4KHN0cnVjdCBubG1zZ2hkciAqbmgsIHVuc2lnbmVkIHNob3J0IHR5cGUsIHVpbnQ4 X3QgZGF0YSkNCj4gK3RhcF9ubGF0dHJfYWRkOChzdHJ1Y3Qgbmxtc2cgKm1zZywgdW5zaWduZWQg c2hvcnQgdHlwZSwgdWludDhfdCBkYXRhKQ0KPiAgew0KPiAtICAgICAgIHRhcF9ubGF0dHJfYWRk KG5oLCB0eXBlLCBzaXplb2YodWludDhfdCksICZkYXRhKTsNCj4gKyAgICAgICB0YXBfbmxhdHRy X2FkZChtc2csIHR5cGUsIHNpemVvZih1aW50OF90KSwgJmRhdGEpOw0KPiAgfQ0KPiANCj4gIC8q Kg0KPiBAQCAtMzM0LDkgKzMzNCw5IEBAIHRhcF9ubGF0dHJfYWRkOChzdHJ1Y3Qgbmxtc2doZHIg Km5oLCB1bnNpZ25lZCBzaG9ydA0KPiB0eXBlLCB1aW50OF90IGRhdGEpDQo+ICAgKiAgIFRoZSBk YXRhIHRvIGFwcGVuZC4NCj4gICAqLw0KPiAgdm9pZA0KPiAtdGFwX25sYXR0cl9hZGQxNihzdHJ1 Y3Qgbmxtc2doZHIgKm5oLCB1bnNpZ25lZCBzaG9ydCB0eXBlLCB1aW50MTZfdCBkYXRhKQ0KPiAr dGFwX25sYXR0cl9hZGQxNihzdHJ1Y3Qgbmxtc2cgKm1zZywgdW5zaWduZWQgc2hvcnQgdHlwZSwg dWludDE2X3QgZGF0YSkNCj4gIHsNCj4gLSAgICAgICB0YXBfbmxhdHRyX2FkZChuaCwgdHlwZSwg c2l6ZW9mKHVpbnQxNl90KSwgJmRhdGEpOw0KPiArICAgICAgIHRhcF9ubGF0dHJfYWRkKG1zZywg dHlwZSwgc2l6ZW9mKHVpbnQxNl90KSwgJmRhdGEpOw0KPiAgfQ0KPiANCj4gIC8qKg0KPiBAQCAt MzUwLDkgKzM1MCw5IEBAIHRhcF9ubGF0dHJfYWRkMTYoc3RydWN0IG5sbXNnaGRyICpuaCwgdW5z aWduZWQgc2hvcnQNCj4gdHlwZSwgdWludDE2X3QgZGF0YSkNCj4gICAqICAgVGhlIGRhdGEgdG8g YXBwZW5kLg0KPiAgICovDQo+ICB2b2lkDQo+IC10YXBfbmxhdHRyX2FkZDMyKHN0cnVjdCBubG1z Z2hkciAqbmgsIHVuc2lnbmVkIHNob3J0IHR5cGUsIHVpbnQzMl90IGRhdGEpDQo+ICt0YXBfbmxh dHRyX2FkZDMyKHN0cnVjdCBubG1zZyAqbXNnLCB1bnNpZ25lZCBzaG9ydCB0eXBlLCB1aW50MzJf dCBkYXRhKQ0KPiAgew0KPiAtICAgICAgIHRhcF9ubGF0dHJfYWRkKG5oLCB0eXBlLCBzaXplb2Yo dWludDMyX3QpLCAmZGF0YSk7DQo+ICsgICAgICAgdGFwX25sYXR0cl9hZGQobXNnLCB0eXBlLCBz aXplb2YodWludDMyX3QpLCAmZGF0YSk7DQo+ICB9DQo+IA0KPiAgLyoqDQo+IEBAIC0zNzksOSAr Mzc5LDkgQEAgdGFwX25sYXR0cl9uZXN0ZWRfc3RhcnQoc3RydWN0IG5sbXNnICptc2csIHVpbnQx Nl90DQo+IHR5cGUpDQo+ICAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ICAgICAgICAgfQ0K PiANCj4gLSAgICAgICB0YWlsLT50YWlsID0gKHN0cnVjdCBydGF0dHIgKilOTE1TR19UQUlMKCZt c2ctPm5oKTsNCj4gKyAgICAgICB0YWlsLT50YWlsID0gKHN0cnVjdCBydGF0dHIgKilOTE1TR19U QUlMKG1zZyk7DQo+IA0KPiAtICAgICAgIHRhcF9ubGF0dHJfYWRkKCZtc2ctPm5oLCB0eXBlLCAw LCBOVUxMKTsNCj4gKyAgICAgICB0YXBfbmxhdHRyX2FkZChtc2csIHR5cGUsIDAsIE5VTEwpOw0K PiANCj4gICAgICAgICB0YWlsLT5wcmV2ID0gbXNnLT5uZXN0ZWRfdGFpbHM7DQo+IA0KPiBAQCAt NDA0LDcgKzQwNCw3IEBAIHRhcF9ubGF0dHJfbmVzdGVkX2ZpbmlzaChzdHJ1Y3Qgbmxtc2cgKm1z ZykgIHsNCj4gICAgICAgICBzdHJ1Y3QgbmVzdGVkX3RhaWwgKnRhaWwgPSBtc2ctPm5lc3RlZF90 YWlsczsNCj4gDQo+IC0gICAgICAgdGFpbC0+dGFpbC0+cnRhX2xlbiA9IChjaGFyICopTkxNU0df VEFJTCgmbXNnLT5uaCkgLSAoY2hhciAqKXRhaWwtPnRhaWw7DQo+ICsgICAgICAgdGFpbC0+dGFp bC0+cnRhX2xlbiA9IChjaGFyICopTkxNU0dfVEFJTChtc2cpIC0gKGNoYXINCj4gKyAqKXRhaWwt PnRhaWw7DQo+IA0KPiAgICAgICAgIGlmICh0YWlsLT5wcmV2KQ0KPiAgICAgICAgICAgICAgICAg bXNnLT5uZXN0ZWRfdGFpbHMgPSB0YWlsLT5wcmV2OyBkaWZmIC0tZ2l0DQo+IGEvZHJpdmVycy9u ZXQvdGFwL3RhcF9uZXRsaW5rLmggYi9kcml2ZXJzL25ldC90YXAvdGFwX25ldGxpbmsuaCBpbmRl eA0KPiBmYWE3M2JhMTYzLi5jMTQ5M2I2YmYwIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC90 YXAvdGFwX25ldGxpbmsuaA0KPiArKysgYi9kcml2ZXJzL25ldC90YXAvdGFwX25ldGxpbmsuaA0K PiBAQCAtMjMsNyArMjMsNyBAQCBzdHJ1Y3Qgbmxtc2cgew0KPiAgICAgICAgIHN0cnVjdCBuZXN0 ZWRfdGFpbCAqbmVzdGVkX3RhaWxzOyAgfTsNCj4gDQo+IC0jZGVmaW5lIE5MTVNHX1RBSUwobmxo KSAodm9pZCAqKSgoY2hhciAqKShubGgpICsgTkxNU0dfQUxJR04oKG5saCktDQo+ID5ubG1zZ19s ZW4pKQ0KPiArI2RlZmluZSBOTE1TR19UQUlMKG1zZykgKHZvaWQgKikoKGNoYXIgKikobXNnKSAr DQo+ICtOTE1TR19BTElHTigobXNnKS0+bmgubmxtc2dfbGVuKSkNCj4gDQo+ICBpbnQgdGFwX25s X2luaXQodWludDMyX3QgbmxfZ3JvdXBzKTsNCj4gIGludCB0YXBfbmxfZmluYWwoaW50IG5sc2tf ZmQpOw0KPiBAQCAtMzEsMTEgKzMxLDExIEBAIGludCB0YXBfbmxfc2VuZChpbnQgbmxza19mZCwg c3RydWN0IG5sbXNnaGRyICpuaCk7ICBpbnQNCj4gdGFwX25sX3JlY3YoaW50IG5sc2tfZmQsIGlu dCAoKmNhbGxiYWNrKShzdHJ1Y3Qgbmxtc2doZHIgKiwgdm9pZCAqKSwNCj4gICAgICAgICAgICAg ICAgIHZvaWQgKmFyZyk7DQo+ICBpbnQgdGFwX25sX3JlY3ZfYWNrKGludCBubHNrX2ZkKTsNCj4g LXZvaWQgdGFwX25sYXR0cl9hZGQoc3RydWN0IG5sbXNnaGRyICpuaCwgdW5zaWduZWQgc2hvcnQg dHlwZSwNCj4gK3ZvaWQgdGFwX25sYXR0cl9hZGQoc3RydWN0IG5sbXNnICptc2csIHVuc2lnbmVk IHNob3J0IHR5cGUsDQo+ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRhdGFfbGVu LCBjb25zdCB2b2lkICpkYXRhKTsgLXZvaWQNCj4gdGFwX25sYXR0cl9hZGQ4KHN0cnVjdCBubG1z Z2hkciAqbmgsIHVuc2lnbmVkIHNob3J0IHR5cGUsIHVpbnQ4X3QgZGF0YSk7IC12b2lkDQo+IHRh cF9ubGF0dHJfYWRkMTYoc3RydWN0IG5sbXNnaGRyICpuaCwgdW5zaWduZWQgc2hvcnQgdHlwZSwg dWludDE2X3QgZGF0YSk7IC0NCj4gdm9pZCB0YXBfbmxhdHRyX2FkZDMyKHN0cnVjdCBubG1zZ2hk ciAqbmgsIHVuc2lnbmVkIHNob3J0IHR5cGUsIHVpbnQzMl90DQo+IGRhdGEpOw0KPiArdm9pZCB0 YXBfbmxhdHRyX2FkZDgoc3RydWN0IG5sbXNnICptc2csIHVuc2lnbmVkIHNob3J0IHR5cGUsIHVp bnQ4X3QNCj4gK2RhdGEpOyB2b2lkIHRhcF9ubGF0dHJfYWRkMTYoc3RydWN0IG5sbXNnICptc2cs IHVuc2lnbmVkIHNob3J0IHR5cGUsDQo+ICt1aW50MTZfdCBkYXRhKTsgdm9pZCB0YXBfbmxhdHRy X2FkZDMyKHN0cnVjdCBubG1zZyAqbXNnLCB1bnNpZ25lZCBzaG9ydA0KPiArdHlwZSwgdWludDMy X3QgZGF0YSk7DQo+ICBpbnQgdGFwX25sYXR0cl9uZXN0ZWRfc3RhcnQoc3RydWN0IG5sbXNnICpt c2csIHVpbnQxNl90IHR5cGUpOyAgdm9pZA0KPiB0YXBfbmxhdHRyX25lc3RlZF9maW5pc2goc3Ry dWN0IG5sbXNnICptc2cpOw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3RhcC90YXBf dGNtc2dzLmMgYi9kcml2ZXJzL25ldC90YXAvdGFwX3RjbXNncy5jIGluZGV4DQo+IDI0YTA0MjNh MGUuLmY4MTFkZWVmMjQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3RhcC90YXBfdGNtc2dz LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdGFwL3RhcF90Y21zZ3MuYw0KPiBAQCAtMTIzLDggKzEy Myw4IEBAIHFkaXNjX2FkZF9tdWx0aXEoaW50IG5sc2tfZmQsIHVuc2lnbmVkIGludCBpZmluZGV4 KQ0KPiAgICAgICAgICAgICAgICAgICAgIE5MTV9GX1JFUVVFU1QgfCBOTE1fRl9BQ0sgfCBOTE1f Rl9FWENMIHwgTkxNX0ZfQ1JFQVRFKTsNCj4gICAgICAgICBtc2cudC50Y21faGFuZGxlID0gVENf SF9NQUtFKE1VTFRJUV9NQUpPUl9IQU5ETEUsIDApOw0KPiAgICAgICAgIG1zZy50LnRjbV9wYXJl bnQgPSBUQ19IX1JPT1Q7DQo+IC0gICAgICAgdGFwX25sYXR0cl9hZGQoJm1zZy5uaCwgVENBX0tJ TkQsIHNpemVvZigibXVsdGlxIiksICJtdWx0aXEiKTsNCj4gLSAgICAgICB0YXBfbmxhdHRyX2Fk ZCgmbXNnLm5oLCBUQ0FfT1BUSU9OUywgc2l6ZW9mKG9wdCksICZvcHQpOw0KPiArICAgICAgIHRh cF9ubGF0dHJfYWRkKCZtc2csIFRDQV9LSU5ELCBzaXplb2YoIm11bHRpcSIpLCAibXVsdGlxIik7 DQo+ICsgICAgICAgdGFwX25sYXR0cl9hZGQoJm1zZywgVENBX09QVElPTlMsIHNpemVvZihvcHQp LCAmb3B0KTsNCj4gICAgICAgICBpZiAodGFwX25sX3NlbmQobmxza19mZCwgJm1zZy5uaCkgPCAw KQ0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiAgICAgICAgIGlmICh0YXBfbmxfcmVj dl9hY2sobmxza19mZCkgPCAwKSBAQCAtMTUyLDcgKzE1Miw3IEBADQo+IHFkaXNjX2FkZF9pbmdy ZXNzKGludCBubHNrX2ZkLCB1bnNpZ25lZCBpbnQgaWZpbmRleCkNCj4gICAgICAgICAgICAgICAg ICAgICBOTE1fRl9SRVFVRVNUIHwgTkxNX0ZfQUNLIHwgTkxNX0ZfRVhDTCB8IE5MTV9GX0NSRUFU RSk7DQo+ICAgICAgICAgbXNnLnQudGNtX2hhbmRsZSA9IFRDX0hfTUFLRShUQ19IX0lOR1JFU1Ms IDApOw0KPiAgICAgICAgIG1zZy50LnRjbV9wYXJlbnQgPSBUQ19IX0lOR1JFU1M7DQo+IC0gICAg ICAgdGFwX25sYXR0cl9hZGQoJm1zZy5uaCwgVENBX0tJTkQsIHNpemVvZigiaW5ncmVzcyIpLCAi aW5ncmVzcyIpOw0KPiArICAgICAgIHRhcF9ubGF0dHJfYWRkKCZtc2csIFRDQV9LSU5ELCBzaXpl b2YoImluZ3Jlc3MiKSwgImluZ3Jlc3MiKTsNCj4gICAgICAgICBpZiAodGFwX25sX3NlbmQobmxz a19mZCwgJm1zZy5uaCkgPCAwKQ0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiAgICAg ICAgIGlmICh0YXBfbmxfcmVjdl9hY2sobmxza19mZCkgPCAwKQ0KPiAtLQ0KPiAyLjUxLjANCg0K DQpUaGlzIHBhdGNoIHdhcyBhcHBsaWVkIGFsc28gdG8gMjMuMTEuDQoNClRoYW5rcywNClNoYW5p DQoNCg==