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 5557A43C07; Tue, 27 Feb 2024 11:27:13 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 34FF34027D; Tue, 27 Feb 2024 11:27:13 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 12FD840150 for ; Tue, 27 Feb 2024 11:27:10 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 41QNPFp4011606; Tue, 27 Feb 2024 02:27:10 -0800 Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3wfgun9163-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 27 Feb 2024 02:27:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KX+35KY5mpLSA6nC/K+6lsrpww1vbjk3xdq2fvbTnIdMiTUYOrlLocCiLFcMDCP6qQooaDBFuOypthmGm2cKwx/WjxlNWXEjJzNUuw+8zQ301nK8w8/1B2iywLweEm1ymC4dm5CFIZZRuVj5ljm8zkGK0viBMPph0X08czAfoqk+N9sfGd2R2xxXbAiuvSPxVeXpbpWIgHQNzNcy240NR53+1l56oUBFTfNuEH9x+SoMRoqThiGMoLx0XjW0B7o6RmDsClc/VQpIyVRsdu5wFucC0ikgPyz50rffwMja3VcSb85Vi+dQoog0i0ic9fyLxQAyK67A71XQDnQVQIpqjQ== 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=HUhv/zLvlrzoXG0tE7bb+kjETzFOx5qnWLe52YSMfUY=; b=c+jjD4yA9BTn/tBzwYRDlLrqKGmqzotmBFYqR2fw43USpKgY4Hdf0PETymTZNnngsUwBa97kmYofg12P5udVGYJW56zQC5Y6gFUL38T9YxfOQuu1Mwm0sBEjrNOQnbrhiihRYWzf6IWmRIcR4NgPyW5ebLhYyJWWcl1RzDuZeLX493MNaJ/WZILOQYH1lT4h8muXz2p/Anasu5gs+aV63VM4qUHUy8P65h5pbom0IcW1V5Gb+3TKMZlCZuZXXoSkroTvbvy4SIl9bCvCBLWYOCLB9zJOZHIxpYblCvqgKB6+c+h4SfSiQuSXw21Qnw4jOpvliI2W8p2umtcJZzOrsQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HUhv/zLvlrzoXG0tE7bb+kjETzFOx5qnWLe52YSMfUY=; b=UYUMT5C11wHGYr2rGD0k3leU7O22JyjJJwlOqEf/U51S99dRoHXn+ZckaWJaY/ZAkUz8Sk632c5XI1NvguQfpSzAH/bPfXD+oxeQqDpBgXL+6cinYXX7egbwClRTMdWgppClPl7oRUZeOPVhk1K4j79XAFb00F5TzV9NL4PPj3k= Received: from DS0PR18MB5368.namprd18.prod.outlook.com (2603:10b6:8:12f::17) by CO3PR18MB4846.namprd18.prod.outlook.com (2603:10b6:303:172::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.36; Tue, 27 Feb 2024 10:27:06 +0000 Received: from DS0PR18MB5368.namprd18.prod.outlook.com ([fe80::f51f:bab0:175:23b]) by DS0PR18MB5368.namprd18.prod.outlook.com ([fe80::f51f:bab0:175:23b%6]) with mapi id 15.20.7316.035; Tue, 27 Feb 2024 10:27:05 +0000 From: Srujana Challa To: Maxime Coquelin , "dev@dpdk.org" , "chenbox@nvidia.com" CC: Jerin Jacob , Nithin Kumar Dabilpuram , Vamsi Krishna Attunuru Subject: RE: [EXT] Re: [PATCH] net/virtio-user: support IOVA as PA mode for vDPA backend Thread-Topic: [EXT] Re: [PATCH] net/virtio-user: support IOVA as PA mode for vDPA backend Thread-Index: AQHaaUG9JmQdOKcH0EaCtp4QSi05I7Ed4yeAgAASqlA= Date: Tue, 27 Feb 2024 10:27:05 +0000 Message-ID: References: <20240227055635.2135782-1-schalla@marvell.com> <572889e4-47c7-4cb1-ad94-810d2cccf831@redhat.com> In-Reply-To: <572889e4-47c7-4cb1-ad94-810d2cccf831@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS0PR18MB5368:EE_|CO3PR18MB4846:EE_ x-ms-office365-filtering-correlation-id: 65cfcf4e-6a13-4c36-85b5-08dc377ea54c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vCReV5oifR/GpB8xqh6YRBJvwWx0qiyKdcGvNhsrxbCEXNnA4YHgJnvGQLTBTvKL0C/JlN2njTZQlcsGaCb/q4buBSCmyPBSGoCTpnIsQu5Sa4X4O3++iib9MrHw2sYL2USf92DVNSrL4x3gyaSe01TtVEJ1/cuHr2FfQfor+rECfAqd6GaSvUXKv2loZiCNax0HtBRyAA3jSonlL2DjWB3dUDto7l4qA4UxHcCpfQ3jkBp56r7y8EOpKIwg9KD0Pbj3OduLcs5XAADU0dzjug/vMBfo30yvh/gBRY98Du5JkX623BYwwoWYku9O/HwhuFpgFMVFBKuoYDlQjXPlJKXpFAI7qeTcftXra/VMHRqgSWVge9R5a/Ri+KAnfNqMI/LVEZXjwj07QHcWGek1AztyGd+ziZFJoUkl2A6YOCEELKi0fuSAVJjQ5u/ePuHvD/5b89VbiSXdm15vXSJgHIV9xKkV/LWISh/0wQuCxdfoLQMQqd05WE1td4yK5jPWuEuIgGBlCfD+7zWa0Ww1HdjRNqItgOKb1hZ6WWfbMccWtJi7zceW1p1SZW8L+2VZ+S7SI+MasnpbI5mkAxeA8+J0sJ6aXFmh88sNRJCupxkUJjdZWAoLRg4Miu+bhHeniwXt4vq5/uhTnQBwAmzetkDmo3AtpchVpSL2eN8x5yVb1uiQ6hVM0V9AZWWcCbV/Ejf2FKNKfnj3nVmNvUY3+bN5CY648wMXyMzmilMqnBE= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR18MB5368.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(230273577357003)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YVpabTRmMjFZWTFUUGVlRllrQlpDLzZsZHh5eERKem95K3FGcVJMOFNOVVJ6?= =?utf-8?B?MWZyTDYyeFhock9NaDFLU0tEeDVjeDBjL0hYVWRGN1hsTmx1a0NoTlFoaXNI?= =?utf-8?B?N0hnNzlPdEJZdE0ra1ZjQnlOUjNMK3VuQUMzODY4cXlPWkhCOW0xUHB3NTAx?= =?utf-8?B?d2kvRFpnNTZDcTFZK05MVWEvYitiVDMvaHFtLzArdmxsTlBLQTNhUk50OXZN?= =?utf-8?B?VTA5amhJQ3JkYlpWczlkb3NycHdrRkxYOFIxUlJGOXpFQy9pUzU5NU5wdUV3?= =?utf-8?B?dGhKRi9sMVdpS2tBa0FVd1dFM2U4ZVlUMU9xaGNnWUEweHdDNEJpYm1TY29y?= =?utf-8?B?MFNrWjFyTVpKN2w4TmpXR0hDSGlkUXQ1R1krMmlPYzYyYk56T2dkNlZZZXY2?= =?utf-8?B?bm8rQVpMYll0dFgxRU9OZHdWZmFaZWgrcTRHdm5rTEwxakVMNzNjT0RxN3FB?= =?utf-8?B?OThYZHllTzV1SjhobTJJTTg4WkpiZ2QwbnRrYTYzRzM0QVcrYXJKZXZjUlBU?= =?utf-8?B?bHBsTzFTeUZGNWQ2TVl3bHR2cHhRUGtKSk8zSjhQNVVrM2xaelRIWXZHbWox?= =?utf-8?B?Zm43TUZTM1Q2UXV2aSs5QjVZRUVnWlBudExxR0IyYkw3SGhEWmcrS2lkWGJQ?= =?utf-8?B?WFhmNFkrTkFEOSsxc1JzR3NvT0Z1eWNGSHJwaUxGMlBtbzJnNXlVb1lrc3lD?= =?utf-8?B?QzlhaGRCWDRGN0NkdFQ4dlhHanRqNnpVNzBuOUZpYTdGL3ZJRjBlTlNqWGpU?= =?utf-8?B?ZG1NN2Y4Umh5L29yR3BmRFFPK1dSMDJwcjNqaC9XV1FaRGFOQXVobzcvSkVH?= =?utf-8?B?bW9BakhTb3dnazluZ25vN2NDdGZwWldYYVhUZWNEVGVwSGxkQ2dZSXh5YUQv?= =?utf-8?B?YjdCbHBBbS9JcTlOdzBWS1J5WktnQUx3eTdQS1ZrcGoyeW0vQjZGWXdBYUNZ?= =?utf-8?B?c1JFWTlONkRnS1ZGT0xYaGI0Z0d1L1ZBamlzL1c5eXJ1KzYxdFo1ekdKOW91?= =?utf-8?B?QnlQdkZ6akhXdUN5bUVLdWU2a1NXRkQ3a29CeHBMOFpOb2txT3ZYUitqZ3FL?= =?utf-8?B?aStIYkt6SGR5ZGU3NFVhcW9MS0p5M2NEYi9IVlNYMVQ2YmVTam1iazRHY2o0?= =?utf-8?B?N0hNWlk3SWFJTVdPZFpZcHJZaDE5NmcxOTVsKzFlVnlkcnpNQTRwWGRrTEtx?= =?utf-8?B?NVY3T0I2RGRJdnJrOHJkNnBTRVlQNW9pSU45TkpsV1RNVWUwK2hlWDlDSjVJ?= =?utf-8?B?dXEzd2lSdmxCTG9yQXMyS0g3WHBDK0hnQlViM20zMUZmdUV1RktTTkZkaWVj?= =?utf-8?B?bG5YZGlBK0NvVWxCZTFucVN4V1lWbnpGVVdWZEFUS3JrWEdva1AvY1NlMHZq?= =?utf-8?B?aGdWak1Lc3lqQXp6UnNIR3VKTnN4dGhrSVFza0RJN1EwZlZkTUxpQnpxYklO?= =?utf-8?B?VEFLVUgwQ1BOMndVaFQyMVpRSWsxL2JteWZKRFdoVkJidmVzR25HaDlJTlI2?= =?utf-8?B?Z0NheXVkZWYzUFhLYlVvZ3padnJtZm5QdUtDYS9yQkk1M1Bxd1pTcXhxOUZ6?= =?utf-8?B?ZjZmckVscTE5d1RYZUs3OC81bjFacXU5TjJhN0w3NWc2bktZQzFjbkFJLzJW?= =?utf-8?B?Uzh6RklQT2FaK1Ezckl3eHA2TW9WcjRwUURFcXNUUWI5SDM2TzR3WUtMRmNz?= =?utf-8?B?RlF1OTV5S2FoS0NzaytNWEgvOVJoZ2dYd29NL2FpTWxVbUlhMlZSTUUyV0g5?= =?utf-8?B?NTFCRVdGanBVM0lOZGtaTUxGVVJibXFuQ09heGVSaFo3WTA0TVZlc05rd2hU?= =?utf-8?B?bXVqMHd0K2RQY2ZMU3NIUTBXMURUeW05R3R5RUFpZytPY0JBV2RDNGJ0T2Fq?= =?utf-8?B?Zk80SWY1S005MktqeEJxOGxPa1AyT3Z0VFRkNHIzcnpOOFVpalVSQmpGc3lT?= =?utf-8?B?NFpMVG5YRUF0RGh6UU5HSnN0b3k1QVcveEJSNW5xZm55cnpsblh4VXpoZmp0?= =?utf-8?B?enNQZXhBTFp2R3JCMEZKZ0pZV2pFTVEveDkvTGFoNFV1KzdGa0luOTB2NkFI?= =?utf-8?B?OG5lY3hUN1FVZ3RlM3FVUGRnVUNPZjJzcnBwSWVKdlVVbFFVa0xYY3pOeG04?= =?utf-8?Q?PIo3j1pjv9Ki3oDiAYM0tnA0y?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS0PR18MB5368.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65cfcf4e-6a13-4c36-85b5-08dc377ea54c X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2024 10:27:05.8003 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RRxnX4yZ/tpaAdAJGCwiIJS8mh9ORSJNPWhkb6DXQwb8PUWcPYmZ2ppRnLNkZSOr/glVPsHyloEUNsVq0lPgHw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR18MB4846 X-Proofpoint-ORIG-GUID: 0peSRIfMBNU_47bklpIk2cROoFxHEBig X-Proofpoint-GUID: 0peSRIfMBNU_47bklpIk2cROoFxHEBig X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-26_11,2024-02-26_01,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiBTdWJqZWN0OiBbRVhUXSBSZTogW1BBVENIXSBuZXQvdmlydGlvLXVzZXI6IHN1cHBvcnQgSU9W QSBhcyBQQSBtb2RlIGZvciB2RFBBDQo+IGJhY2tlbmQNCj4gDQo+IEV4dGVybmFsIEVtYWlsDQo+ IA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQo+IEhpIFNydWphbmEsDQo+IA0KPiBPbiAyLzI3LzI0IDA2OjU2 LCBTcnVqYW5hIENoYWxsYSB3cm90ZToNCj4gPiBEaXNhYmxlIHVzZV92YSBmbGFnIGZvciBWRFBB IGJhY2tlbmQgdHlwZSBhbmQgZml4ZXMgdGhlIGlzc3VlcyB3aXRoDQo+ID4gc2hhZG93IGNvbnRy b2wgY29tbWFuZCBwcm9jZXNzaW5nLCB3aGVuIGl0IGlzIGRpc2FibGVkLg0KPiA+IFRoaXMgd2ls bCBoZWxwIHRvIG1ha2UgdmlydGlvIHVzZXIgZHJpdmVyIHdvcmtzIGluIElPVkEgYXMgUEEgbW9k ZSBmb3INCj4gPiB2RFBBIGJhY2tlbmQuDQo+IA0KPiBJdCBpcyB0b28gbGF0ZSBmb3IgdjI0LjAz LCBidXQgYSBjb3VwbGUgb2YgY29tbWVudHM6DQo+IDEuIFRoYXQncyB0aGUgM3JkIHRpbWUgdGhp cyBwYXRjaCBpcyBzZW50LCBpZiBuZXcgdmVyc2lvbnMgcGxlYXNlIHNwZWNpZnkgaXQgaW4gdGhl DQo+IGNvbW1pdCB0aXRsZSwgYW5kIGFsc28gcHJvdmlkZSBzb21lIGNoYW5nZSBsb2dzLg0KU3Vy ZSwgd2lsbCBwcm92aWRlIGNoYW5nZSBsb2dzIG5leHQgdGltZS4gSSBoYXZlIGZpeGVkIGJ1aWxk IGVycm9yIHJlcG9ydGVkIGJ5IHN5c19zdHYNCmZvciBDZW50T1MgYW5kIHJlc2VudCBpdC4NCj4g Mi4gSSBqdXN0IGhhZCBhIHF1aWNrIGxvb2ssIGJ1dCBpdCBsb29rcyBsaWtlIGl0IHdvdWxkIGRl c2VydmUgc2V2ZXJhbCBwYXRjaGVzLg0KSSB3aWxsIHNwbGl0IHRoaXMgcGF0Y2ggaW50byAzIHBh dGNoZXMgYW5kIHNlbmQgdGhlIG5leHQgdmVyc2lvbi4NCg0KVGhhbmtzLA0KU3J1amFuYS4NCj4g DQo+IFRoYW5rcywNCj4gTWF4aW1lDQo+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IFNydWphbmEgQ2hh bGxhIDxzY2hhbGxhQG1hcnZlbGwuY29tPg0KPiA+IC0tLQ0KPiA+ICAgZHJpdmVycy9uZXQvdmly dGlvL3ZpcnRpb19yaW5nLmggICAgICAgICAgICAgIHwgMTIgKystDQo+ID4gICAuLi4vbmV0L3Zp cnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYyAgfCA5NCArKysrKysrKysrLS0tLS0t LS0tDQo+ID4gICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMgICAgICAg fCAxMCArLQ0KPiA+ICAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRxdWV1ZS5jICAgICAgICAgICAg ICAgIHwgIDQgKy0NCj4gPiAgIDQgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgNTEg ZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3Zp cnRpb19yaW5nLmgNCj4gPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fcmluZy5oDQo+ID4g aW5kZXggZTg0OGMwYjczYi4uOTk4NjA1ZGJiNSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3JpbmcuaA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 aW9fcmluZy5oDQo+ID4gQEAgLTgzLDYgKzgzLDcgQEAgc3RydWN0IHZyaW5nX3BhY2tlZF9kZXNj X2V2ZW50IHsNCj4gPg0KPiA+ICAgc3RydWN0IHZyaW5nX3BhY2tlZCB7DQo+ID4gICAJdW5zaWdu ZWQgaW50IG51bTsNCj4gPiArCXJ0ZV9pb3ZhX3QgZGVzY19pb3ZhOw0KPiA+ICAgCXN0cnVjdCB2 cmluZ19wYWNrZWRfZGVzYyAqZGVzYzsNCj4gPiAgIAlzdHJ1Y3QgdnJpbmdfcGFja2VkX2Rlc2Nf ZXZlbnQgKmRyaXZlcjsNCj4gPiAgIAlzdHJ1Y3QgdnJpbmdfcGFja2VkX2Rlc2NfZXZlbnQgKmRl dmljZTsgQEAgLTkwLDYgKzkxLDcgQEAgc3RydWN0DQo+ID4gdnJpbmdfcGFja2VkIHsNCj4gPg0K PiA+ICAgc3RydWN0IHZyaW5nIHsNCj4gPiAgIAl1bnNpZ25lZCBpbnQgbnVtOw0KPiA+ICsJcnRl X2lvdmFfdCBkZXNjX2lvdmE7DQo+ID4gICAJc3RydWN0IHZyaW5nX2Rlc2MgICpkZXNjOw0KPiA+ ICAgCXN0cnVjdCB2cmluZ19hdmFpbCAqYXZhaWw7DQo+ID4gICAJc3RydWN0IHZyaW5nX3VzZWQg ICp1c2VkOw0KPiA+IEBAIC0xNDksMTEgKzE1MSwxMiBAQCB2cmluZ19zaXplKHN0cnVjdCB2aXJ0 aW9faHcgKmh3LCB1bnNpZ25lZCBpbnQNCj4gbnVtLCB1bnNpZ25lZCBsb25nIGFsaWduKQ0KPiA+ ICAgCXJldHVybiBzaXplOw0KPiA+ICAgfQ0KPiA+ICAgc3RhdGljIGlubGluZSB2b2lkDQo+ID4g LXZyaW5nX2luaXRfc3BsaXQoc3RydWN0IHZyaW5nICp2ciwgdWludDhfdCAqcCwgdW5zaWduZWQg bG9uZyBhbGlnbiwNCj4gPiAtCSB1bnNpZ25lZCBpbnQgbnVtKQ0KPiA+ICt2cmluZ19pbml0X3Nw bGl0KHN0cnVjdCB2cmluZyAqdnIsIHVpbnQ4X3QgKnAsIHJ0ZV9pb3ZhX3QgaW92YSwNCj4gPiAr CQkgdW5zaWduZWQgbG9uZyBhbGlnbiwgdW5zaWduZWQgaW50IG51bSkNCj4gPiAgIHsNCj4gPiAg IAl2ci0+bnVtID0gbnVtOw0KPiA+ICAgCXZyLT5kZXNjID0gKHN0cnVjdCB2cmluZ19kZXNjICop IHA7DQo+ID4gKwl2ci0+ZGVzY19pb3ZhID0gaW92YTsNCj4gPiAgIAl2ci0+YXZhaWwgPSAoc3Ry dWN0IHZyaW5nX2F2YWlsICopIChwICsNCj4gPiAgIAkJbnVtICogc2l6ZW9mKHN0cnVjdCB2cmlu Z19kZXNjKSk7DQo+ID4gICAJdnItPnVzZWQgPSAodm9pZCAqKQ0KPiA+IEBAIC0xNjEsMTEgKzE2 NCwxMiBAQCB2cmluZ19pbml0X3NwbGl0KHN0cnVjdCB2cmluZyAqdnIsIHVpbnQ4X3QgKnAsDQo+ IHVuc2lnbmVkIGxvbmcgYWxpZ24sDQo+ID4gICB9DQo+ID4NCj4gPiAgIHN0YXRpYyBpbmxpbmUg dm9pZA0KPiA+IC12cmluZ19pbml0X3BhY2tlZChzdHJ1Y3QgdnJpbmdfcGFja2VkICp2ciwgdWlu dDhfdCAqcCwgdW5zaWduZWQgbG9uZyBhbGlnbiwNCj4gPiAtCQkgdW5zaWduZWQgaW50IG51bSkN Cj4gPiArdnJpbmdfaW5pdF9wYWNrZWQoc3RydWN0IHZyaW5nX3BhY2tlZCAqdnIsIHVpbnQ4X3Qg KnAsIHJ0ZV9pb3ZhX3QgaW92YSwNCj4gPiArCQkgIHVuc2lnbmVkIGxvbmcgYWxpZ24sIHVuc2ln bmVkIGludCBudW0pDQo+ID4gICB7DQo+ID4gICAJdnItPm51bSA9IG51bTsNCj4gPiAgIAl2ci0+ ZGVzYyA9IChzdHJ1Y3QgdnJpbmdfcGFja2VkX2Rlc2MgKilwOw0KPiA+ICsJdnItPmRlc2NfaW92 YSA9IGlvdmE7DQo+ID4gICAJdnItPmRyaXZlciA9IChzdHJ1Y3QgdnJpbmdfcGFja2VkX2Rlc2Nf ZXZlbnQgKikocCArDQo+ID4gICAJCQl2ci0+bnVtICogc2l6ZW9mKHN0cnVjdCB2cmluZ19wYWNr ZWRfZGVzYykpOw0KPiA+ICAgCXZyLT5kZXZpY2UgPSAoc3RydWN0IHZyaW5nX3BhY2tlZF9kZXNj X2V2ZW50ICopIGRpZmYgLS1naXQNCj4gPiBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNl ci92aXJ0aW9fdXNlcl9kZXYuYw0KPiA+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2Vy L3ZpcnRpb191c2VyX2Rldi5jDQo+ID4gaW5kZXggZDM5NWZjMTY3Ni4uOGFkMTBlNjM1NCAxMDA2 NDQNCj4gPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJf ZGV2LmMNCj4gPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3Vz ZXJfZGV2LmMNCj4gPiBAQCAtNjIsNiArNjIsNyBAQCB2aXJ0aW9fdXNlcl9raWNrX3F1ZXVlKHN0 cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gdWludDMyX3QgcXVldWVfc2VsKQ0KPiA+ICAg CXN0cnVjdCB2aG9zdF92cmluZ19zdGF0ZSBzdGF0ZTsNCj4gPiAgIAlzdHJ1Y3QgdnJpbmcgKnZy aW5nID0gJmRldi0+dnJpbmdzLnNwbGl0W3F1ZXVlX3NlbF07DQo+ID4gICAJc3RydWN0IHZyaW5n X3BhY2tlZCAqcHFfdnJpbmcgPSAmZGV2LT52cmluZ3MucGFja2VkW3F1ZXVlX3NlbF07DQo+ID4g Kwl1aW50NjRfdCBkZXNjX2FkZHIsIGF2YWlsX2FkZHIsIHVzZWRfYWRkcjsNCj4gPiAgIAlzdHJ1 Y3Qgdmhvc3RfdnJpbmdfYWRkciBhZGRyID0gew0KPiA+ICAgCQkuaW5kZXggPSBxdWV1ZV9zZWws DQo+ID4gICAJCS5sb2dfZ3Vlc3RfYWRkciA9IDAsDQo+ID4gQEAgLTgxLDE2ICs4MiwyMyBAQCB2 aXJ0aW9fdXNlcl9raWNrX3F1ZXVlKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gdWlu dDMyX3QgcXVldWVfc2VsKQ0KPiA+ICAgCX0NCj4gPg0KPiA+ICAgCWlmIChkZXYtPmZlYXR1cmVz ICYgKDFVTEwgPDwgVklSVElPX0ZfUklOR19QQUNLRUQpKSB7DQo+ID4gLQkJYWRkci5kZXNjX3Vz ZXJfYWRkciA9DQo+ID4gLQkJCSh1aW50NjRfdCkodWludHB0cl90KXBxX3ZyaW5nLT5kZXNjOw0K PiA+IC0JCWFkZHIuYXZhaWxfdXNlcl9hZGRyID0NCj4gPiAtCQkJKHVpbnQ2NF90KSh1aW50cHRy X3QpcHFfdnJpbmctPmRyaXZlcjsNCj4gPiAtCQlhZGRyLnVzZWRfdXNlcl9hZGRyID0NCj4gPiAt CQkJKHVpbnQ2NF90KSh1aW50cHRyX3QpcHFfdnJpbmctPmRldmljZTsNCj4gPiArCQlkZXNjX2Fk ZHIgPSBwcV92cmluZy0+ZGVzY19pb3ZhOw0KPiA+ICsJCWF2YWlsX2FkZHIgPSBkZXNjX2FkZHIg KyBwcV92cmluZy0+bnVtICogc2l6ZW9mKHN0cnVjdA0KPiB2cmluZ19wYWNrZWRfZGVzYyk7DQo+ ID4gKwkJdXNlZF9hZGRyID0gIFJURV9BTElHTl9DRUlMKGF2YWlsX2FkZHIgKyBzaXplb2Yoc3Ry dWN0DQo+IHZyaW5nX3BhY2tlZF9kZXNjX2V2ZW50KSwNCj4gPiArCQkJCQkgICAgVklSVElPX1ZS SU5HX0FMSUdOKTsNCj4gPiArDQo+ID4gKwkJYWRkci5kZXNjX3VzZXJfYWRkciA9IGRlc2NfYWRk cjsNCj4gPiArCQlhZGRyLmF2YWlsX3VzZXJfYWRkciA9IGF2YWlsX2FkZHI7DQo+ID4gKwkJYWRk ci51c2VkX3VzZXJfYWRkciA9IHVzZWRfYWRkcjsNCj4gPiAgIAl9IGVsc2Ugew0KPiA+IC0JCWFk ZHIuZGVzY191c2VyX2FkZHIgPSAodWludDY0X3QpKHVpbnRwdHJfdCl2cmluZy0+ZGVzYzsNCj4g PiAtCQlhZGRyLmF2YWlsX3VzZXJfYWRkciA9ICh1aW50NjRfdCkodWludHB0cl90KXZyaW5nLT5h dmFpbDsNCj4gPiAtCQlhZGRyLnVzZWRfdXNlcl9hZGRyID0gKHVpbnQ2NF90KSh1aW50cHRyX3Qp dnJpbmctPnVzZWQ7DQo+ID4gKwkJZGVzY19hZGRyID0gdnJpbmctPmRlc2NfaW92YTsNCj4gPiAr CQlhdmFpbF9hZGRyID0gZGVzY19hZGRyICsgdnJpbmctPm51bSAqIHNpemVvZihzdHJ1Y3QNCj4g dnJpbmdfZGVzYyk7DQo+ID4gKwkJdXNlZF9hZGRyID0gUlRFX0FMSUdOX0NFSUwoKHVpbnRwdHJf dCkoJnZyaW5nLT5hdmFpbC0NCj4gPnJpbmdbdnJpbmctPm51bV0pLA0KPiA+ICsJCQkJCSAgIFZJ UlRJT19WUklOR19BTElHTik7DQo+ID4gKw0KPiA+ICsJCWFkZHIuZGVzY191c2VyX2FkZHIgPSBk ZXNjX2FkZHI7DQo+ID4gKwkJYWRkci5hdmFpbF91c2VyX2FkZHIgPSBhdmFpbF9hZGRyOw0KPiA+ ICsJCWFkZHIudXNlZF91c2VyX2FkZHIgPSB1c2VkX2FkZHI7DQo+ID4gICAJfQ0KPiA+DQo+ID4g ICAJc3RhdGUuaW5kZXggPSBxdWV1ZV9zZWw7DQo+ID4gQEAgLTg4NSwxMSArODkzLDExIEBAIHN0 YXRpYyB1aW50MzJfdA0KPiA+ICAgdmlydGlvX3VzZXJfaGFuZGxlX2N0cmxfbXNnX3NwbGl0KHN0 cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgc3RydWN0IHZyaW5nDQo+ICp2cmluZywNCj4gPiAg IAkJCSAgICB1aW50MTZfdCBpZHhfaGRyKQ0KPiA+ICAgew0KPiA+IC0Jc3RydWN0IHZpcnRpb19u ZXRfY3RybF9oZHIgKmhkcjsNCj4gPiAgIAl2aXJ0aW9fbmV0X2N0cmxfYWNrIHN0YXR1cyA9IH4w Ow0KPiA+IC0JdWludDE2X3QgaSwgaWR4X2RhdGEsIGlkeF9zdGF0dXM7DQo+ID4gKwl1aW50MTZf dCBpLCBpZHhfZGF0YTsNCj4gPiAgIAl1aW50MzJfdCBuX2Rlc2NzID0gMDsNCj4gPiAgIAlpbnQg ZGxlbltDVlFfTUFYX0RBVEFfREVTQ1NdLCBuYl9kbGVuID0gMDsNCj4gPiArCXN0cnVjdCB2aXJ0 aW9fcG1kX2N0cmwgKmN0cmw7DQo+ID4NCj4gPiAgIAkvKiBsb2NhdGUgZGVzYyBmb3IgaGVhZGVy LCBkYXRhLCBhbmQgc3RhdHVzICovDQo+ID4gICAJaWR4X2RhdGEgPSB2cmluZy0+ZGVzY1tpZHhf aGRyXS5uZXh0OyBAQCAtOTAyLDM0ICs5MTAsMzMgQEANCj4gPiB2aXJ0aW9fdXNlcl9oYW5kbGVf Y3RybF9tc2dfc3BsaXQoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCBzdHJ1Y3QgdnJpbmcN Cj4gKnZyaQ0KPiA+ICAgCQluX2Rlc2NzKys7DQo+ID4gICAJfQ0KPiA+DQo+ID4gLQkvKiBsb2Nh dGUgZGVzYyBmb3Igc3RhdHVzICovDQo+ID4gLQlpZHhfc3RhdHVzID0gaTsNCj4gPiAgIAluX2Rl c2NzKys7DQo+ID4NCj4gPiAtCWhkciA9ICh2b2lkICopKHVpbnRwdHJfdCl2cmluZy0+ZGVzY1tp ZHhfaGRyXS5hZGRyOw0KPiA+IC0JaWYgKGhkci0+Y2xhc3MgPT0gVklSVElPX05FVF9DVFJMX01R ICYmDQo+ID4gLQkgICAgaGRyLT5jbWQgPT0gVklSVElPX05FVF9DVFJMX01RX1ZRX1BBSVJTX1NF VCkgew0KPiA+IC0JCXVpbnQxNl90IHF1ZXVlczsNCj4gPiArCS8qIEFjY2VzcyBjb250cm9sIGNv bW1hbmQgdmlhIFZBIGZyb20gQ1ZRICovDQo+ID4gKwljdHJsID0gKHN0cnVjdCB2aXJ0aW9fcG1k X2N0cmwgKilkZXYtPmh3LmN2cS0+aGRyX216LT5hZGRyOw0KPiA+ICsJaWYgKGN0cmwtPmhkci5j bGFzcyA9PSBWSVJUSU9fTkVUX0NUUkxfTVEgJiYNCj4gPiArCSAgICBjdHJsLT5oZHIuY21kID09 IFZJUlRJT19ORVRfQ1RSTF9NUV9WUV9QQUlSU19TRVQpIHsNCj4gPiArCQl1aW50MTZfdCAqcXVl dWVzOw0KPiA+DQo+ID4gLQkJcXVldWVzID0gKih1aW50MTZfdCAqKSh1aW50cHRyX3QpdnJpbmct PmRlc2NbaWR4X2RhdGFdLmFkZHI7DQo+ID4gLQkJc3RhdHVzID0gdmlydGlvX3VzZXJfaGFuZGxl X21xKGRldiwgcXVldWVzKTsNCj4gPiAtCX0gZWxzZSBpZiAoaGRyLT5jbGFzcyA9PSBWSVJUSU9f TkVUX0NUUkxfTVEgJiYgaGRyLT5jbWQgPT0NCj4gVklSVElPX05FVF9DVFJMX01RX1JTU19DT05G SUcpIHsNCj4gPiArCQlxdWV1ZXMgPSAodWludDE2X3QgKiljdHJsLT5kYXRhOw0KPiA+ICsJCXN0 YXR1cyA9IHZpcnRpb191c2VyX2hhbmRsZV9tcShkZXYsICpxdWV1ZXMpOw0KPiA+ICsJfSBlbHNl IGlmIChjdHJsLT5oZHIuY2xhc3MgPT0gVklSVElPX05FVF9DVFJMX01RICYmDQo+ID4gKwkJICAg Y3RybC0+aGRyLmNtZCA9PSBWSVJUSU9fTkVUX0NUUkxfTVFfUlNTX0NPTkZJRykgew0KPiA+ICAg CQlzdHJ1Y3QgdmlydGlvX25ldF9jdHJsX3JzcyAqcnNzOw0KPiA+DQo+ID4gLQkJcnNzID0gKHN0 cnVjdCB2aXJ0aW9fbmV0X2N0cmxfcnNzICopKHVpbnRwdHJfdCl2cmluZy0NCj4gPmRlc2NbaWR4 X2RhdGFdLmFkZHI7DQo+ID4gKwkJcnNzID0gKHN0cnVjdCB2aXJ0aW9fbmV0X2N0cmxfcnNzICop Y3RybC0+ZGF0YTsNCj4gPiAgIAkJc3RhdHVzID0gdmlydGlvX3VzZXJfaGFuZGxlX21xKGRldiwg cnNzLT5tYXhfdHhfdnEpOw0KPiA+IC0JfSBlbHNlIGlmIChoZHItPmNsYXNzID09IFZJUlRJT19O RVRfQ1RSTF9SWCAgfHwNCj4gPiAtCQkgICBoZHItPmNsYXNzID09IFZJUlRJT19ORVRfQ1RSTF9N QUMgfHwNCj4gPiAtCQkgICBoZHItPmNsYXNzID09IFZJUlRJT19ORVRfQ1RSTF9WTEFOKSB7DQo+ ID4gKwl9IGVsc2UgaWYgKGN0cmwtPmhkci5jbGFzcyA9PSBWSVJUSU9fTkVUX0NUUkxfUlggIHx8 DQo+ID4gKwkJICAgY3RybC0+aGRyLmNsYXNzID09IFZJUlRJT19ORVRfQ1RSTF9NQUMgfHwNCj4g PiArCQkgICBjdHJsLT5oZHIuY2xhc3MgPT0gVklSVElPX05FVF9DVFJMX1ZMQU4pIHsNCj4gPiAg IAkJc3RhdHVzID0gMDsNCj4gPiAgIAl9DQo+ID4NCj4gPiAgIAlpZiAoIXN0YXR1cyAmJiBkZXYt PnNjdnEpDQo+ID4gLQkJc3RhdHVzID0gdmlydGlvX3NlbmRfY29tbWFuZCgmZGV2LT5zY3ZxLT5j cSwNCj4gPiAtCQkJCShzdHJ1Y3QgdmlydGlvX3BtZF9jdHJsICopaGRyLCBkbGVuLCBuYl9kbGVu KTsNCj4gPiArCQlzdGF0dXMgPSB2aXJ0aW9fc2VuZF9jb21tYW5kKCZkZXYtPnNjdnEtPmNxLCBj dHJsLCBkbGVuLA0KPiBuYl9kbGVuKTsNCj4gPg0KPiA+ICAgCS8qIFVwZGF0ZSBzdGF0dXMgKi8N Cj4gPiAtCSoodmlydGlvX25ldF9jdHJsX2FjayAqKSh1aW50cHRyX3QpdnJpbmctPmRlc2NbaWR4 X3N0YXR1c10uYWRkciA9DQo+IHN0YXR1czsNCj4gPiArCWN0cmwtPnN0YXR1cyA9IHN0YXR1czsN Cj4gPg0KPiA+ICAgCXJldHVybiBuX2Rlc2NzOw0KPiA+ICAgfQ0KPiA+IEBAIC05NDgsNyArOTU1 LDcgQEAgdmlydGlvX3VzZXJfaGFuZGxlX2N0cmxfbXNnX3BhY2tlZChzdHJ1Y3QNCj4gdmlydGlv X3VzZXJfZGV2ICpkZXYsDQo+ID4gICAJCQkJICAgc3RydWN0IHZyaW5nX3BhY2tlZCAqdnJpbmcs DQo+ID4gICAJCQkJICAgdWludDE2X3QgaWR4X2hkcikNCj4gPiAgIHsNCj4gPiAtCXN0cnVjdCB2 aXJ0aW9fbmV0X2N0cmxfaGRyICpoZHI7DQo+ID4gKwlzdHJ1Y3QgdmlydGlvX3BtZF9jdHJsICpj dHJsOw0KPiA+ICAgCXZpcnRpb19uZXRfY3RybF9hY2sgc3RhdHVzID0gfjA7DQo+ID4gICAJdWlu dDE2X3QgaWR4X2RhdGEsIGlkeF9zdGF0dXM7DQo+ID4gICAJLyogaW5pdGlhbGl6ZSB0byBvbmUs IGhlYWRlciBpcyBmaXJzdCAqLyBAQCAtOTcxLDMyICs5NzgsMzEgQEANCj4gPiB2aXJ0aW9fdXNl cl9oYW5kbGVfY3RybF9tc2dfcGFja2VkKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4g PiAgIAkJbl9kZXNjcysrOw0KPiA+ICAgCX0NCj4gPg0KPiA+IC0JaGRyID0gKHZvaWQgKikodWlu dHB0cl90KXZyaW5nLT5kZXNjW2lkeF9oZHJdLmFkZHI7DQo+ID4gLQlpZiAoaGRyLT5jbGFzcyA9 PSBWSVJUSU9fTkVUX0NUUkxfTVEgJiYNCj4gPiAtCSAgICBoZHItPmNtZCA9PSBWSVJUSU9fTkVU X0NUUkxfTVFfVlFfUEFJUlNfU0VUKSB7DQo+ID4gLQkJdWludDE2X3QgcXVldWVzOw0KPiA+ICsJ LyogQWNjZXNzIGNvbnRyb2wgY29tbWFuZCB2aWEgVkEgZnJvbSBDVlEgKi8NCj4gPiArCWN0cmwg PSAoc3RydWN0IHZpcnRpb19wbWRfY3RybCAqKWRldi0+aHcuY3ZxLT5oZHJfbXotPmFkZHI7DQo+ ID4gKwlpZiAoY3RybC0+aGRyLmNsYXNzID09IFZJUlRJT19ORVRfQ1RSTF9NUSAmJg0KPiA+ICsJ ICAgIGN0cmwtPmhkci5jbWQgPT0gVklSVElPX05FVF9DVFJMX01RX1ZRX1BBSVJTX1NFVCkgew0K PiA+ICsJCXVpbnQxNl90ICpxdWV1ZXM7DQo+ID4NCj4gPiAtCQlxdWV1ZXMgPSAqKHVpbnQxNl90 ICopKHVpbnRwdHJfdCkNCj4gPiAtCQkJCXZyaW5nLT5kZXNjW2lkeF9kYXRhXS5hZGRyOw0KPiA+ IC0JCXN0YXR1cyA9IHZpcnRpb191c2VyX2hhbmRsZV9tcShkZXYsIHF1ZXVlcyk7DQo+ID4gLQl9 IGVsc2UgaWYgKGhkci0+Y2xhc3MgPT0gVklSVElPX05FVF9DVFJMX01RICYmIGhkci0+Y21kID09 DQo+IFZJUlRJT19ORVRfQ1RSTF9NUV9SU1NfQ09ORklHKSB7DQo+ID4gKwkJcXVldWVzID0gKHVp bnQxNl90ICopY3RybC0+ZGF0YTsNCj4gPiArCQlzdGF0dXMgPSB2aXJ0aW9fdXNlcl9oYW5kbGVf bXEoZGV2LCAqcXVldWVzKTsNCj4gPiArCX0gZWxzZSBpZiAoY3RybC0+aGRyLmNsYXNzID09IFZJ UlRJT19ORVRfQ1RSTF9NUSAmJg0KPiA+ICsJCSAgIGN0cmwtPmhkci5jbWQgPT0gVklSVElPX05F VF9DVFJMX01RX1JTU19DT05GSUcpIHsNCj4gPiAgIAkJc3RydWN0IHZpcnRpb19uZXRfY3RybF9y c3MgKnJzczsNCj4gPg0KPiA+IC0JCXJzcyA9IChzdHJ1Y3QgdmlydGlvX25ldF9jdHJsX3JzcyAq KSh1aW50cHRyX3QpdnJpbmctDQo+ID5kZXNjW2lkeF9kYXRhXS5hZGRyOw0KPiA+ICsJCXJzcyA9 IChzdHJ1Y3QgdmlydGlvX25ldF9jdHJsX3JzcyAqKWN0cmwtPmRhdGE7DQo+ID4gICAJCXN0YXR1 cyA9IHZpcnRpb191c2VyX2hhbmRsZV9tcShkZXYsIHJzcy0+bWF4X3R4X3ZxKTsNCj4gPiAtCX0g ZWxzZSBpZiAoaGRyLT5jbGFzcyA9PSBWSVJUSU9fTkVUX0NUUkxfUlggIHx8DQo+ID4gLQkJICAg aGRyLT5jbGFzcyA9PSBWSVJUSU9fTkVUX0NUUkxfTUFDIHx8DQo+ID4gLQkJICAgaGRyLT5jbGFz cyA9PSBWSVJUSU9fTkVUX0NUUkxfVkxBTikgew0KPiA+ICsJfSBlbHNlIGlmIChjdHJsLT5oZHIu Y2xhc3MgPT0gVklSVElPX05FVF9DVFJMX1JYICB8fA0KPiA+ICsJCSAgIGN0cmwtPmhkci5jbGFz cyA9PSBWSVJUSU9fTkVUX0NUUkxfTUFDIHx8DQo+ID4gKwkJICAgY3RybC0+aGRyLmNsYXNzID09 IFZJUlRJT19ORVRfQ1RSTF9WTEFOKSB7DQo+ID4gICAJCXN0YXR1cyA9IDA7DQo+ID4gICAJfQ0K PiA+DQo+ID4gICAJaWYgKCFzdGF0dXMgJiYgZGV2LT5zY3ZxKQ0KPiA+IC0JCXN0YXR1cyA9IHZp cnRpb19zZW5kX2NvbW1hbmQoJmRldi0+c2N2cS0+Y3EsDQo+ID4gLQkJCQkoc3RydWN0IHZpcnRp b19wbWRfY3RybCAqKWhkciwgZGxlbiwgbmJfZGxlbik7DQo+ID4gKwkJc3RhdHVzID0gdmlydGlv X3NlbmRfY29tbWFuZCgmZGV2LT5zY3ZxLT5jcSwgY3RybCwgZGxlbiwNCj4gbmJfZGxlbik7DQo+ ID4NCj4gPiAgIAkvKiBVcGRhdGUgc3RhdHVzICovDQo+ID4gLQkqKHZpcnRpb19uZXRfY3RybF9h Y2sgKikodWludHB0cl90KQ0KPiA+IC0JCXZyaW5nLT5kZXNjW2lkeF9zdGF0dXNdLmFkZHIgPSBz dGF0dXM7DQo+ID4gKwljdHJsLT5zdGF0dXMgPSBzdGF0dXM7DQo+ID4NCj4gPiAgIAkvKiBVcGRh dGUgdXNlZCBkZXNjcmlwdG9yICovDQo+ID4gICAJdnJpbmctPmRlc2NbaWR4X2hkcl0uaWQgPSB2 cmluZy0+ZGVzY1tpZHhfc3RhdHVzXS5pZDsgZGlmZiAtLWdpdA0KPiA+IGEvZHJpdmVycy9uZXQv dmlydGlvL3ZpcnRpb191c2VyX2V0aGRldi5jDQo+ID4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3VzZXJfZXRoZGV2LmMNCj4gPiBpbmRleCBiZjlkZTM2ZDhmLi5hZTY1OTNiYTBiIDEwMDY0 NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlcl9ldGhkZXYuYw0KPiA+ ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlcl9ldGhkZXYuYw0KPiA+IEBAIC0x OTgsNiArMTk4LDcgQEAgdmlydGlvX3VzZXJfc2V0dXBfcXVldWVfcGFja2VkKHN0cnVjdCB2aXJ0 cXVldWUNCj4gKnZxLA0KPiA+ICAgCQkJICAgc2l6ZW9mKHN0cnVjdCB2cmluZ19wYWNrZWRfZGVz Y19ldmVudCksDQo+ID4gICAJCQkgICBWSVJUSU9fVlJJTkdfQUxJR04pOw0KPiA+ICAgCXZyaW5n LT5udW0gPSB2cS0+dnFfbmVudHJpZXM7DQo+ID4gKwl2cmluZy0+ZGVzY19pb3ZhID0gdnEtPnZx X3JpbmdfbWVtOw0KPiA+ICAgCXZyaW5nLT5kZXNjID0gKHZvaWQgKikodWludHB0cl90KWRlc2Nf YWRkcjsNCj4gPiAgIAl2cmluZy0+ZHJpdmVyID0gKHZvaWQgKikodWludHB0cl90KWF2YWlsX2Fk ZHI7DQo+ID4gICAJdnJpbmctPmRldmljZSA9ICh2b2lkICopKHVpbnRwdHJfdCl1c2VkX2FkZHI7 IEBAIC0yMjEsNiArMjIyLDcgQEANCj4gPiB2aXJ0aW9fdXNlcl9zZXR1cF9xdWV1ZV9zcGxpdChz dHJ1Y3QgdmlydHF1ZXVlICp2cSwgc3RydWN0IHZpcnRpb191c2VyX2Rldg0KPiAqZGV2KQ0KPiA+ ICAgCQkJCSAgIFZJUlRJT19WUklOR19BTElHTik7DQo+ID4NCj4gPiAgIAlkZXYtPnZyaW5ncy5z cGxpdFtxdWV1ZV9pZHhdLm51bSA9IHZxLT52cV9uZW50cmllczsNCj4gPiArCWRldi0+dnJpbmdz LnNwbGl0W3F1ZXVlX2lkeF0uZGVzY19pb3ZhID0gdnEtPnZxX3JpbmdfbWVtOw0KPiA+ICAgCWRl di0+dnJpbmdzLnNwbGl0W3F1ZXVlX2lkeF0uZGVzYyA9ICh2b2lkICopKHVpbnRwdHJfdClkZXNj X2FkZHI7DQo+ID4gICAJZGV2LT52cmluZ3Muc3BsaXRbcXVldWVfaWR4XS5hdmFpbCA9ICh2b2lk ICopKHVpbnRwdHJfdClhdmFpbF9hZGRyOw0KPiA+ICAgCWRldi0+dnJpbmdzLnNwbGl0W3F1ZXVl X2lkeF0udXNlZCA9ICh2b2lkICopKHVpbnRwdHJfdCl1c2VkX2FkZHI7DQo+ID4gQEAgLTY4OSw3 ICs2OTEsMTMgQEAgdmlydGlvX3VzZXJfcG1kX3Byb2JlKHN0cnVjdCBydGVfdmRldl9kZXZpY2UN Cj4gKnZkZXYpDQo+ID4gICAJICogVmlydGlvLXVzZXIgcmVxdWlyZXMgdXNpbmcgdmlydHVhbCBh ZGRyZXNzZXMgZm9yIHRoZSBkZXNjcmlwdG9ycw0KPiA+ICAgCSAqIGJ1ZmZlcnMsIHdoYXRldmVy IG90aGVyIGRldmljZXMgcmVxdWlyZQ0KPiA+ICAgCSAqLw0KPiA+IC0JaHctPnVzZV92YSA9IHRy dWU7DQo+ID4gKwlpZiAoYmFja2VuZF90eXBlID09IFZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1Rf VkRQQSkNCj4gPiArCQkvKiBWRFBBIGJhY2tlbmQgcmVxdWlyZXMgdXNpbmcgaW92YSBmb3IgdGhl IGJ1ZmZlcnMgdG8gbWFrZSBpdA0KPiA+ICsJCSAqIHdvcmsgaW4gSU9WQSBhcyBQQSBtb2RlIGFs c28uDQo+ID4gKwkJICovDQo+ID4gKwkJaHctPnVzZV92YSA9IGZhbHNlOw0KPiA+ICsJZWxzZQ0K PiA+ICsJCWh3LT51c2VfdmEgPSB0cnVlOw0KPiA+DQo+ID4gICAJLyogcHJldmlvdXNseSBjYWxs ZWQgYnkgcGNpIHByb2JpbmcgZm9yIHBoeXNpY2FsIGRldiAqLw0KPiA+ICAgCWlmIChldGhfdmly dGlvX2Rldl9pbml0KGV0aF9kZXYpIDwgMCkgeyBkaWZmIC0tZ2l0DQo+ID4gYS9kcml2ZXJzL25l dC92aXJ0aW8vdmlydHF1ZXVlLmMgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydHF1ZXVlLmMNCj4g PiBpbmRleCA2ZjQxOTY2NWYxLi5jZjQ2YWJmZDA2IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMv bmV0L3ZpcnRpby92aXJ0cXVldWUuYw0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 cXVldWUuYw0KPiA+IEBAIC0yODIsMTMgKzI4MiwxMyBAQCB2aXJ0aW9faW5pdF92cmluZyhzdHJ1 Y3QgdmlydHF1ZXVlICp2cSkNCj4gPiAgIAl2cS0+dnFfZnJlZV9jbnQgPSB2cS0+dnFfbmVudHJp ZXM7DQo+ID4gICAJbWVtc2V0KHZxLT52cV9kZXNjeCwgMCwgc2l6ZW9mKHN0cnVjdCB2cV9kZXNj X2V4dHJhKSAqIHZxLQ0KPiA+dnFfbmVudHJpZXMpOw0KPiA+ICAgCWlmICh2aXJ0aW9fd2l0aF9w YWNrZWRfcXVldWUodnEtPmh3KSkgew0KPiA+IC0JCXZyaW5nX2luaXRfcGFja2VkKCZ2cS0+dnFf cGFja2VkLnJpbmcsIHJpbmdfbWVtLA0KPiA+ICsJCXZyaW5nX2luaXRfcGFja2VkKCZ2cS0+dnFf cGFja2VkLnJpbmcsIHJpbmdfbWVtLCB2cS0NCj4gPnZxX3JpbmdfbWVtLA0KPiA+ICAgCQkJCSAg VklSVElPX1ZSSU5HX0FMSUdOLCBzaXplKTsNCj4gPiAgIAkJdnJpbmdfZGVzY19pbml0X3BhY2tl ZCh2cSwgc2l6ZSk7DQo+ID4gICAJfSBlbHNlIHsNCj4gPiAgIAkJc3RydWN0IHZyaW5nICp2ciA9 ICZ2cS0+dnFfc3BsaXQucmluZzsNCj4gPg0KPiA+IC0JCXZyaW5nX2luaXRfc3BsaXQodnIsIHJp bmdfbWVtLCBWSVJUSU9fVlJJTkdfQUxJR04sIHNpemUpOw0KPiA+ICsJCXZyaW5nX2luaXRfc3Bs aXQodnIsIHJpbmdfbWVtLCB2cS0+dnFfcmluZ19tZW0sDQo+IFZJUlRJT19WUklOR19BTElHTiwN Cj4gPiArc2l6ZSk7DQo+ID4gICAJCXZyaW5nX2Rlc2NfaW5pdF9zcGxpdCh2ci0+ZGVzYywgc2l6 ZSk7DQo+ID4gICAJfQ0KPiA+ICAgCS8qDQoNCg==