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 9442BA0A0A; Fri, 22 Jan 2021 08:27:40 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7BFFC140CF8; Fri, 22 Jan 2021 08:27:40 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 36EB6140CF7 for ; Fri, 22 Jan 2021 08:27:38 +0100 (CET) IronPort-SDR: epcSAAU50/tl04I4JMLFcgOMooQ2cv5Rqx1YshYPB+B5olVdmj4NETHDZWefi0IlLICSgWFQyH WfXq9vc0s5ZQ== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="176828270" X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="176828270" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2021 23:27:37 -0800 IronPort-SDR: bNWnIdBFjKZOsvZM8ipIvY93uyUwfZvhEPz4MolfEJUIuXRX3IbPj4d4+B2WEkrC8zq8S2xzHl 7Bx1Vsvq4rWA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="348178502" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga007.fm.intel.com with ESMTP; 21 Jan 2021 23:27:37 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 21 Jan 2021 23:27:36 -0800 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 21 Jan 2021 23:27:36 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 21 Jan 2021 23:27:36 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Thu, 21 Jan 2021 23:27:36 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aigtoYDxBp7KppVdl7nZInElb5nCfLwo1dtqu6woFfII7IcilUBMxfzkfyj9nnU943hdYCbGbtV5yyeapZj46O+HUy20V80CMcylhLTnfbd6lQhIiU+hnCvGAX9YkEWNtS0W/p7+l0oqIAp8EyA5XRF2fiNTvx3wa7Ia9c4RXkA1CWOPyUnRKKH/Vy2uq6EQ6SW9Me4ypmtYi34a9smzDywcvu/Ev4AWtWF9Ho6U/cMTYfWPfMtCj5bPF7OQ3f/6yU8GKj6pa5Hk9cgmJAWvD1WA8DJCnu9OIMoZ3rkGQF89MZMSgV+IPqi3hr76l4vlyD1A0VK2vMZ6tfDxjuEBBQ== 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=MpNpD4ASKYv0wz1cr+ak3ugwyFKmGGlS8G6pmhRAilA=; b=KgfNPhOJewP+UemI6ianoCzoWDS929et5Cop+JLQb+J7MBvWPCsIP88iIr+WYuNzwMg0kO0ea6SqtphAjVSiHK5u94ma3TWtdU9U+5yiJztk0eM+jBLEV9loFsCYMWABxqWX11jFto5Pt0YWNl7kTU43CWYIFG0GvrN/huEe3a6TNSluM5M5cNln2fjIzDzDZtpx8fPyytG9RCyiPkhG15G4v4LyyrRVGYwrsrPFLGFKXzLArYcSIUE+mnV5RqCksluNzKzPuYT0kI2tQ5fwj+y8L4e6AEIvKeJ1F4GlzaiLHZjVi+IjwHGNY9tGn5PHCr5b1PzVUXnbgIsjObp58g== 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=MpNpD4ASKYv0wz1cr+ak3ugwyFKmGGlS8G6pmhRAilA=; b=FtqoB9bL3s2WR49X71kykAgqxFz1o08YxzaOTMSmdW4l+AmOc1nziiboJKacufw3AchH6SB5E7a4Uzjk7I3iHV2q1lzV3H9S6huQwQUTWcl3nWJ0qUGX8jFqzyBBcXk+PQgLOYzGhqgqyj96a6DRNuCGMn/RENHce6EvmsUw5Aw= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4016.namprd11.prod.outlook.com (2603:10b6:208:155::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.13; Fri, 22 Jan 2021 07:27:35 +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 07:27:35 +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 28/44] net/virtio: add Virtio-user protocol features ops Thread-Index: AQHW7qoDXpUHWswdl0OfpJxHpG92AaozQo6A Date: Fri, 22 Jan 2021 07:27:35 +0000 Message-ID: References: <20210119212507.1043636-1-maxime.coquelin@redhat.com> <20210119212507.1043636-29-maxime.coquelin@redhat.com> In-Reply-To: <20210119212507.1043636-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.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 821a82f2-3f15-4e1d-5d0d-08d8bea7304f x-ms-traffictypediagnostic: MN2PR11MB4016: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:153; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: q+AwgyNJee/fRYABoQRa6FiERglfIJn9L67oM1psjU3YhmwxIvPveh3zVgZ7P9Y5IaDsrOsbisSyNd1nb1WfqBL/Qc3UGzYcF0eMq90lA7n2BxdVA+y4fsyuapVKj4HZxCB64XIO3+I5KI/glT6ppCmOM6KhW59vdvTNi36SdUoNwd6Bi2TMxK3E1vKkXRgbyKl2eUqcH1XrHpteyiZ8G55vWMbr/DwAd+NefHvphqsujEKCYtFzidGdhoXwE4Tduct4wCvlLvKC7BpQKwhNAFaF7lb1lOYJ9gkjnC/tBxcdlH5xaTFr5t+48ZDyxWlc9O009LMZl4o8wOBa+IhTDU5uWikBRXaUgCTiHjox955Njhr2adEjpFISyr/b9wPW0039qsj1J/JM53FjKuyocg== 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)(396003)(376002)(39860400002)(346002)(366004)(7696005)(33656002)(316002)(186003)(478600001)(8676002)(76116006)(66946007)(6506007)(66446008)(53546011)(64756008)(66556008)(66476007)(26005)(55016002)(5660300002)(110136005)(8936002)(2906002)(52536014)(86362001)(83380400001)(9686003)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?Vm1JUmRGMk1UakxDMXY2aE1SMWJWVHNvaXlRbC8vQlBhYkM4SXc0U2wwMTMw?= =?utf-8?B?a2hXY2pjMGRQZlpqOFUwMnlUakQ1VUF3cmZXUXdwdkhxNklTb0ZrZ1l1a2g3?= =?utf-8?B?bGxlOWN0c2RzTHJaUTBDTHQrYmM2ejF1U1lXMGlTeUdsdk50alAvOGpRdXJy?= =?utf-8?B?R3cwZTIxNFUxUWhYNlErUm8vd1FncERNS2lDRXJxc0N5NVU2VURmWHp1OUpL?= =?utf-8?B?Z08yMyt6a2w0U3ZONzdDNGlMZ0g2V1lsZTRvc05QcHRoRGt1UnNRVjVuOU5a?= =?utf-8?B?eUIzRW5NeTFNUlViK1BvKzBGTTZoc1Eyb1BydWtrZWRTUFRmZUNVY01TWlU4?= =?utf-8?B?QWRpT2Z0a2ZVWHRVRUZOb3JHMVlEamRreFFqWVNUSnQ2WTZ3WjNvRUV0VmZQ?= =?utf-8?B?NFRZV0RnR3VtTDZZTERiRzJHNkovRk1ZWEc3eUp5bjF1RXBnWExwL3ZpT1dC?= =?utf-8?B?b1NLREJWYW4xdGZvTGw1eHVPUG9KT0xOZjZKeHVXYlBhSGRyYlhnZUF3c28z?= =?utf-8?B?OUZxSUNQVDN5UmdoYVhGMzlsQTBvdEE0T29IVnlWS1grMU1JdnVFMjFEZ2dl?= =?utf-8?B?aks4R1pOeHNOeHd6cTVWb1BwYW5yMGdIeElkNjNzSWYrbHNYb0N2YlQvSW03?= =?utf-8?B?aVhoTkIrby93MUI5U1RIMG50eHlyVXlJNlo4UWovTXV3d0srY3dMZUpsS1Nu?= =?utf-8?B?OTZ6bjZET041YTg2ZmRaVWNBNHNJaFlRZWpxb01TN2VKaFF0cFdEUEV4cVJ0?= =?utf-8?B?WDZrdmRuS0hZT1kzeGRuVjZaVDM0US9uVktWemJXVnNvZzdaOFpORFgwMUh2?= =?utf-8?B?cE1RTjNvOG42ZDVDVlMzdjlucTdEbWEvemRWdno5bXR6bHIzaHYrTTlodSt5?= =?utf-8?B?cHF0b1gxNldmb3FId0tseDlyTUl3UlFuWU1NS2ZzN01FaHhSU2ZicVRwbkNB?= =?utf-8?B?WlRVZFdLN3l5eElZdjdFQUc4QUpWa3NMVm1rUm40dGVGbjZYQkF4alZxQkNJ?= =?utf-8?B?amxDUVBrRCtIdXJIaitYZzA3SWRGM1k2Z0FnekRJYmRoRlNuZmFwdGc4amRG?= =?utf-8?B?azNINUVraloxbVgweXREREhmR1ZEOEIvUzFYUVQ5Wnhva3RmbnFrR24xbC9s?= =?utf-8?B?V3ZWYVFXN0xLeHNPbzJwQjlKSElLSDBiYXpCUEtFRlNkeTFKbVZoTWRtVjBZ?= =?utf-8?B?RnJrNU1QRWJtNDljYThlaTBtOSt1TW5KQ2VqZjN5Y3lPbHZKMWRWckc2TDlx?= =?utf-8?B?eGlneDIzSWQraURsVk5kcElZa0lSamFSVzYzS2ErSmdwNWlyRHRoNVFLVjR1?= =?utf-8?Q?z06cuh2YG2mtA=3D?= 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: 821a82f2-3f15-4e1d-5d0d-08d8bea7304f X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 07:27:35.0959 (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: zIPOhHa4a9coIa/S/Kl7VVtr79Ciu0k69+kFwRx6IeEhDjhuFLR/YpvGHJGg/loSNALNCRzVT2/J7e9yhOyOOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4016 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 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" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFdlZG5lc2Rh eSwgSmFudWFyeSAyMCwgMjAyMSA1OjI1IEFNDQo+IFRvOiBkZXZAZHBkay5vcmc7IFhpYSwgQ2hl bmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47IG9saXZpZXIubWF0ekA2d2luZC5jb207DQo+IGFt b3Jlbm96QHJlZGhhdC5jb207IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20NCj4gQ2M6IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFN1YmplY3Q6IFtQQVRD SCB2MiAyOC80NF0gbmV0L3ZpcnRpbzogYWRkIFZpcnRpby11c2VyIHByb3RvY29sIGZlYXR1cmVz IG9wcw0KPiANCj4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIG5ldyBjYWxsYmFja3MgZm9yIGdldHRp bmcNCj4gYW5kIHNldHRpbmcgVmhvc3QtdXNlciBwcm90b2NvbCBmZWF0dXJlcy4NCj4gDQo+IFNp Z25lZC1vZmYtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+ DQo+IC0tLQ0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmggICAgICAg IHwgIDIgKw0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYyAg IHwgNjQgKysrKysrKysrKysrKysrKystLQ0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191 c2VyL3Zob3N0X3ZkcGEuYyAgIHwgMTQgKysrKw0KPiAgLi4uL25ldC92aXJ0aW8vdmlydGlvX3Vz ZXIvdmlydGlvX3VzZXJfZGV2LmMgIHwgMTQgKystLQ0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3Zp cnRpb191c2VyX2V0aGRldi5jICAgICAgIHwgMTQgKystLQ0KPiAgNSBmaWxlcyBjaGFuZ2VkLCA4 MiBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fdXNlci92aG9zdC5oDQo+IGluZGV4IDEzYTg4Yzc2NzEuLmQ4MDU1MjYxMzAgMTAw NjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oDQo+ICsr KyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oDQo+IEBAIC0xMTIsNiAr MTEyLDggQEAgc3RydWN0IHZpcnRpb191c2VyX2JhY2tlbmRfb3BzIHsNCj4gIAlpbnQgKCpzZXRf b3duZXIpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldik7DQo+ICAJaW50ICgqZ2V0X2ZlYXR1 cmVzKShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ2NF90ICpmZWF0dXJlcyk7DQo+ ICAJaW50ICgqc2V0X2ZlYXR1cmVzKShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ2 NF90IGZlYXR1cmVzKTsNCj4gKwlpbnQgKCpnZXRfcHJvdG9jb2xfZmVhdHVyZXMpKHN0cnVjdCB2 aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDY0X3QNCj4gKmZlYXR1cmVzKTsNCj4gKwlpbnQgKCpz ZXRfcHJvdG9jb2xfZmVhdHVyZXMpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDY0 X3QNCj4gZmVhdHVyZXMpOw0KPiAgCWludCAoKnNlbmRfcmVxdWVzdCkoc3RydWN0IHZpcnRpb191 c2VyX2RldiAqZGV2LA0KPiAgCQkJICAgIGVudW0gdmhvc3RfdXNlcl9yZXF1ZXN0IHJlcSwNCj4g IAkJCSAgICB2b2lkICphcmcpOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3Zp cnRpb191c2VyL3Zob3N0X3VzZXIuYw0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNl ci92aG9zdF91c2VyLmMNCj4gaW5kZXggOGU1YmYzMzJkNi4uNDg3NzU3NGY3MiAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYw0KPiArKysg Yi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jDQo+IEBAIC0yMDEs NiArMjAxLDYyIEBAIHZob3N0X3VzZXJfc2V0X2ZlYXR1cmVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9k ZXYgKmRldiwNCj4gdWludDY0X3QgZmVhdHVyZXMpDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IA0K PiArc3RhdGljIGludA0KPiArdmhvc3RfdXNlcl9nZXRfcHJvdG9jb2xfZmVhdHVyZXMoc3RydWN0 IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50NjRfdA0KPiAqZmVhdHVyZXMpDQo+ICt7DQo+ICsJ aW50IHJldDsNCj4gKwlzdHJ1Y3Qgdmhvc3RfdXNlcl9tc2cgbXNnID0gew0KPiArCQkucmVxdWVz dCA9IFZIT1NUX1VTRVJfR0VUX1BST1RPQ09MX0ZFQVRVUkVTLA0KPiArCQkuZmxhZ3MgPSBWSE9T VF9VU0VSX1ZFUlNJT04sDQo+ICsJfTsNCj4gKw0KPiArCXJldCA9IHZob3N0X3VzZXJfd3JpdGUo ZGV2LT52aG9zdGZkLCAmbXNnLCBOVUxMLCAwKTsNCj4gKwlpZiAocmV0IDwgMCkNCj4gKwkJZ290 byBlcnI7DQo+ICsNCj4gKwlyZXQgPSB2aG9zdF91c2VyX3JlYWQoZGV2LT52aG9zdGZkLCAmbXNn KTsNCj4gKwlpZiAocmV0IDwgMCkNCj4gKwkJZ290byBlcnI7DQoNCkJldHRlciBhZGQgZXJyb3Ig bG9nIGJvdGggYWZ0ZXIgd3JpdGUgYW5kIHJlYWQ/DQoNClRoYW5rcw0KQ2hlbmJvDQoNCj4gKw0K PiArCWlmIChtc2cucmVxdWVzdCAhPSBWSE9TVF9VU0VSX0dFVF9QUk9UT0NPTF9GRUFUVVJFUykg ew0KPiArCQlQTURfRFJWX0xPRyhFUlIsICJVbmV4cGVjdGVkIHJlcXVlc3QgdHlwZSAoJWQpIiwg bXNnLnJlcXVlc3QpOw0KPiArCQlnb3RvIGVycjsNCj4gKwl9DQo+ICsNCj4gKwlpZiAobXNnLnNp emUgIT0gc2l6ZW9mKCpmZWF0dXJlcykpIHsNCj4gKwkJUE1EX0RSVl9MT0coRVJSLCAiVW5leHBl Y3RlZCBwYXlsb2FkIHNpemUgKCV1KSIsIG1zZy5zaXplKTsNCj4gKwkJZ290byBlcnI7DQo+ICsJ fQ0KPiArDQo+ICsJKmZlYXR1cmVzID0gbXNnLnBheWxvYWQudTY0Ow0KPiArDQo+ICsJcmV0dXJu IDA7DQo+ICtlcnI6DQo+ICsJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGdldCBiYWNrZW5k IHByb3RvY29sIGZlYXR1cmVzIik7DQo+ICsNCj4gKwlyZXR1cm4gLTE7DQo+ICt9DQo+ICsNCj4g K3N0YXRpYyBpbnQNCj4gK3Zob3N0X3VzZXJfc2V0X3Byb3RvY29sX2ZlYXR1cmVzKHN0cnVjdCB2 aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDY0X3QNCj4gZmVhdHVyZXMpDQo+ICt7DQo+ICsJaW50 IHJldDsNCj4gKwlzdHJ1Y3Qgdmhvc3RfdXNlcl9tc2cgbXNnID0gew0KPiArCQkucmVxdWVzdCA9 IFZIT1NUX1VTRVJfU0VUX1BST1RPQ09MX0ZFQVRVUkVTLA0KPiArCQkuZmxhZ3MgPSBWSE9TVF9V U0VSX1ZFUlNJT04sDQo+ICsJCS5zaXplID0gc2l6ZW9mKGZlYXR1cmVzKSwNCj4gKwkJLnBheWxv YWQudTY0ID0gZmVhdHVyZXMsDQo+ICsJfTsNCj4gKw0KPiArCXJldCA9IHZob3N0X3VzZXJfd3Jp dGUoZGV2LT52aG9zdGZkLCAmbXNnLCBOVUxMLCAwKTsNCj4gKwlpZiAocmV0IDwgMCkgew0KPiAr CQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gc2V0IHByb3RvY29sIGZlYXR1cmVzIik7DQo+ ICsJCXJldHVybiAtMTsNCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAg c3RydWN0IHdhbGtfYXJnIHsNCj4gIAlzdHJ1Y3Qgdmhvc3RfbWVtb3J5ICp2bTsNCj4gIAlpbnQg KmZkczsNCj4gQEAgLTMxNSw4ICszNzEsNiBAQCBjb25zdCBjaGFyICogY29uc3Qgdmhvc3RfbXNn X3N0cmluZ3NbXSA9IHsNCj4gIAlbVkhPU1RfVVNFUl9TRVRfVlJJTkdfS0lDS10gPSAiVkhPU1Rf U0VUX1ZSSU5HX0tJQ0siLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9NRU1fVEFCTEVdID0gIlZIT1NU X1NFVF9NRU1fVEFCTEUiLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9WUklOR19FTkFCTEVdID0gIlZI T1NUX1NFVF9WUklOR19FTkFCTEUiLA0KPiAtCVtWSE9TVF9VU0VSX0dFVF9QUk9UT0NPTF9GRUFU VVJFU10gPSAiVkhPU1RfVVNFUl9HRVRfUFJPVE9DT0xfRkVBVFVSRVMiLA0KPiAtCVtWSE9TVF9V U0VSX1NFVF9QUk9UT0NPTF9GRUFUVVJFU10gPSAiVkhPU1RfVVNFUl9TRVRfUFJPVE9DT0xfRkVB VFVSRVMiLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9TVEFUVVNdID0gIlZIT1NUX1NFVF9TVEFUVVMi LA0KPiAgCVtWSE9TVF9VU0VSX0dFVF9TVEFUVVNdID0gIlZIT1NUX0dFVF9TVEFUVVMiLA0KPiAg fTsNCj4gQEAgLTM1NCw4ICs0MDgsNiBAQCB2aG9zdF91c2VyX3NvY2soc3RydWN0IHZpcnRpb191 c2VyX2RldiAqZGV2LA0KPiAgCQkgICAgKCEoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmDQo+ICAJ CQkJKDFVTEwgPDwgVkhPU1RfVVNFUl9QUk9UT0NPTF9GX1NUQVRVUykpKSkNCj4gIAkJCXJldHVy biAtRU5PVFNVUDsNCj4gLQkJLyogRmFsbHRocm91Z2ggKi8NCj4gLQljYXNlIFZIT1NUX1VTRVJf R0VUX1BST1RPQ09MX0ZFQVRVUkVTOg0KPiAgCQluZWVkX3JlcGx5ID0gMTsNCj4gIAkJYnJlYWs7 DQo+IA0KPiBAQCAtMzY4LDcgKzQyMCw2IEBAIHZob3N0X3VzZXJfc29jayhzdHJ1Y3QgdmlydGlv X3VzZXJfZGV2ICpkZXYsDQo+ICAJCWlmIChoYXNfcmVwbHlfYWNrKQ0KPiAgCQkJbXNnLmZsYWdz IHw9IFZIT1NUX1VTRVJfTkVFRF9SRVBMWV9NQVNLOw0KPiAgCQkvKiBGYWxsdGhyb3VnaCAqLw0K PiAtCWNhc2UgVkhPU1RfVVNFUl9TRVRfUFJPVE9DT0xfRkVBVFVSRVM6DQo+ICAJY2FzZSBWSE9T VF9VU0VSX1NFVF9MT0dfQkFTRToNCj4gIAkJbXNnLnBheWxvYWQudTY0ID0gKigoX191NjQgKilh cmcpOw0KPiAgCQltc2cuc2l6ZSA9IHNpemVvZihtLnBheWxvYWQudTY0KTsNCj4gQEAgLTQ1NCw3 ICs1MDUsNiBAQCB2aG9zdF91c2VyX3NvY2soc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0K PiANCj4gIAkJc3dpdGNoIChyZXEpIHsNCj4gIAkJY2FzZSBWSE9TVF9VU0VSX0dFVF9TVEFUVVM6 DQo+IC0JCWNhc2UgVkhPU1RfVVNFUl9HRVRfUFJPVE9DT0xfRkVBVFVSRVM6DQo+ICAJCQlpZiAo bXNnLnNpemUgIT0gc2l6ZW9mKG0ucGF5bG9hZC51NjQpKSB7DQo+ICAJCQkJUE1EX0RSVl9MT0co RVJSLCAiUmVjZWl2ZWQgYmFkIG1zZyBzaXplIik7DQo+ICAJCQkJcmV0dXJuIC0xOw0KPiBAQCAt NTkyLDYgKzY0Miw4IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB2aXJ0aW9fb3Bz X3VzZXIgPSB7DQo+ICAJLnNldF9vd25lciA9IHZob3N0X3VzZXJfc2V0X293bmVyLA0KPiAgCS5n ZXRfZmVhdHVyZXMgPSB2aG9zdF91c2VyX2dldF9mZWF0dXJlcywNCj4gIAkuc2V0X2ZlYXR1cmVz ID0gdmhvc3RfdXNlcl9zZXRfZmVhdHVyZXMsDQo+ICsJLmdldF9wcm90b2NvbF9mZWF0dXJlcyA9 IHZob3N0X3VzZXJfZ2V0X3Byb3RvY29sX2ZlYXR1cmVzLA0KPiArCS5zZXRfcHJvdG9jb2xfZmVh dHVyZXMgPSB2aG9zdF91c2VyX3NldF9wcm90b2NvbF9mZWF0dXJlcywNCj4gIAkuc2VuZF9yZXF1 ZXN0ID0gdmhvc3RfdXNlcl9zb2NrLA0KPiAgCS5lbmFibGVfcXAgPSB2aG9zdF91c2VyX2VuYWJs ZV9xdWV1ZV9wYWlyDQo+ICB9Ow0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3Zp cnRpb191c2VyL3Zob3N0X3ZkcGEuYw0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNl ci92aG9zdF92ZHBhLmMNCj4gaW5kZXggMjJhMzI5NTI2YS4uZjYyN2FmYmNmYyAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYw0KPiArKysg Yi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+IEBAIC0xMDUs NiArMTA1LDE4IEBAIHZob3N0X3ZkcGFfc2V0X293bmVyKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYg KmRldikNCj4gIAlyZXR1cm4gdmhvc3RfdmRwYV9pb2N0bChkZXYtPnZob3N0ZmQsIFZIT1NUX1NF VF9PV05FUiwgTlVMTCk7DQo+ICB9DQo+IA0KPiArc3RhdGljIGludA0KPiArdmhvc3RfdmRwYV9n ZXRfYmFja2VuZF9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ2NF90 DQo+ICpmZWF0dXJlcykNCj4gK3sNCj4gKwlyZXR1cm4gdmhvc3RfdmRwYV9pb2N0bChkZXYtPnZo b3N0ZmQsIFZIT1NUX0dFVF9CQUNLRU5EX0ZFQVRVUkVTLA0KPiBmZWF0dXJlcyk7DQo+ICt9DQo+ ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X3ZkcGFfc2V0X2JhY2tlbmRfZmVhdHVyZXMoc3Ry dWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50NjRfdA0KPiBmZWF0dXJlcykNCj4gK3sNCj4g KwlyZXR1cm4gdmhvc3RfdmRwYV9pb2N0bChkZXYtPnZob3N0ZmQsIFZIT1NUX1NFVF9CQUNLRU5E X0ZFQVRVUkVTLA0KPiAmZmVhdHVyZXMpOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgaW50DQo+ICB2 aG9zdF92ZHBhX2dldF9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ2 NF90ICpmZWF0dXJlcykNCj4gIHsNCj4gQEAgLTQ0Nyw2ICs0NTksOCBAQCBzdHJ1Y3QgdmlydGlv X3VzZXJfYmFja2VuZF9vcHMgdmlydGlvX29wc192ZHBhID0gew0KPiAgCS5zZXRfb3duZXIgPSB2 aG9zdF92ZHBhX3NldF9vd25lciwNCj4gIAkuZ2V0X2ZlYXR1cmVzID0gdmhvc3RfdmRwYV9nZXRf ZmVhdHVyZXMsDQo+ICAJLnNldF9mZWF0dXJlcyA9IHZob3N0X3ZkcGFfc2V0X2ZlYXR1cmVzLA0K PiArCS5nZXRfcHJvdG9jb2xfZmVhdHVyZXMgPSB2aG9zdF92ZHBhX2dldF9iYWNrZW5kX2ZlYXR1 cmVzLA0KPiArCS5zZXRfcHJvdG9jb2xfZmVhdHVyZXMgPSB2aG9zdF92ZHBhX3NldF9iYWNrZW5k X2ZlYXR1cmVzLA0KPiAgCS5zZW5kX3JlcXVlc3QgPSB2aG9zdF92ZHBhX3NlbmRfcmVxdWVzdCwN Cj4gIAkuZW5hYmxlX3FwID0gdmhvc3RfdmRwYV9lbmFibGVfcXVldWVfcGFpciwNCj4gIAkuZG1h X21hcCA9IHZob3N0X3ZkcGFfZG1hX21hcF9iYXRjaCwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0KPiBiL2RyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0KPiBpbmRleCAxZjNiYmFlNjYz Li40NTQxN2JiYzVkIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3Vz ZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191 c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+IEBAIC01MDUsMjIgKzUwNSwxNiBAQCB2aXJ0aW9fdXNl cl9kZXZfaW5pdChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIGNoYXINCj4gKnBhdGgsIGlu dCBxdWV1ZXMsDQo+IA0KPiAgCQlpZiAoKGRldi0+ZGV2aWNlX2ZlYXR1cmVzICYgKDFVTEwgPDwN Cj4gVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZFQVRVUkVTKSkgfHwNCj4gIAkJCQkoZGV2LT5iYWNr ZW5kX3R5cGUgPT0gVklSVElPX1VTRVJfQkFDS0VORF9WSE9TVF9WRFBBKSkNCj4gew0KPiAtCQkJ aWYgKGRldi0+b3BzLT5zZW5kX3JlcXVlc3QoZGV2LA0KPiAtCQkJCQlWSE9TVF9VU0VSX0dFVF9Q Uk9UT0NPTF9GRUFUVVJFUywNCj4gLQkJCQkJJnByb3RvY29sX2ZlYXR1cmVzKSkNCj4gKwkJCWlm IChkZXYtPm9wcy0+Z2V0X3Byb3RvY29sX2ZlYXR1cmVzKGRldiwgJnByb3RvY29sX2ZlYXR1cmVz KSkNCj4gIAkJCQlyZXR1cm4gLTE7DQo+IA0KPiAgCQkJZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAm PSBwcm90b2NvbF9mZWF0dXJlczsNCj4gDQo+IC0JCQlpZiAoZGV2LT5vcHMtPnNlbmRfcmVxdWVz dChkZXYsDQo+IC0JCQkJCVZIT1NUX1VTRVJfU0VUX1BST1RPQ09MX0ZFQVRVUkVTLA0KPiAtCQkJ CQkmZGV2LT5wcm90b2NvbF9mZWF0dXJlcykpDQo+ICsJCQlpZiAoZGV2LT5vcHMtPnNldF9wcm90 b2NvbF9mZWF0dXJlcyhkZXYsIGRldi0NCj4gPnByb3RvY29sX2ZlYXR1cmVzKSkNCj4gIAkJCQly ZXR1cm4gLTE7DQo+IA0KPiAtCQkJaWYgKCEoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmDQo+IC0J CQkJCSgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9NUSkpKQ0KPiAtCQkJCWRldi0+dW5z dXBwb3J0ZWRfZmVhdHVyZXMgfD0NCj4gLQkJCQkJKDF1bGwgPDwgVklSVElPX05FVF9GX01RKTsN Cj4gKwkJCWlmICghKGRldi0+cHJvdG9jb2xfZmVhdHVyZXMgJiAoMVVMTCA8PA0KPiBWSE9TVF9V U0VSX1BST1RPQ09MX0ZfTVEpKSkNCj4gKwkJCQlkZXYtPnVuc3VwcG9ydGVkX2ZlYXR1cmVzIHw9 ICgxdWxsIDw8IFZJUlRJT19ORVRfRl9NUSk7DQo+ICAJCX0NCj4gIAl9IGVsc2Ugew0KPiAgCQkv KiBXZSBqdXN0IHByZXRlbmQgdmhvc3QtdXNlciBjYW4gc3VwcG9ydCBhbGwgdGhlc2UgZmVhdHVy ZXMuDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2 LmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMNCj4gaW5kZXgg NTZjMzc5YmMxNS4uNWUyNTZmNGU2ZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRpb191c2VyX2V0aGRldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9f dXNlcl9ldGhkZXYuYw0KPiBAQCAtOTMsMjMgKzkzLDE3IEBAIHZpcnRpb191c2VyX3NlcnZlcl9y ZWNvbm5lY3Qoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiANCj4gIAlpZiAoZGV2LT5k ZXZpY2VfZmVhdHVyZXMgJg0KPiAgCQkJKDFVTEwgPDwgVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZF QVRVUkVTKSkgew0KPiAtCQlpZiAoZGV2LT5vcHMtPnNlbmRfcmVxdWVzdChkZXYsDQo+IC0JCQkJ CVZIT1NUX1VTRVJfR0VUX1BST1RPQ09MX0ZFQVRVUkVTLA0KPiAtCQkJCQkmcHJvdG9jb2xfZmVh dHVyZXMpKQ0KPiArCQlpZiAoZGV2LT5vcHMtPmdldF9wcm90b2NvbF9mZWF0dXJlcyhkZXYsICZw cm90b2NvbF9mZWF0dXJlcykpDQo+ICAJCQlyZXR1cm4gLTE7DQo+IA0KPiAgCQkvKiBPZmZlciBW SE9TVF9VU0VSX1BST1RPQ09MX0ZfU1RBVFVTICovDQo+IC0JCWRldi0+cHJvdG9jb2xfZmVhdHVy ZXMgfD0NCj4gLQkJCSgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9TVEFUVVMpOw0KPiAr CQlkZXYtPnByb3RvY29sX2ZlYXR1cmVzIHw9ICgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xf Rl9TVEFUVVMpOw0KPiAgCQlkZXYtPnByb3RvY29sX2ZlYXR1cmVzICY9IHByb3RvY29sX2ZlYXR1 cmVzOw0KPiANCj4gLQkJaWYgKGRldi0+b3BzLT5zZW5kX3JlcXVlc3QoZGV2LA0KPiAtCQkJCQlW SE9TVF9VU0VSX1NFVF9QUk9UT0NPTF9GRUFUVVJFUywNCj4gLQkJCQkJJmRldi0+cHJvdG9jb2xf ZmVhdHVyZXMpKQ0KPiArCQlpZiAoZGV2LT5vcHMtPnNldF9wcm90b2NvbF9mZWF0dXJlcyhkZXYs IGRldi0+cHJvdG9jb2xfZmVhdHVyZXMpKQ0KPiAgCQkJcmV0dXJuIC0xOw0KPiANCj4gLQkJaWYg KCEoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmDQo+IC0JCQkJKDFVTEwgPDwgVkhPU1RfVVNFUl9Q Uk9UT0NPTF9GX01RKSkpDQo+ICsJCWlmICghKGRldi0+cHJvdG9jb2xfZmVhdHVyZXMgJiAoMVVM TCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfTVEpKSkNCj4gIAkJCWRldi0+dW5zdXBwb3J0ZWRf ZmVhdHVyZXMgfD0gKDF1bGwgPDwgVklSVElPX05FVF9GX01RKTsNCj4gIAl9DQo+IA0KPiAtLQ0K PiAyLjI5LjINCg0K