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 90D0FA052A; Tue, 26 Jan 2021 07:09:52 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7EA18141247; Tue, 26 Jan 2021 07:09:50 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 8B11F141246 for ; Tue, 26 Jan 2021 07:09:47 +0100 (CET) IronPort-SDR: lcuia+4TJ0XE+mfqH739yttHuzBssIh4CfiVTO2vRE0HUy0RRYoVDTdTMXy88s2syNEX8koRNr 1jMA+8FdFZyw== X-IronPort-AV: E=McAfee;i="6000,8403,9875"; a="176342950" X-IronPort-AV: E=Sophos;i="5.79,375,1602572400"; d="scan'208";a="176342950" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jan 2021 22:09:46 -0800 IronPort-SDR: Fax/H0lCMe4cBgBjgx9ykNGWsqjvy0G6Z1HK3Es7xR9CCPxD2hXDxEes+DD8IrI3xtYx3RQ7gn sM9lMHHd389w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,375,1602572400"; d="scan'208";a="429582799" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga001.jf.intel.com with ESMTP; 25 Jan 2021 22:09:46 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Mon, 25 Jan 2021 22:09:46 -0800 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 25 Jan 2021 22:09:45 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Mon, 25 Jan 2021 22:09:45 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.105) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 25 Jan 2021 22:09:45 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AZVIprRJfMHQmL4awD+wCakDLyaX5Zh+nQ9JQKYRuREdYMeVpaPRsEL3QGr2QembOTkTkzHBLk7J8OtcJcx5G5wRt0uTCERXZHVeJiTAcd20YYJdIUREk0QtRqAtwrCmwiIEjc0jCPVDbmLu/vSRuKzrviCe2ziBflN3PQI/JsvpnRD22D3J0jGHdAsxMizucWyhMlqQUKZGlW/aE/R/abFwqC7dZ5PdceOS3MTbvSWm5r3XxVUx1oKPXZLkHEhe8r58RRDcVUCEP+6asSPKyBTHuLkoA35pGJA0PB4WZ4aH7s4YWbBcPtqVnD+EvhE9Pvy7nQxWCzKIhw3ZUD1GrA== 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=lJ5452UjU/F+pwLjL/u+jzDX8DnhDdKjKeZki274gDg=; b=lhprFm9na9aPmdLOcWmOWi7J566wwTrTl76MeU4h5rrQ3mX7vmZo6td+DYgTYX66ANvQWG+sGdXOOEpggJFkFR0EpGf9n3lv/2YvLukI8bB/tEyjyiTB7rfj4Q1xm/amaMsP4JoNym0iEAunEwZIdM8e45aBfVBXuw1/bReB/5hQTU/pUi8CDNk+3q6XPM+LGK4/wHnr+Qh3YmDCJLan7oJRUqwuxzw0Z+fVhCCHJex9qlz6kPybhuKYf3E6HXB/rFOqdYBx8QDqe4zJbMPlRPGdoVWA6gMr/eX/ZYvFsbCzMH7uIzkc5yENRMjLDAZ8c3eyAHY9tcCVKu0oqZHh3w== 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=lJ5452UjU/F+pwLjL/u+jzDX8DnhDdKjKeZki274gDg=; b=ySp/we4lQ3EitNLDtLPLoJLD9pGCOq4VhgHh6nklS0FVKZKOe9WMwk0iQ/HtzWgImJfK1WSLzAGpXppQ3pBQFVmO/ROc+CONHuU2ubiyvwSIkhMfNQjthIXCtaDyMMITWHn8gPgvKFwcrasYMBx6Vaj45uHMfsfpc/DpQ7L/QEI= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3629.namprd11.prod.outlook.com (2603:10b6:208:f0::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.16; Tue, 26 Jan 2021 06:09:43 +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.3784.017; Tue, 26 Jan 2021 06:09:43 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH v3 28/44] net/virtio: add Virtio-user protocol features ops Thread-Index: AQHW8z3sg0qcR3IHrk2elwZOSjGX8qo5bRnA Date: Tue, 26 Jan 2021 06:09:43 +0000 Message-ID: References: <20210125171444.167241-1-maxime.coquelin@redhat.com> <20210125171444.167241-29-maxime.coquelin@redhat.com> In-Reply-To: <20210125171444.167241-29-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.55.46.39] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 49698239-1006-4a41-f2d9-08d8c1c0f97d x-ms-traffictypediagnostic: MN2PR11MB3629: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:114; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eKpn4pfLNkXezI15NFYMANrtqdDQfY/9873bZyHOOl3BwqLP8JEuSDwEOzEInkI4O/C8F8ilivFkKqrTWJhH2tbuWMShINxaC3rytvuuGoQge02Ot2WcWaV8tFy91u6M2l0NiF7AFPCBMrRekETYNcUiPog5/BetcvdXYJmhsSGOdBL/qvybSpM3Pb/s3Bb/jqX3oTUS1vI0a0a8qu0vEG94AfDTKmm10ReOpLrlxvT29hpTVAuOWebFg9gjMWvw+xy0DDGRBE8jwJFM2l6M2hYhiYCJogzqJDmJ1H81KCHYnkMAQim+HS4Bk1YYCtIV3i3lz9fS1dKkssUPkaFmNbcVN0N90UkKVfsmr8aXBxH2lM2vaX3zvsfOamPBFO4E0oH6vdamPaYbRiQ3GxFTkiOtD+RkLKKWNOhzHSw+Y++txmljlZmu+3XtUlNqKbZKwo4u/76YVGZQi/I1iOrMurAgD8XluSJ85NdKyHtoEAs+dFngENK9MA7FtH5FNB6wUsDwvP4TYnaD/C8UixwWJQ== 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)(136003)(366004)(346002)(39860400002)(376002)(396003)(316002)(53546011)(26005)(2906002)(478600001)(66556008)(66446008)(6506007)(7696005)(83380400001)(66946007)(110136005)(86362001)(76116006)(55016002)(186003)(33656002)(5660300002)(8936002)(52536014)(71200400001)(66476007)(8676002)(9686003)(64756008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?dlAwQnFIWjhQSStXSy9DKzRpZzVqbzMwSTFGb1JEaW5oekI1cFBibS9iS21K?= =?utf-8?B?dG5TSVRseTdpdlExNENRMkdOYWd0a0F1ZmFvZiszVSs5VWJFTXZNaWhpdUJ2?= =?utf-8?B?eDlXTkxwOU10ckU0SWJEcnhUVVdxendnb0xBbld6a0kzNmw5MnhHdFR4ZkdH?= =?utf-8?B?VVVPbVRIeDNqcHdPazZ4MHJ3cDhWdkU0YkpEZkp5MXdPV0Y0SzNhU0pQVzlu?= =?utf-8?B?aE04OFRHbXlmYTBhK2NVb21FOEY4eHN5MjdWdmt2QzRTc3ZZVUp4UitkekZq?= =?utf-8?B?ME5IZnpvZ252c3pjd1EyTXhKZ1JHQWd4NUtSRVFWM2tmVjNFeEU3YlhOZGlZ?= =?utf-8?B?TTd4czF0cjhjWUVrdHZwK1lrWWk2cGEza25TZVU0TVg4THVyZjd4SVU5a2dO?= =?utf-8?B?SUdEUU1TNVRiT3IwUEdzQUpCUG93UUIvWkd3R1lHRk4rT3NuN01pQnh6YmN5?= =?utf-8?B?c2tRM3NJKytQaEVva2xqbHZpR0huV2Z0U0FJSFpzb010OENReTZoRTRHYXZN?= =?utf-8?B?OGozTXpWSnl3UzI0SUlxMzJabThaby96N3NUMmFiTWtDUjhTVHFJY0FPbEhx?= =?utf-8?B?SS9nVVFON3cxc0xHOVRmWkE2K3QzVGNabk13ajh6Wk9tUU1uWXZNNDBUNkdV?= =?utf-8?B?bHBLWC9RMjZZcmZpZHhheVZNUWFSOWo3Rmh4SVpqQlRtUk9jVW42ZEdQakZQ?= =?utf-8?B?OEs1Mk16cXBXdXpVTWxSU3NFOWdZdWhzbFpLUVVsNmg2T3dwOXpjbjY4Tzhk?= =?utf-8?B?cUhOTnAyOEZMYUhUVWRLWHpic25pUlhheCs2clVKbnRlak5rZUdaMWcwNFFv?= =?utf-8?B?WElqUHZKZ0xnVUQxNm5OekRDUG5ybWNGVTVrN0FiOHdHWVhYOUZpcUhwM0lK?= =?utf-8?B?TTBFZm55MVgySVFPSFg2dzRSamZvR3pTb0QxN3gxTEwzOExDZ0dwM3FTWG4r?= =?utf-8?B?Tks3VDlGa3I1cFc5d3EzUDBRMms5QWhaeUxhR3dSZVdtMzErNHVUbXdMQk82?= =?utf-8?B?WnkxTHB0aVpXRVFNUDMyWDdqWDBpT2o2aG8yV0VOVEREeFRRbStPcE00emVy?= =?utf-8?B?azEzSTFpUktvTkNaRk1NSnlCMzdTWElzT3RpOCtGaEdGUE11LzYrYmlmaHpK?= =?utf-8?B?b05Ec1R1Zk01ek10RTkrV3ByV3c3NFpMaUtZaTd4Uk80UmRDWUtiOWFjZ0JM?= =?utf-8?B?ZXhBblUyNW94RDMwK0JtZG0zWmtHdkRkM2JzZnJtdzBMaUZpTS9wMXp6bTI2?= =?utf-8?B?RnU3WnhnazZVTlZVdnJDb2MxTHcwa21XTE9aK0UxK2diWElRblF4SHdNaFg3?= =?utf-8?B?U081Zk5KcU1wbG1EU1gzUlRUNHNJMHBvQWNsai9SNFNJcEx4dXVvdlRDSzds?= =?utf-8?B?cllnWVNSc0paU2RKYm00dTF0emUwOGg0cHVwZGFOZ2NST3FHWUk1N09td2c2?= =?utf-8?Q?RCEvtihm?= 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: 49698239-1006-4a41-f2d9-08d8c1c0f97d X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2021 06:09:43.3359 (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: sdOIsBlkAB7ndryHYLb3KI1ZC2MoAzQkqGpIKcFAq8ixomTwmry5yUf2TuXq59zf7Yt6UEjbaWSx+1ZjCF0M2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3629 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 28/44] net/virtio: add Virtio-user protocol features ops 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBKYW51YXJ5IDI2LCAy MDIxIDE6MTQgQU0NCj4gVG86IGRldkBkcGRrLm9yZzsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFA aW50ZWwuY29tPjsgb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsNCj4gYW1vcmVub3pAcmVkaGF0LmNv bTsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiBDYzogTWF4aW1lIENvcXVlbGluIDxtYXhp bWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogW1BBVENIIHYzIDI4LzQ0XSBuZXQv dmlydGlvOiBhZGQgVmlydGlvLXVzZXIgcHJvdG9jb2wgZmVhdHVyZXMgb3BzDQo+IA0KPiBUaGlz IHBhdGNoIGludHJvZHVjZXMgbmV3IGNhbGxiYWNrcyBmb3IgZ2V0dGluZw0KPiBhbmQgc2V0dGlu ZyBWaG9zdC11c2VyIHByb3RvY29sIGZlYXR1cmVzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWF4 aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gLS0tDQo+ICBkcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaCAgICAgICAgfCAgMiArDQo+ICBkcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jICAgfCA2NCArKysrKysrKysr KysrKysrKy0tDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5j ICAgfCAxNCArKysrDQo+ICAuLi4vbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9k ZXYuYyAgfCAxNCArKy0tDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2 LmMgICAgICAgfCAxNCArKy0tDQo+ICA1IGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyks IDI2IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92 aXJ0aW9fdXNlci92aG9zdC5oDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zo b3N0LmgNCj4gaW5kZXggMTNhODhjNzY3MS4uZDgwNTUyNjEzMCAxMDA2NDQNCj4gLS0tIGEvZHJp dmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmgNCj4gKysrIGIvZHJpdmVycy9uZXQv dmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmgNCj4gQEAgLTExMiw2ICsxMTIsOCBAQCBzdHJ1Y3Qg dmlydGlvX3VzZXJfYmFja2VuZF9vcHMgew0KPiAgCWludCAoKnNldF9vd25lcikoc3RydWN0IHZp cnRpb191c2VyX2RldiAqZGV2KTsNCj4gIAlpbnQgKCpnZXRfZmVhdHVyZXMpKHN0cnVjdCB2aXJ0 aW9fdXNlcl9kZXYgKmRldiwgdWludDY0X3QgKmZlYXR1cmVzKTsNCj4gIAlpbnQgKCpzZXRfZmVh dHVyZXMpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDY0X3QgZmVhdHVyZXMpOw0K PiArCWludCAoKmdldF9wcm90b2NvbF9mZWF0dXJlcykoc3RydWN0IHZpcnRpb191c2VyX2RldiAq ZGV2LCB1aW50NjRfdA0KPiAqZmVhdHVyZXMpOw0KPiArCWludCAoKnNldF9wcm90b2NvbF9mZWF0 dXJlcykoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50NjRfdA0KPiBmZWF0dXJlcyk7 DQo+ICAJaW50ICgqc2VuZF9yZXF1ZXN0KShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+ ICAJCQkgICAgZW51bSB2aG9zdF91c2VyX3JlcXVlc3QgcmVxLA0KPiAgCQkJICAgIHZvaWQgKmFy Zyk7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Rf dXNlci5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYw0K PiBpbmRleCA4ZTViZjMzMmQ2Li40ODc3NTc0ZjcyIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3Zp cnRpby92aXJ0aW9fdXNlci92aG9zdF91c2VyLmMNCj4gQEAgLTIwMSw2ICsyMDEsNjIgQEAgdmhv c3RfdXNlcl9zZXRfZmVhdHVyZXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiB1aW50 NjRfdCBmZWF0dXJlcykNCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gDQo+ICtzdGF0aWMgaW50DQo+ ICt2aG9zdF91c2VyX2dldF9wcm90b2NvbF9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2 ICpkZXYsIHVpbnQ2NF90DQo+ICpmZWF0dXJlcykNCj4gK3sNCj4gKwlpbnQgcmV0Ow0KPiArCXN0 cnVjdCB2aG9zdF91c2VyX21zZyBtc2cgPSB7DQo+ICsJCS5yZXF1ZXN0ID0gVkhPU1RfVVNFUl9H RVRfUFJPVE9DT0xfRkVBVFVSRVMsDQo+ICsJCS5mbGFncyA9IFZIT1NUX1VTRVJfVkVSU0lPTiwN Cj4gKwl9Ow0KPiArDQo+ICsJcmV0ID0gdmhvc3RfdXNlcl93cml0ZShkZXYtPnZob3N0ZmQsICZt c2csIE5VTEwsIDApOw0KPiArCWlmIChyZXQgPCAwKQ0KPiArCQlnb3RvIGVycjsNCj4gKw0KPiAr CXJldCA9IHZob3N0X3VzZXJfcmVhZChkZXYtPnZob3N0ZmQsICZtc2cpOw0KPiArCWlmIChyZXQg PCAwKQ0KPiArCQlnb3RvIGVycjsNCj4gKw0KPiArCWlmIChtc2cucmVxdWVzdCAhPSBWSE9TVF9V U0VSX0dFVF9QUk9UT0NPTF9GRUFUVVJFUykgew0KPiArCQlQTURfRFJWX0xPRyhFUlIsICJVbmV4 cGVjdGVkIHJlcXVlc3QgdHlwZSAoJWQpIiwgbXNnLnJlcXVlc3QpOw0KPiArCQlnb3RvIGVycjsN Cj4gKwl9DQo+ICsNCj4gKwlpZiAobXNnLnNpemUgIT0gc2l6ZW9mKCpmZWF0dXJlcykpIHsNCj4g KwkJUE1EX0RSVl9MT0coRVJSLCAiVW5leHBlY3RlZCBwYXlsb2FkIHNpemUgKCV1KSIsIG1zZy5z aXplKTsNCj4gKwkJZ290byBlcnI7DQo+ICsJfQ0KPiArDQo+ICsJKmZlYXR1cmVzID0gbXNnLnBh eWxvYWQudTY0Ow0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICtlcnI6DQo+ICsJUE1EX0RSVl9MT0co RVJSLCAiRmFpbGVkIHRvIGdldCBiYWNrZW5kIHByb3RvY29sIGZlYXR1cmVzIik7DQo+ICsNCj4g KwlyZXR1cm4gLTE7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X3VzZXJfc2V0 X3Byb3RvY29sX2ZlYXR1cmVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDY0X3QN Cj4gZmVhdHVyZXMpDQo+ICt7DQo+ICsJaW50IHJldDsNCj4gKwlzdHJ1Y3Qgdmhvc3RfdXNlcl9t c2cgbXNnID0gew0KPiArCQkucmVxdWVzdCA9IFZIT1NUX1VTRVJfU0VUX1BST1RPQ09MX0ZFQVRV UkVTLA0KPiArCQkuZmxhZ3MgPSBWSE9TVF9VU0VSX1ZFUlNJT04sDQo+ICsJCS5zaXplID0gc2l6 ZW9mKGZlYXR1cmVzKSwNCj4gKwkJLnBheWxvYWQudTY0ID0gZmVhdHVyZXMsDQo+ICsJfTsNCj4g Kw0KPiArCXJldCA9IHZob3N0X3VzZXJfd3JpdGUoZGV2LT52aG9zdGZkLCAmbXNnLCBOVUxMLCAw KTsNCj4gKwlpZiAocmV0IDwgMCkgew0KPiArCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8g c2V0IHByb3RvY29sIGZlYXR1cmVzIik7DQo+ICsJCXJldHVybiAtMTsNCj4gKwl9DQo+ICsNCj4g KwlyZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAgc3RydWN0IHdhbGtfYXJnIHsNCj4gIAlzdHJ1Y3Qg dmhvc3RfbWVtb3J5ICp2bTsNCj4gIAlpbnQgKmZkczsNCj4gQEAgLTMxNSw4ICszNzEsNiBAQCBj b25zdCBjaGFyICogY29uc3Qgdmhvc3RfbXNnX3N0cmluZ3NbXSA9IHsNCj4gIAlbVkhPU1RfVVNF Ul9TRVRfVlJJTkdfS0lDS10gPSAiVkhPU1RfU0VUX1ZSSU5HX0tJQ0siLA0KPiAgCVtWSE9TVF9V U0VSX1NFVF9NRU1fVEFCTEVdID0gIlZIT1NUX1NFVF9NRU1fVEFCTEUiLA0KPiAgCVtWSE9TVF9V U0VSX1NFVF9WUklOR19FTkFCTEVdID0gIlZIT1NUX1NFVF9WUklOR19FTkFCTEUiLA0KPiAtCVtW SE9TVF9VU0VSX0dFVF9QUk9UT0NPTF9GRUFUVVJFU10gPSAiVkhPU1RfVVNFUl9HRVRfUFJPVE9D T0xfRkVBVFVSRVMiLA0KPiAtCVtWSE9TVF9VU0VSX1NFVF9QUk9UT0NPTF9GRUFUVVJFU10gPSAi VkhPU1RfVVNFUl9TRVRfUFJPVE9DT0xfRkVBVFVSRVMiLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9T VEFUVVNdID0gIlZIT1NUX1NFVF9TVEFUVVMiLA0KPiAgCVtWSE9TVF9VU0VSX0dFVF9TVEFUVVNd ID0gIlZIT1NUX0dFVF9TVEFUVVMiLA0KPiAgfTsNCj4gQEAgLTM1NCw4ICs0MDgsNiBAQCB2aG9z dF91c2VyX3NvY2soc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiAgCQkgICAgKCEoZGV2 LT5wcm90b2NvbF9mZWF0dXJlcyAmDQo+ICAJCQkJKDFVTEwgPDwgVkhPU1RfVVNFUl9QUk9UT0NP TF9GX1NUQVRVUykpKSkNCj4gIAkJCXJldHVybiAtRU5PVFNVUDsNCj4gLQkJLyogRmFsbHRocm91 Z2ggKi8NCj4gLQljYXNlIFZIT1NUX1VTRVJfR0VUX1BST1RPQ09MX0ZFQVRVUkVTOg0KPiAgCQlu ZWVkX3JlcGx5ID0gMTsNCj4gIAkJYnJlYWs7DQo+IA0KPiBAQCAtMzY4LDcgKzQyMCw2IEBAIHZo b3N0X3VzZXJfc29jayhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+ICAJCWlmIChoYXNf cmVwbHlfYWNrKQ0KPiAgCQkJbXNnLmZsYWdzIHw9IFZIT1NUX1VTRVJfTkVFRF9SRVBMWV9NQVNL Ow0KPiAgCQkvKiBGYWxsdGhyb3VnaCAqLw0KPiAtCWNhc2UgVkhPU1RfVVNFUl9TRVRfUFJPVE9D T0xfRkVBVFVSRVM6DQo+ICAJY2FzZSBWSE9TVF9VU0VSX1NFVF9MT0dfQkFTRToNCj4gIAkJbXNn LnBheWxvYWQudTY0ID0gKigoX191NjQgKilhcmcpOw0KPiAgCQltc2cuc2l6ZSA9IHNpemVvZiht LnBheWxvYWQudTY0KTsNCj4gQEAgLTQ1NCw3ICs1MDUsNiBAQCB2aG9zdF91c2VyX3NvY2soc3Ry dWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiANCj4gIAkJc3dpdGNoIChyZXEpIHsNCj4gIAkJ Y2FzZSBWSE9TVF9VU0VSX0dFVF9TVEFUVVM6DQo+IC0JCWNhc2UgVkhPU1RfVVNFUl9HRVRfUFJP VE9DT0xfRkVBVFVSRVM6DQo+ICAJCQlpZiAobXNnLnNpemUgIT0gc2l6ZW9mKG0ucGF5bG9hZC51 NjQpKSB7DQo+ICAJCQkJUE1EX0RSVl9MT0coRVJSLCAiUmVjZWl2ZWQgYmFkIG1zZyBzaXplIik7 DQo+ICAJCQkJcmV0dXJuIC0xOw0KPiBAQCAtNTkyLDYgKzY0Miw4IEBAIHN0cnVjdCB2aXJ0aW9f dXNlcl9iYWNrZW5kX29wcyB2aXJ0aW9fb3BzX3VzZXIgPSB7DQo+ICAJLnNldF9vd25lciA9IHZo b3N0X3VzZXJfc2V0X293bmVyLA0KPiAgCS5nZXRfZmVhdHVyZXMgPSB2aG9zdF91c2VyX2dldF9m ZWF0dXJlcywNCj4gIAkuc2V0X2ZlYXR1cmVzID0gdmhvc3RfdXNlcl9zZXRfZmVhdHVyZXMsDQo+ ICsJLmdldF9wcm90b2NvbF9mZWF0dXJlcyA9IHZob3N0X3VzZXJfZ2V0X3Byb3RvY29sX2ZlYXR1 cmVzLA0KPiArCS5zZXRfcHJvdG9jb2xfZmVhdHVyZXMgPSB2aG9zdF91c2VyX3NldF9wcm90b2Nv bF9mZWF0dXJlcywNCj4gIAkuc2VuZF9yZXF1ZXN0ID0gdmhvc3RfdXNlcl9zb2NrLA0KPiAgCS5l bmFibGVfcXAgPSB2aG9zdF91c2VyX2VuYWJsZV9xdWV1ZV9wYWlyDQo+ICB9Ow0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYw0KPiBiL2Ry aXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMNCj4gaW5kZXggMjJhMzI5 NTI2YS4uZjYyN2FmYmNmYyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRp b191c2VyL3Zob3N0X3ZkcGEuYw0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3Vz ZXIvdmhvc3RfdmRwYS5jDQo+IEBAIC0xMDUsNiArMTA1LDE4IEBAIHZob3N0X3ZkcGFfc2V0X293 bmVyKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldikNCj4gIAlyZXR1cm4gdmhvc3RfdmRwYV9p b2N0bChkZXYtPnZob3N0ZmQsIFZIT1NUX1NFVF9PV05FUiwgTlVMTCk7DQo+ICB9DQo+IA0KPiAr c3RhdGljIGludA0KPiArdmhvc3RfdmRwYV9nZXRfYmFja2VuZF9mZWF0dXJlcyhzdHJ1Y3Qgdmly dGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ2NF90DQo+ICpmZWF0dXJlcykNCj4gK3sNCj4gKwlyZXR1 cm4gdmhvc3RfdmRwYV9pb2N0bChkZXYtPnZob3N0ZmQsIFZIT1NUX0dFVF9CQUNLRU5EX0ZFQVRV UkVTLA0KPiBmZWF0dXJlcyk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X3Zk cGFfc2V0X2JhY2tlbmRfZmVhdHVyZXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50 NjRfdA0KPiBmZWF0dXJlcykNCj4gK3sNCj4gKwlyZXR1cm4gdmhvc3RfdmRwYV9pb2N0bChkZXYt PnZob3N0ZmQsIFZIT1NUX1NFVF9CQUNLRU5EX0ZFQVRVUkVTLA0KPiAmZmVhdHVyZXMpOw0KPiAr fQ0KPiArDQo+ICBzdGF0aWMgaW50DQo+ICB2aG9zdF92ZHBhX2dldF9mZWF0dXJlcyhzdHJ1Y3Qg dmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ2NF90ICpmZWF0dXJlcykNCj4gIHsNCj4gQEAgLTQ0 Nyw2ICs0NTksOCBAQCBzdHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmlydGlvX29wc192 ZHBhID0gew0KPiAgCS5zZXRfb3duZXIgPSB2aG9zdF92ZHBhX3NldF9vd25lciwNCj4gIAkuZ2V0 X2ZlYXR1cmVzID0gdmhvc3RfdmRwYV9nZXRfZmVhdHVyZXMsDQo+ICAJLnNldF9mZWF0dXJlcyA9 IHZob3N0X3ZkcGFfc2V0X2ZlYXR1cmVzLA0KPiArCS5nZXRfcHJvdG9jb2xfZmVhdHVyZXMgPSB2 aG9zdF92ZHBhX2dldF9iYWNrZW5kX2ZlYXR1cmVzLA0KPiArCS5zZXRfcHJvdG9jb2xfZmVhdHVy ZXMgPSB2aG9zdF92ZHBhX3NldF9iYWNrZW5kX2ZlYXR1cmVzLA0KPiAgCS5zZW5kX3JlcXVlc3Qg PSB2aG9zdF92ZHBhX3NlbmRfcmVxdWVzdCwNCj4gIAkuZW5hYmxlX3FwID0gdmhvc3RfdmRwYV9l bmFibGVfcXVldWVfcGFpciwNCj4gIAkuZG1hX21hcCA9IHZob3N0X3ZkcGFfZG1hX21hcF9iYXRj aCwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9f dXNlcl9kZXYuYw0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNl cl9kZXYuYw0KPiBpbmRleCAxZjNiYmFlNjYzLi40NTQxN2JiYzVkIDEwMDY0NA0KPiAtLS0gYS9k cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gKysrIGIv ZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+IEBAIC01 MDUsMjIgKzUwNSwxNiBAQCB2aXJ0aW9fdXNlcl9kZXZfaW5pdChzdHJ1Y3QgdmlydGlvX3VzZXJf ZGV2ICpkZXYsIGNoYXINCj4gKnBhdGgsIGludCBxdWV1ZXMsDQo+IA0KPiAgCQlpZiAoKGRldi0+ ZGV2aWNlX2ZlYXR1cmVzICYgKDFVTEwgPDwNCj4gVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZFQVRV UkVTKSkgfHwNCj4gIAkJCQkoZGV2LT5iYWNrZW5kX3R5cGUgPT0gVklSVElPX1VTRVJfQkFDS0VO RF9WSE9TVF9WRFBBKSkNCj4gew0KPiAtCQkJaWYgKGRldi0+b3BzLT5zZW5kX3JlcXVlc3QoZGV2 LA0KPiAtCQkJCQlWSE9TVF9VU0VSX0dFVF9QUk9UT0NPTF9GRUFUVVJFUywNCj4gLQkJCQkJJnBy b3RvY29sX2ZlYXR1cmVzKSkNCj4gKwkJCWlmIChkZXYtPm9wcy0+Z2V0X3Byb3RvY29sX2ZlYXR1 cmVzKGRldiwgJnByb3RvY29sX2ZlYXR1cmVzKSkNCj4gIAkJCQlyZXR1cm4gLTE7DQo+IA0KPiAg CQkJZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmPSBwcm90b2NvbF9mZWF0dXJlczsNCj4gDQo+IC0J CQlpZiAoZGV2LT5vcHMtPnNlbmRfcmVxdWVzdChkZXYsDQo+IC0JCQkJCVZIT1NUX1VTRVJfU0VU X1BST1RPQ09MX0ZFQVRVUkVTLA0KPiAtCQkJCQkmZGV2LT5wcm90b2NvbF9mZWF0dXJlcykpDQo+ ICsJCQlpZiAoZGV2LT5vcHMtPnNldF9wcm90b2NvbF9mZWF0dXJlcyhkZXYsIGRldi0NCj4gPnBy b3RvY29sX2ZlYXR1cmVzKSkNCj4gIAkJCQlyZXR1cm4gLTE7DQo+IA0KPiAtCQkJaWYgKCEoZGV2 LT5wcm90b2NvbF9mZWF0dXJlcyAmDQo+IC0JCQkJCSgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9D T0xfRl9NUSkpKQ0KPiAtCQkJCWRldi0+dW5zdXBwb3J0ZWRfZmVhdHVyZXMgfD0NCj4gLQkJCQkJ KDF1bGwgPDwgVklSVElPX05FVF9GX01RKTsNCj4gKwkJCWlmICghKGRldi0+cHJvdG9jb2xfZmVh dHVyZXMgJiAoMVVMTCA8PA0KPiBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfTVEpKSkNCj4gKwkJCQlk ZXYtPnVuc3VwcG9ydGVkX2ZlYXR1cmVzIHw9ICgxdWxsIDw8IFZJUlRJT19ORVRfRl9NUSk7DQo+ ICAJCX0NCj4gIAl9IGVsc2Ugew0KPiAgCQkvKiBXZSBqdXN0IHByZXRlbmQgdmhvc3QtdXNlciBj YW4gc3VwcG9ydCBhbGwgdGhlc2UgZmVhdHVyZXMuDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3VzZXJfZXRoZGV2LmMNCj4gaW5kZXggNTZjMzc5YmMxNS4uNWUyNTZmNGU2ZCAxMDA2NDQN Cj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyX2V0aGRldi5jDQo+ICsrKyBi L2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlcl9ldGhkZXYuYw0KPiBAQCAtOTMsMjMgKzkz LDE3IEBAIHZpcnRpb191c2VyX3NlcnZlcl9yZWNvbm5lY3Qoc3RydWN0IHZpcnRpb191c2VyX2Rl diAqZGV2KQ0KPiANCj4gIAlpZiAoZGV2LT5kZXZpY2VfZmVhdHVyZXMgJg0KPiAgCQkJKDFVTEwg PDwgVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZFQVRVUkVTKSkgew0KPiAtCQlpZiAoZGV2LT5vcHMt PnNlbmRfcmVxdWVzdChkZXYsDQo+IC0JCQkJCVZIT1NUX1VTRVJfR0VUX1BST1RPQ09MX0ZFQVRV UkVTLA0KPiAtCQkJCQkmcHJvdG9jb2xfZmVhdHVyZXMpKQ0KPiArCQlpZiAoZGV2LT5vcHMtPmdl dF9wcm90b2NvbF9mZWF0dXJlcyhkZXYsICZwcm90b2NvbF9mZWF0dXJlcykpDQo+ICAJCQlyZXR1 cm4gLTE7DQo+IA0KPiAgCQkvKiBPZmZlciBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfU1RBVFVTICov DQo+IC0JCWRldi0+cHJvdG9jb2xfZmVhdHVyZXMgfD0NCj4gLQkJCSgxVUxMIDw8IFZIT1NUX1VT RVJfUFJPVE9DT0xfRl9TVEFUVVMpOw0KPiArCQlkZXYtPnByb3RvY29sX2ZlYXR1cmVzIHw9ICgx VUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9TVEFUVVMpOw0KPiAgCQlkZXYtPnByb3RvY29s X2ZlYXR1cmVzICY9IHByb3RvY29sX2ZlYXR1cmVzOw0KPiANCj4gLQkJaWYgKGRldi0+b3BzLT5z ZW5kX3JlcXVlc3QoZGV2LA0KPiAtCQkJCQlWSE9TVF9VU0VSX1NFVF9QUk9UT0NPTF9GRUFUVVJF UywNCj4gLQkJCQkJJmRldi0+cHJvdG9jb2xfZmVhdHVyZXMpKQ0KPiArCQlpZiAoZGV2LT5vcHMt PnNldF9wcm90b2NvbF9mZWF0dXJlcyhkZXYsIGRldi0+cHJvdG9jb2xfZmVhdHVyZXMpKQ0KPiAg CQkJcmV0dXJuIC0xOw0KPiANCj4gLQkJaWYgKCEoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmDQo+ IC0JCQkJKDFVTEwgPDwgVkhPU1RfVVNFUl9QUk9UT0NPTF9GX01RKSkpDQo+ICsJCWlmICghKGRl di0+cHJvdG9jb2xfZmVhdHVyZXMgJiAoMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfTVEp KSkNCj4gIAkJCWRldi0+dW5zdXBwb3J0ZWRfZmVhdHVyZXMgfD0gKDF1bGwgPDwgVklSVElPX05F VF9GX01RKTsNCj4gIAl9DQo+IA0KPiAtLQ0KPiAyLjI5LjINCg0KUmV2aWV3ZWQtYnk6IENoZW5i byBYaWEgPGNoZW5iby54aWFAaW50ZWwuY29tPg0K