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 3168AA0A0A; Fri, 22 Jan 2021 09:55:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CB3EE140D5D; Fri, 22 Jan 2021 09:55:12 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 30D8D140D25 for ; Fri, 22 Jan 2021 09:55:11 +0100 (CET) IronPort-SDR: wG7OO+x+bjeMPkPtW7fg1xvoCWt3rhtnHopKgfnSmEuqQtC8ZbYkYAbflvaLe0RXTQDf9kZO59 uTp7AzmjMh2Q== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="179501175" X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="179501175" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jan 2021 00:55:10 -0800 IronPort-SDR: GO+TbaQ6FeDZ9HQ86H+pGiuzGqwI1tpnYIiPwBv79rh3gR/snX0hGeEJHy54xpG1N31FcVpWXP SbNL+Zs4hB/w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="356868274" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga008.fm.intel.com with ESMTP; 22 Jan 2021 00:55:09 -0800 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 22 Jan 2021 00:55:09 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 22 Jan 2021 00:55:09 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.107) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 22 Jan 2021 00:55:09 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VCOYERAgb0DPpFUh3nfQ022J2/aJ9bbymqcK9BTLE/WNko0zy5HYjaCUL6PkgxpATuRrjMiF7kMQJC8G0EkE7PpSAhO1dxTW5a7VoOSgzonx1MnkD8t5KeVugUYyKWQ2uuhER3+uHw8xUTb7NMGJuxlILk9XSVrpU78FoJKzz4ek+ftDfoi3XHx5fKRgFGVnjpiM5MyHoRjm6V7oJ74/gMdd9kgOZW8nAWuDCe94pEgwKqZPHGi4l4D6tp79szaaOXLSSLwVIhB+Wvoz3zf/E270ZmbgM8GZr/I/+KZ0FDjmDI4er7sUocBIj1R26Uj9VNQdojh+m3RKOaTcdgwGOQ== 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-SenderADCheck; bh=O8RMnS0QevfZM7LOmddsQKrqOLVtnpYTWMVF1Q6xSnU=; b=BQCnbXnlMj8YbAYsU0LIsZEJG5lKIDi7dwerhkZJM7h7Q70LpQ6OOFdrt0OVIaWX2eTmAkVBn4SiCeTGTLbXyV1lF+AqOv1oKoLTPG5JqUOpk9HUsNf5GSA0hz4zwY2AsefBjHIlweHujq4v/aAW1lQXSQF/oVOdUsaiqbGB71TU8FyGccWQK8rKswQ+m2F/0MXv8L7WRo0Pl6I41dkTNNgqeTI0X0ghC8uVXn9lgRaeqIzCWpZnC0DiMWxSeHdCZkl3CC0wuuQ29kq3DJE5ynhYuXFT2KHgDEzh5m8lm6jNZu1aZGKWHb48TSh25xmr2s1CUlyfrKsR4mAAc9qdAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O8RMnS0QevfZM7LOmddsQKrqOLVtnpYTWMVF1Q6xSnU=; b=JazOxBUfpr+WWXrgy1q8XWF06Zr+dv/wT8spNxrXXOl3nv2MLu7eEBypsLSeAZ9rBNXrorhNYwjrXdJPBtWeM2McFKOXLrYiCuPXMA6HksB2cU8y9EgJaA0yXtDZq0LTbuPOJqzuMcyK2jcBqVPVHu9ZPzziVfKmbdSdYIlaoGA= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3965.namprd11.prod.outlook.com (2603:10b6:208:13c::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11; Fri, 22 Jan 2021 08:55:04 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed%7]) with mapi id 15.20.3763.014; Fri, 22 Jan 2021 08:55:04 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH v2 41/44] net/virtio: move Vhost-kernel data to its backend Thread-Index: AQHW7qoSaHDDcV6b3UCMH+Ga5xENpKozWv+g Date: Fri, 22 Jan 2021 08:55:04 +0000 Message-ID: References: <20210119212507.1043636-1-maxime.coquelin@redhat.com> <20210119212507.1043636-42-maxime.coquelin@redhat.com> In-Reply-To: <20210119212507.1043636-42-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b9de0c10-c19a-4313-228d-08d8beb36961 x-ms-traffictypediagnostic: MN2PR11MB3965: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:61; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qbnhhAatQ9O+wdnmVKebcAgRsvWwdoGRH8+7iafkc+tFVK1p47dvxD4WWl5r43QW9stb76j86nsVgSTjSU5tDNYDNJ1HuMgP4KWa5A5PybQoG7z4DaqX4C0RhCQGU87+aER+MapRqIL3T0mcNR79Nwm9AnP0bHIWJL3er4tgFge7ELBo7v01koREQNuz29/KU8xkytaM32FJcEFDCkOPsKVoqfTvG001MEhYNL8cJIHirl8e7ohzP28dmIxV6/AorRX5uB5dm8Xp8m7MyQ1NcgzeTZZWAX+b9XeepTkQgT3TOu/k4GBQuwZbS9XyNcBTDp2bMuwdcYDc/mNALx2WpQqLJoOzGM1I6tCiI4t7HxjMbwUnvf5fETE0EWJIc1cw x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(376002)(136003)(39860400002)(366004)(316002)(30864003)(2906002)(33656002)(7696005)(110136005)(5660300002)(86362001)(71200400001)(478600001)(8676002)(52536014)(9686003)(26005)(66446008)(64756008)(55016002)(66476007)(76116006)(53546011)(66556008)(6506007)(83380400001)(8936002)(66946007)(186003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ZDg3a0dodmk5Y0FLQ2kvMHppZzBaVVk0R3VZNGg1czhuUUYyZ2lTZEora0lK?= =?utf-8?B?WGJMTVgvUzRNNnA3ZldtWXFYT1NwNjNWdEUvS05paHlDYmJueEdLTXpDbDlt?= =?utf-8?B?YUwrdmFCSEZLd1NIamt2dUVRUFpxL3VjSDlWNG1FWGRoK0d6K2NabXRpVHhP?= =?utf-8?B?RjYyemU2Z0NiSkFwTW9pZ1EvdXJuRTVyVFNXOFB3bTJHcnIxbkRVSFk2amVv?= =?utf-8?B?dFFPQkh2UXJCSUVTRE85emJJdEYzNVhHZzZpYlJ1Q3lpZGdsWitNQ0VNLzRa?= =?utf-8?B?MlRvVGV2Rmd3QTJZc3A3TUQzRTR2ZGRIMnhqK0FWZ3F1TENnLy9IUGxIZG9h?= =?utf-8?B?YkIxeTUxTHl5SXJ2L3phUStkRnYwL3R2Q2lVUDNKb0M1Z0JkNWtWUlJZNXJH?= =?utf-8?B?MmRwY0xod3BBVGNobUh2MGZhQmUxMDRLaVRKRGtvMzhsR3YzOGszeExoQlZK?= =?utf-8?B?Wi9lSHFOT1Y4SXFvLy9wUlVQbytnK0RhVWVIQTBHS0hQOWpmT0xPMVFJdTli?= =?utf-8?B?VEladDA3K0RKMDBCeU0wSHIwOWdVZ3ZPU2pUbVJiZ3lSSklTM01nWjZRMlJk?= =?utf-8?B?SFBqRVd6WjFRTDBLU1BlNG9EbnJOb2hKTWcvR3c1RDJRUVdTNVBlRUsyazgr?= =?utf-8?B?OFJjeSt6MUNaOUNTc0tzYTZZSklFeUVKRHRrMmVHaCtOVWl4Z2NtNm8xNWdo?= =?utf-8?B?Y0xKSDZuV01rMUI1eUZkekVpaVBSUWZKS3Q4WnQxVUJ2bmE2WE8rdThUTEZx?= =?utf-8?B?OVFvUHpiNm5razJkWWtiRjVZZGw1Q0NMci8raEozSXZIUTZibjVyRUtZaUNl?= =?utf-8?B?MDFBRkR3L0lBQ2JxbzY1cmluVkhNV1ZXK3ZjMytBa0FOTkpqT2hyQkM3dVp0?= =?utf-8?B?bGIrTUV0dzA2QWtjUVVHcUtMbEwxYmlTR0VMeTlmSU00Y2FPbHNhM3d0VFA2?= =?utf-8?B?VmZvZGRhbkMvN09vSzEyalFQMTY1UUxZd0krdEpqOEh0dE5ud1BBbW5ZSjRX?= =?utf-8?B?SzBZRituM3gyNjM3eWw2STUzcDJmUk51RG8rb1NQbk5vWitZTlltMUd1bFd1?= =?utf-8?B?emtWWjJIOU1sZWJGaW9JaUZ5TEcxU2xwRVN2TWNwaDVadGRmcUdHYU45RUdZ?= =?utf-8?B?aHVCU2VCOGtEUC8rcmw2YlVxQkp3eGxWa1M2ZUJ1alRITXZJMTYxMzNRd1BP?= =?utf-8?B?VEJFak1BZFo5NkxZMHhPWnpybXJBUlBmR1ZDWVhpdXJYY3gwbGZZWmFWOTRa?= =?utf-8?B?NzBXV0VacVMvV3h4MDdvcnFZa3NhTVh3aFNtV09YcXU4Z1dZTnBPaDVqck1a?= =?utf-8?Q?+VFmSpK6rvYbOhwQCpfNv1Bl3fK+4y6yv0?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9de0c10-c19a-4313-228d-08d8beb36961 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 08:55:04.8352 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: OjzFAgqs4Q8HKQSrSsq+HPoKnKudEV1vXFyDkiWw0liM8fLXcc8TffJg1O2+zwliGwSskqi0P0S9rwBP3SRSOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3965 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 41/44] net/virtio: move Vhost-kernel data to its backend 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 Sender: "dev" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFdlZG5lc2Rh eSwgSmFudWFyeSAyMCwgMjAyMSA1OjI1IEFNDQo+IFRvOiBkZXZAZHBkay5vcmc7IFhpYSwgQ2hl bmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47IG9saXZpZXIubWF0ekA2d2luZC5jb207DQo+IGFt b3Jlbm96QHJlZGhhdC5jb207IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20NCj4gQ2M6IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFN1YmplY3Q6IFtQQVRD SCB2MiA0MS80NF0gbmV0L3ZpcnRpbzogbW92ZSBWaG9zdC1rZXJuZWwgZGF0YSB0byBpdHMgYmFj a2VuZA0KPiANCj4gQXMgZG9uZSBlYXJsaWVyIGZvciBWaG9zdC11c2VyLCB0aGlzIHBhdGNoIG1v dmVzIHRoZQ0KPiBWaG9zdC1LZXJuZWwgc3BlY2lmaWMgZGF0YSB0byBpdHMgYmFja2VuZCBmaWxl Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5A cmVkaGF0LmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhv c3Rfa2VybmVsLmMgfCAxMDYgKysrKysrKysrKysrKysrLS0tDQo+ICAuLi4vbmV0L3ZpcnRpby92 aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYyAgfCAgNDMgKystLS0tLQ0KPiAgLi4uL25ldC92 aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmggIHwgICA3ICstDQo+ICAzIGZpbGVz IGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF9rZXJuZWwuYw0KPiBi L2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF9rZXJuZWwuYw0KPiBpbmRleCBh YTFmOWVjZTVlLi5iYzRiMzQ2MWUxIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8v dmlydGlvX3VzZXIvdmhvc3Rfa2VybmVsLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3Zp cnRpb191c2VyL3Zob3N0X2tlcm5lbC5jDQo+IEBAIC0xNCw2ICsxNCwxMSBAQA0KPiAgI2luY2x1 ZGUgInZpcnRpb191c2VyX2Rldi5oIg0KPiAgI2luY2x1ZGUgInZob3N0X2tlcm5lbF90YXAuaCIN Cj4gDQo+ICtzdHJ1Y3Qgdmhvc3Rfa2VybmVsX2RhdGEgew0KPiArCWludCAqdmhvc3RmZHM7DQo+ ICsJaW50ICp0YXBmZHM7DQo+ICt9Ow0KPiArDQo+ICBzdHJ1Y3Qgdmhvc3RfbWVtb3J5X2tlcm5l bCB7DQo+ICAJdWludDMyX3QgbnJlZ2lvbnM7DQo+ICAJdWludDMyX3QgcGFkZGluZzsNCj4gQEAg LTk2LDcgKzEwMSw5IEBAIHZob3N0X2tlcm5lbF9pb2N0bChpbnQgZmQsIHVpbnQ2NF90IHJlcXVl c3QsIHZvaWQgKmFyZykNCj4gIHN0YXRpYyBpbnQNCj4gIHZob3N0X2tlcm5lbF9zZXRfb3duZXIo c3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgew0KPiAtCXJldHVybiB2aG9zdF9rZXJu ZWxfaW9jdGwoZGV2LT52aG9zdGZkc1swXSwgVkhPU1RfU0VUX09XTkVSLCBOVUxMKTsNCj4gKwlz dHJ1Y3Qgdmhvc3Rfa2VybmVsX2RhdGEgKmRhdGEgPSBkZXYtPmJhY2tlbmRfZGF0YTsNCj4gKw0K PiArCXJldHVybiB2aG9zdF9rZXJuZWxfaW9jdGwoZGF0YS0+dmhvc3RmZHNbMF0sIFZIT1NUX1NF VF9PV05FUiwgTlVMTCk7DQo+ICB9DQo+IA0KPiAgc3RhdGljIGludA0KPiBAQCAtMTA0LDggKzEx MSw5IEBAIHZob3N0X2tlcm5lbF9nZXRfZmVhdHVyZXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAq ZGV2LA0KPiB1aW50NjRfdCAqZmVhdHVyZXMpDQo+ICB7DQo+ICAJaW50IHJldDsNCj4gIAl1bnNp Z25lZCBpbnQgdGFwX2ZlYXR1cmVzOw0KPiArCXN0cnVjdCB2aG9zdF9rZXJuZWxfZGF0YSAqZGF0 YSA9IGRldi0+YmFja2VuZF9kYXRhOw0KPiANCj4gLQlyZXQgPSB2aG9zdF9rZXJuZWxfaW9jdGwo ZGV2LT52aG9zdGZkc1swXSwgVkhPU1RfR0VUX0ZFQVRVUkVTLCBmZWF0dXJlcyk7DQo+ICsJcmV0 ID0gdmhvc3Rfa2VybmVsX2lvY3RsKGRhdGEtPnZob3N0ZmRzWzBdLCBWSE9TVF9HRVRfRkVBVFVS RVMsDQo+IGZlYXR1cmVzKTsNCj4gIAlpZiAocmV0IDwgMCkgew0KPiAgCQlQTURfRFJWX0xPRyhF UlIsICJGYWlsZWQgdG8gZ2V0IGZlYXR1cmVzIik7DQo+ICAJCXJldHVybiAtMTsNCj4gQEAgLTEz OCw2ICsxNDYsOCBAQCB2aG9zdF9rZXJuZWxfZ2V0X2ZlYXR1cmVzKHN0cnVjdCB2aXJ0aW9fdXNl cl9kZXYgKmRldiwNCj4gdWludDY0X3QgKmZlYXR1cmVzKQ0KPiAgc3RhdGljIGludA0KPiAgdmhv c3Rfa2VybmVsX3NldF9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ2 NF90IGZlYXR1cmVzKQ0KPiAgew0KPiArCXN0cnVjdCB2aG9zdF9rZXJuZWxfZGF0YSAqZGF0YSA9 IGRldi0+YmFja2VuZF9kYXRhOw0KPiArDQo+ICAJLyogV2UgZG9uJ3QgbmVlZCBtZW1vcnkgcHJv dGVjdGlvbiBoZXJlICovDQo+ICAJZmVhdHVyZXMgJj0gfigxVUxMIDw8IFZJUlRJT19GX0lPTU1V X1BMQVRGT1JNKTsNCj4gIAkvKiBWSE9TVCBrZXJuZWwgZG9lcyBub3Qga25vdyBhYm91dCBiZWxv dyBmbGFncyAqLw0KPiBAQCAtMTQ1LDcgKzE1NSw3IEBAIHZob3N0X2tlcm5lbF9zZXRfZmVhdHVy ZXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiB1aW50NjRfdCBmZWF0dXJlcykNCj4g IAlmZWF0dXJlcyAmPSB+VkhPU1RfS0VSTkVMX0hPU1RfT0ZGTE9BRFNfTUFTSzsNCj4gIAlmZWF0 dXJlcyAmPSB+KDFVTEwgPDwgVklSVElPX05FVF9GX01RKTsNCj4gDQo+IC0JcmV0dXJuIHZob3N0 X2tlcm5lbF9pb2N0bChkZXYtPnZob3N0ZmRzWzBdLCBWSE9TVF9TRVRfRkVBVFVSRVMsDQo+ICZm ZWF0dXJlcyk7DQo+ICsJcmV0dXJuIHZob3N0X2tlcm5lbF9pb2N0bChkYXRhLT52aG9zdGZkc1sw XSwgVkhPU1RfU0VUX0ZFQVRVUkVTLA0KPiAmZmVhdHVyZXMpOw0KPiAgfQ0KPiANCj4gIHN0YXRp YyBpbnQNCj4gQEAgLTE4NSw2ICsxOTUsNyBAQCBhZGRfbWVtc2VnX2xpc3QoY29uc3Qgc3RydWN0 IHJ0ZV9tZW1zZWdfbGlzdCAqbXNsLCB2b2lkDQo+ICphcmcpDQo+ICBzdGF0aWMgaW50DQo+ICB2 aG9zdF9rZXJuZWxfc2V0X21lbW9yeV90YWJsZShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYp DQo+ICB7DQo+ICsJc3RydWN0IHZob3N0X2tlcm5lbF9kYXRhICpkYXRhID0gZGV2LT5iYWNrZW5k X2RhdGE7DQo+ICAJc3RydWN0IHZob3N0X21lbW9yeV9rZXJuZWwgKnZtOw0KPiAgCWludCByZXQ7 DQo+IA0KPiBAQCAtMjA1LDcgKzIxNiw3IEBAIHZob3N0X2tlcm5lbF9zZXRfbWVtb3J5X3RhYmxl KHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldikNCj4gIAlpZiAocmV0IDwgMCkNCj4gIAkJZ290 byBlcnJfZnJlZTsNCj4gDQo+IC0JcmV0ID0gdmhvc3Rfa2VybmVsX2lvY3RsKGRldi0+dmhvc3Rm ZHNbMF0sIFZIT1NUX1NFVF9NRU1fVEFCTEUsIHZtKTsNCj4gKwlyZXQgPSB2aG9zdF9rZXJuZWxf aW9jdGwoZGF0YS0+dmhvc3RmZHNbMF0sIFZIT1NUX1NFVF9NRU1fVEFCTEUsIHZtKTsNCj4gIAlp ZiAocmV0IDwgMCkNCj4gIAkJZ290byBlcnJfZnJlZTsNCj4gDQo+IEBAIC0yMjQsOSArMjM1LDEw IEBAIHZob3N0X2tlcm5lbF9zZXRfdnJpbmcoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0K PiB1aW50NjRfdCByZXEsIHN0cnVjdCB2aG9zdF92DQo+ICB7DQo+ICAJaW50IHJldCwgZmQ7DQo+ ICAJdW5zaWduZWQgaW50IGluZGV4ID0gc3RhdGUtPmluZGV4Ow0KPiArCXN0cnVjdCB2aG9zdF9r ZXJuZWxfZGF0YSAqZGF0YSA9IGRldi0+YmFja2VuZF9kYXRhOw0KPiANCj4gIAkvKiBDb252ZXJ0 IGZyb20gcXVldWUgaW5kZXggdG8gcXVldWUtcGFpciAmIG9mZnNldCAqLw0KPiAtCWZkID0gZGV2 LT52aG9zdGZkc1tzdGF0ZS0+aW5kZXggLyAyXTsNCj4gKwlmZCA9IGRhdGEtPnZob3N0ZmRzW3N0 YXRlLT5pbmRleCAvIDJdOw0KPiAgCXN0YXRlLT5pbmRleCAlPSAyOw0KPiANCj4gIAlyZXQgPSB2 aG9zdF9rZXJuZWxfaW9jdGwoZmQsIHJlcSwgc3RhdGUpOw0KPiBAQCAtMjY1LDkgKzI3NywxMCBA QCB2aG9zdF9rZXJuZWxfc2V0X3ZyaW5nX2ZpbGUoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2 LA0KPiB1aW50NjRfdCByZXEsDQo+ICB7DQo+ICAJaW50IHJldCwgZmQ7DQo+ICAJdW5zaWduZWQg aW50IGluZGV4ID0gZmlsZS0+aW5kZXg7DQo+ICsJc3RydWN0IHZob3N0X2tlcm5lbF9kYXRhICpk YXRhID0gZGV2LT5iYWNrZW5kX2RhdGE7DQo+IA0KPiAgCS8qIENvbnZlcnQgZnJvbSBxdWV1ZSBp bmRleCB0byBxdWV1ZS1wYWlyICYgb2Zmc2V0ICovDQo+IC0JZmQgPSBkZXYtPnZob3N0ZmRzW2Zp bGUtPmluZGV4IC8gMl07DQo+ICsJZmQgPSBkYXRhLT52aG9zdGZkc1tmaWxlLT5pbmRleCAvIDJd Ow0KPiAgCWZpbGUtPmluZGV4ICU9IDI7DQo+IA0KPiAgCXJldCA9IHZob3N0X2tlcm5lbF9pb2N0 bChmZCwgcmVxLCBmaWxlKTsNCj4gQEAgLTI5OSw5ICszMTIsMTAgQEAgdmhvc3Rfa2VybmVsX3Nl dF92cmluZ19hZGRyKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gc3RydWN0IHZob3N0 X3ZyaW5nX2FkZHINCj4gIHsNCj4gIAlpbnQgcmV0LCBmZDsNCj4gIAl1bnNpZ25lZCBpbnQgaW5k ZXggPSBhZGRyLT5pbmRleDsNCj4gKwlzdHJ1Y3Qgdmhvc3Rfa2VybmVsX2RhdGEgKmRhdGEgPSBk ZXYtPmJhY2tlbmRfZGF0YTsNCj4gDQo+ICAJLyogQ29udmVydCBmcm9tIHF1ZXVlIGluZGV4IHRv IHF1ZXVlLXBhaXIgJiBvZmZzZXQgKi8NCj4gLQlmZCA9IGRldi0+dmhvc3RmZHNbYWRkci0+aW5k ZXggLyAyXTsNCj4gKwlmZCA9IGRhdGEtPnZob3N0ZmRzW2FkZHItPmluZGV4IC8gMl07DQo+ICAJ YWRkci0+aW5kZXggJT0gMjsNCj4gDQo+ICAJcmV0ID0gdmhvc3Rfa2VybmVsX2lvY3RsKGZkLCBW SE9TVF9TRVRfVlJJTkdfQUREUiwgYWRkcik7DQo+IEBAIC0zMzksMjcgKzM1Myw4MiBAQCBzdGF0 aWMgaW50DQo+ICB2aG9zdF9rZXJuZWxfc2V0dXAoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2 KQ0KPiAgew0KPiAgCWludCB2aG9zdGZkOw0KPiAtCXVpbnQzMl90IGk7DQo+ICsJdWludDMyX3Qg cSwgaTsNCj4gKwlzdHJ1Y3Qgdmhvc3Rfa2VybmVsX2RhdGEgKmRhdGE7DQo+ICsNCj4gKwlkYXRh ID0gbWFsbG9jKHNpemVvZigqZGF0YSkpOw0KPiArCWlmICghZGF0YSkgew0KPiArCQlQTURfSU5J VF9MT0coRVJSLCAiKCVzKSBGYWlsZWQgdG8gYWxsb2NhdGUgVmhvc3Qta2VybmVsIGRhdGEiLA0K PiBkZXYtPnBhdGgpOw0KPiArCQlyZXR1cm4gLTE7DQo+ICsJfQ0KPiArDQo+ICsJZGF0YS0+dmhv c3RmZHMgPSBtYWxsb2MoZGV2LT5tYXhfcXVldWVfcGFpcnMgKiBzaXplb2YoaW50KSk7DQo+ICsJ aWYgKCFkYXRhLT52aG9zdGZkcykgew0KPiArCQlQTURfSU5JVF9MT0coRVJSLCAiKCVzKSBGYWls ZWQgdG8gYWxsb2NhdGUgVmhvc3QgRkRzIiwgZGV2LT5wYXRoKTsNCj4gKwkJZ290byBlcnJfZGF0 YTsNCj4gKwl9DQo+ICsJZGF0YS0+dGFwZmRzID0gbWFsbG9jKGRldi0+bWF4X3F1ZXVlX3BhaXJz ICogc2l6ZW9mKGludCkpOw0KPiArCWlmICghZGF0YS0+dGFwZmRzKSB7DQo+ICsJCVBNRF9JTklU X0xPRyhFUlIsICIoJXMpIEZhaWxlZCB0byBhbGxvY2F0ZSBGRHMiLCBkZXYtPnBhdGgpOw0KDQon YWxsb2NhdGUgdGFwIEZEcyc/DQoNCldpdGggdGhpcyBmaXhlZDoNCg0KUmV2aWV3ZWQtYnk6IENo ZW5ibyBYaWEgPGNoZW5iby54aWFAaW50ZWwuY29tPg0KDQo+ICsJCWdvdG8gZXJyX3Zob3N0ZmRz Ow0KPiArCX0NCj4gKw0KPiArCWZvciAocSA9IDA7IHEgPCBkZXYtPm1heF9xdWV1ZV9wYWlyczsg KytxKSB7DQo+ICsJCWRhdGEtPnZob3N0ZmRzW3FdID0gLTE7DQo+ICsJCWRhdGEtPnRhcGZkc1tx XSA9IC0xOw0KPiArCX0NCj4gDQo+ICAJZ2V0X3Zob3N0X2tlcm5lbF9tYXhfcmVnaW9ucygpOw0K PiANCj4gIAlmb3IgKGkgPSAwOyBpIDwgZGV2LT5tYXhfcXVldWVfcGFpcnM7ICsraSkgew0KPiAg CQl2aG9zdGZkID0gb3BlbihkZXYtPnBhdGgsIE9fUkRXUik7DQo+ICAJCWlmICh2aG9zdGZkIDwg MCkgew0KPiAtCQkJUE1EX0RSVl9MT0coRVJSLCAiZmFpbCB0byBvcGVuICVzLCAlcyIsDQo+IC0J CQkJICAgIGRldi0+cGF0aCwgc3RyZXJyb3IoZXJybm8pKTsNCj4gLQkJCXJldHVybiAtMTsNCj4g KwkJCVBNRF9EUlZfTE9HKEVSUiwgImZhaWwgdG8gb3BlbiAlcywgJXMiLCBkZXYtPnBhdGgsDQo+ IHN0cmVycm9yKGVycm5vKSk7DQo+ICsJCQlnb3RvIGVycl90YXBmZHM7DQo+ICAJCX0NCj4gDQo+ IC0JCWRldi0+dmhvc3RmZHNbaV0gPSB2aG9zdGZkOw0KPiArCQlkYXRhLT52aG9zdGZkc1tpXSA9 IHZob3N0ZmQ7DQo+ICAJfQ0KPiANCj4gKwlkZXYtPmJhY2tlbmRfZGF0YSA9IGRhdGE7DQo+ICsN Cj4gIAlyZXR1cm4gMDsNCj4gKw0KPiArZXJyX3RhcGZkczoNCj4gKwlmb3IgKGkgPSAwOyBpIDwg ZGV2LT5tYXhfcXVldWVfcGFpcnM7IGkrKykNCj4gKwkJaWYgKGRhdGEtPnZob3N0ZmRzW2ldID49 IDApDQo+ICsJCQljbG9zZShkYXRhLT52aG9zdGZkc1tpXSk7DQo+ICsNCj4gKwlmcmVlKGRhdGEt PnRhcGZkcyk7DQo+ICtlcnJfdmhvc3RmZHM6DQo+ICsJZnJlZShkYXRhLT52aG9zdGZkcyk7DQo+ ICtlcnJfZGF0YToNCj4gKwlmcmVlKGRhdGEpOw0KPiArDQo+ICsJcmV0dXJuIC0xOw0KPiAgfQ0K PiANCj4gIHN0YXRpYyBpbnQNCj4gLXZob3N0X2tlcm5lbF9kZXN0cm95KHN0cnVjdCB2aXJ0aW9f dXNlcl9kZXYgKmRldiBfX3J0ZV91bnVzZWQpDQo+ICt2aG9zdF9rZXJuZWxfZGVzdHJveShzdHJ1 Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpDQo+ICB7DQo+ICsJc3RydWN0IHZob3N0X2tlcm5lbF9k YXRhICpkYXRhID0gZGV2LT5iYWNrZW5kX2RhdGE7DQo+ICsJdWludDMyX3QgaTsNCj4gKw0KPiAr CWlmICghZGF0YSkNCj4gKwkJcmV0dXJuIDA7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgZGV2 LT5tYXhfcXVldWVfcGFpcnM7ICsraSkgew0KPiArCQlpZiAoZGF0YS0+dmhvc3RmZHNbaV0gPj0g MCkNCj4gKwkJCWNsb3NlKGRhdGEtPnZob3N0ZmRzW2ldKTsNCj4gKwkJaWYgKGRhdGEtPnRhcGZk c1tpXSA+PSAwKQ0KPiArCQkJY2xvc2UoZGF0YS0+dGFwZmRzW2ldKTsNCj4gKwl9DQo+ICsNCj4g KwlmcmVlKGRhdGEtPnZob3N0ZmRzKTsNCj4gKwlmcmVlKGRhdGEtPnRhcGZkcyk7DQo+ICsJZnJl ZShkYXRhKTsNCj4gKwlkZXYtPmJhY2tlbmRfZGF0YSA9IE5VTEw7DQo+ICsNCj4gIAlyZXR1cm4g MDsNCj4gIH0NCj4gDQo+IEBAIC0zOTUsMTQgKzQ2NCwxNSBAQCB2aG9zdF9rZXJuZWxfZW5hYmxl X3F1ZXVlX3BhaXIoc3RydWN0IHZpcnRpb191c2VyX2Rldg0KPiAqZGV2LA0KPiAgCWludCB2aG9z dGZkOw0KPiAgCWludCB0YXBmZDsNCj4gIAlpbnQgcmVxX21xID0gKGRldi0+bWF4X3F1ZXVlX3Bh aXJzID4gMSk7DQo+ICsJc3RydWN0IHZob3N0X2tlcm5lbF9kYXRhICpkYXRhID0gZGV2LT5iYWNr ZW5kX2RhdGE7DQo+IA0KPiAtCXZob3N0ZmQgPSBkZXYtPnZob3N0ZmRzW3BhaXJfaWR4XTsNCj4g Kwl2aG9zdGZkID0gZGF0YS0+dmhvc3RmZHNbcGFpcl9pZHhdOw0KPiANCj4gIAlpZiAoZGV2LT5x cF9lbmFibGVkW3BhaXJfaWR4XSA9PSBlbmFibGUpDQo+ICAJCXJldHVybiAwOw0KPiANCj4gIAlp ZiAoIWVuYWJsZSkgew0KPiAtCQl0YXBmZCA9IGRldi0+dGFwZmRzW3BhaXJfaWR4XTsNCj4gKwkJ dGFwZmQgPSBkYXRhLT50YXBmZHNbcGFpcl9pZHhdOw0KPiAgCQlpZiAodmhvc3Rfa2VybmVsX3Nl dF9iYWNrZW5kKHZob3N0ZmQsIC0xKSA8IDApIHsNCj4gIAkJCVBNRF9EUlZfTE9HKEVSUiwgImZh aWwgdG8gc2V0IGJhY2tlbmQgZm9yIHZob3N0IGtlcm5lbCIpOw0KPiAgCQkJcmV0dXJuIC0xOw0K PiBAQCAtNDE1LDggKzQ4NSw4IEBAIHZob3N0X2tlcm5lbF9lbmFibGVfcXVldWVfcGFpcihzdHJ1 Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+ICAJCXJldHVybiAwOw0KPiAgCX0NCj4gDQo+IC0J aWYgKGRldi0+dGFwZmRzW3BhaXJfaWR4XSA+PSAwKSB7DQo+IC0JCXRhcGZkID0gZGV2LT50YXBm ZHNbcGFpcl9pZHhdOw0KPiArCWlmIChkYXRhLT50YXBmZHNbcGFpcl9pZHhdID49IDApIHsNCj4g KwkJdGFwZmQgPSBkYXRhLT50YXBmZHNbcGFpcl9pZHhdOw0KPiAgCQlpZiAodmhvc3Rfa2VybmVs X3RhcF9zZXRfb2ZmbG9hZCh0YXBmZCwgZGV2LT5mZWF0dXJlcykgPT0gLTEpDQo+ICAJCQlyZXR1 cm4gLTE7DQo+ICAJCWlmIChyZXFfbXEgJiYgdmhvc3Rfa2VybmVsX3RhcF9zZXRfcXVldWUodGFw ZmQsIHRydWUpIDwgMCkgew0KPiBAQCAtNDM5LDcgKzUwOSw3IEBAIHZob3N0X2tlcm5lbF9lbmFi bGVfcXVldWVfcGFpcihzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+ICAJCXJldHVybiAt MTsNCj4gIAl9DQo+IA0KPiAtCWRldi0+dGFwZmRzW3BhaXJfaWR4XSA9IHRhcGZkOw0KPiArCWRh dGEtPnRhcGZkc1twYWlyX2lkeF0gPSB0YXBmZDsNCj4gDQo+ICBzZXRfYmFja2VuZDoNCj4gIAlp ZiAodmhvc3Rfa2VybmVsX3NldF9iYWNrZW5kKHZob3N0ZmQsIHRhcGZkKSA8IDApIHsNCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYu Yw0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0K PiBpbmRleCA3MTI4NDU3ZTMyLi5hMWUzMjE1OGJiIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gKysrIGIvZHJpdmVycy9u ZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+IEBAIC0zOTgsMTEgKzM5 OCw2IEBAIHZpcnRpb191c2VyX21lbV9ldmVudF9jYihlbnVtIHJ0ZV9tZW1fZXZlbnQgdHlwZQ0K PiBfX3J0ZV91bnVzZWQsDQo+ICBzdGF0aWMgaW50DQo+ICB2aXJ0aW9fdXNlcl9kZXZfc2V0dXAo c3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgew0KPiAtCXVpbnQzMl90IHE7DQo+IC0N Cj4gLQlkZXYtPnZob3N0ZmRzID0gTlVMTDsNCj4gLQlkZXYtPnRhcGZkcyA9IE5VTEw7DQo+IC0N Cj4gIAlpZiAoZGV2LT5pc19zZXJ2ZXIpIHsNCj4gIAkJaWYgKGRldi0+YmFja2VuZF90eXBlICE9 IFZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1RfVVNFUikgew0KPiAgCQkJUE1EX0RSVl9MT0coRVJS LCAiU2VydmVyIG1vZGUgb25seSBzdXBwb3J0cyB2aG9zdC11c2VyISIpOw0KPiBAQCAtNDEwLDM0 ICs0MDUsMjEgQEAgdmlydGlvX3VzZXJfZGV2X3NldHVwKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYg KmRldikNCj4gIAkJfQ0KPiAgCX0NCj4gDQo+IC0JaWYgKGRldi0+YmFja2VuZF90eXBlID09IFZJ UlRJT19VU0VSX0JBQ0tFTkRfVkhPU1RfVVNFUikgew0KPiArCXN3aXRjaCAoZGV2LT5iYWNrZW5k X3R5cGUpIHsNCj4gKwljYXNlIFZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1RfVVNFUjoNCj4gIAkJ ZGV2LT5vcHMgPSAmdmlydGlvX29wc191c2VyOw0KPiAtCX0gZWxzZSBpZiAoZGV2LT5iYWNrZW5k X3R5cGUgPT0NCj4gLQkJCVZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1RfS0VSTkVMKSB7DQo+ICsJ CWJyZWFrOw0KPiArCWNhc2UgVklSVElPX1VTRVJfQkFDS0VORF9WSE9TVF9LRVJORUw6DQo+ICAJ CWRldi0+b3BzID0gJnZpcnRpb19vcHNfa2VybmVsOw0KPiAtDQo+IC0JCWRldi0+dmhvc3RmZHMg PSBtYWxsb2MoZGV2LT5tYXhfcXVldWVfcGFpcnMgKg0KPiAtCQkJCXNpemVvZihpbnQpKTsNCj4g LQkJZGV2LT50YXBmZHMgPSBtYWxsb2MoZGV2LT5tYXhfcXVldWVfcGFpcnMgKg0KPiAtCQkJCXNp emVvZihpbnQpKTsNCj4gLQkJaWYgKCFkZXYtPnZob3N0ZmRzIHx8ICFkZXYtPnRhcGZkcykgew0K PiAtCQkJUE1EX0lOSVRfTE9HKEVSUiwgIiglcykgRmFpbGVkIHRvIGFsbG9jYXRlIEZEcyIsIGRl di0+cGF0aCk7DQo+IC0JCQlyZXR1cm4gLTE7DQo+IC0JCX0NCj4gLQ0KPiAtCQlmb3IgKHEgPSAw OyBxIDwgZGV2LT5tYXhfcXVldWVfcGFpcnM7ICsrcSkgew0KPiAtCQkJZGV2LT52aG9zdGZkc1tx XSA9IC0xOw0KPiAtCQkJZGV2LT50YXBmZHNbcV0gPSAtMTsNCj4gLQkJfQ0KPiAtCX0gZWxzZSBp ZiAoZGV2LT5iYWNrZW5kX3R5cGUgPT0NCj4gLQkJCVZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1Rf VkRQQSkgew0KPiArCQlicmVhazsNCj4gKwljYXNlIFZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1Rf VkRQQToNCj4gIAkJZGV2LT5vcHMgPSAmdmlydGlvX29wc192ZHBhOw0KPiAtCX0gZWxzZSB7DQo+ ICsJCWJyZWFrOw0KPiArCWRlZmF1bHQ6DQo+ICAJCVBNRF9EUlZfTE9HKEVSUiwgIiglcykgVW5r bm93biBiYWNrZW5kIHR5cGUiLCBkZXYtPnBhdGgpOw0KPiAgCQlyZXR1cm4gLTE7DQo+ICAJfQ0K PiANCj4gLQ0KPiAgCWlmIChkZXYtPm9wcy0+c2V0dXAoZGV2KSA8IDApIHsNCj4gIAkJUE1EX0lO SVRfTE9HKEVSUiwgIiglcykgRmFpbGVkIHRvIHNldHVwIGJhY2tlbmRcbiIsIGRldi0+cGF0aCk7 DQo+ICAJCXJldHVybiAtMTsNCj4gQEAgLTU5MywxNSArNTc1LDYgQEAgdmlydGlvX3VzZXJfZGV2 X3VuaW5pdChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpDQo+ICAJCWNsb3NlKGRldi0+Y2Fs bGZkc1tpXSk7DQo+ICAJCWNsb3NlKGRldi0+a2lja2Zkc1tpXSk7DQo+ICAJfQ0KPiAtCWlmIChk ZXYtPnZob3N0ZmRzKSB7DQo+IC0JCWZvciAoaSA9IDA7IGkgPCBkZXYtPm1heF9xdWV1ZV9wYWly czsgKytpKSB7DQo+IC0JCQljbG9zZShkZXYtPnZob3N0ZmRzW2ldKTsNCj4gLQkJCWlmIChkZXYt PnRhcGZkc1tpXSA+PSAwKQ0KPiAtCQkJCWNsb3NlKGRldi0+dGFwZmRzW2ldKTsNCj4gLQkJfQ0K PiAtCQlmcmVlKGRldi0+dmhvc3RmZHMpOw0KPiAtCQlmcmVlKGRldi0+dGFwZmRzKTsNCj4gLQl9 DQo+IA0KPiAgCWZyZWUoZGV2LT5pZm5hbWUpOw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuaA0KPiBiL2RyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuaA0KPiBpbmRleCAzNmQyNDEwNTQ2 Li4zNmE5Y2FkY2FkIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3Vz ZXIvdmlydGlvX3VzZXJfZGV2LmgNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191 c2VyL3ZpcnRpb191c2VyX2Rldi5oDQo+IEBAIC0zMiwxMSArMzIsNiBAQCBzdHJ1Y3QgdmlydGlv X3VzZXJfZGV2IHsNCj4gIAkvKiBmb3Igdmhvc3RfdmRwYSBiYWNrZW5kICovDQo+ICAJaW50CQl2 aG9zdGZkOw0KPiANCj4gLQkvKiBmb3Igdmhvc3Rfa2VybmVsIGJhY2tlbmQgKi8NCj4gLQljaGFy CQkqaWZuYW1lOw0KPiAtCWludAkJKnZob3N0ZmRzOw0KPiAtCWludAkJKnRhcGZkczsNCj4gLQ0K PiAgCS8qIGZvciBib3RoIHZob3N0X3VzZXIgYW5kIHZob3N0X2tlcm5lbCAqLw0KPiAgCWludAkJ Y2FsbGZkc1tWSVJUSU9fTUFYX1ZJUlRRVUVVRVNdOw0KPiAgCWludAkJa2lja2Zkc1tWSVJUSU9f TUFYX1ZJUlRRVUVVRVNdOw0KPiBAQCAtNTYsNiArNTEsOCBAQCBzdHJ1Y3QgdmlydGlvX3VzZXJf ZGV2IHsNCj4gIAl1aW50MTZfdAlwb3J0X2lkOw0KPiAgCXVpbnQ4X3QJCW1hY19hZGRyW1JURV9F VEhFUl9BRERSX0xFTl07DQo+ICAJY2hhcgkJcGF0aFtQQVRIX01BWF07DQo+ICsJY2hhcgkJKmlm bmFtZTsNCj4gKw0KPiAgCXVuaW9uIHsNCj4gIAkJc3RydWN0IHZyaW5nCQl2cmluZ3NbVklSVElP X01BWF9WSVJUUVVFVUVTXTsNCj4gIAkJc3RydWN0IHZyaW5nX3BhY2tlZAlwYWNrZWRfdnJpbmdz W1ZJUlRJT19NQVhfVklSVFFVRVVFU107DQo+IC0tDQo+IDIuMjkuMg0KDQo=