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 4EFA1A0A0A; Fri, 22 Jan 2021 09:10:44 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 609D9140DA5; Fri, 22 Jan 2021 09:10:38 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 7C464140D47 for ; Fri, 22 Jan 2021 09:10:36 +0100 (CET) IronPort-SDR: M3dRe5e98yhNaGpmXJ+cN/kikCg/c+dmr04dp4Tp5mYZmjoyIdy7hFOu/ZEbePMKevTKybze+H AUSUXi2VPJdA== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="175896806" X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="175896806" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jan 2021 00:10:35 -0800 IronPort-SDR: duKmLdbNX2NRS7TBr5sPiGcrgIMuTR1qHnkFDMXHettIsystrFAdX4VwN9GR5v8TdaP43ChqTf J1FylCrrXR9Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="385663647" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga008.jf.intel.com with ESMTP; 22 Jan 2021 00:10:30 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) 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:10:29 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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 via Frontend Transport; Fri, 22 Jan 2021 00:10:29 -0800 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.42) by edgegateway.intel.com (192.55.55.68) 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:10:29 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eFdfLy6HIf68sBlYVy76GdKpI+Btif+EdEGSFkW/W50F2JUvEnBgUxmyLDDh1qkWywO3qoWGOOu8vRJqLOnjZDuufPkViONYDGi7RvfiRDPEVBF+zrOPViE98U96EEAXkkRjamzranzD+T/HYdQXWy/IJn+MRbFuPud8N32fhsd7W5Fz+MlNHBWUlnZTsL2Be7traTpwrsmeo/IIzJIjpz3vyCUOzxa67vYkRO8GZAq06hw+lpanVuYm9IZMlLXyAW8XVYab+Olf+q5pyAm1jRCyHZ95Q/Nx5jvI4cSxUNUUF92XwMA+h+Vq0utMznaFAfZA3nfM6xIXOcS+NExxng== 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=OC90pUyfPfGpEHxIOszeJ3Sbj/gkT1aqExHWsdybf5U=; b=B00/R57tDqtOUupNqpnbcp1x3X1RzGHkT+EkDmQF+anBgkwy8BpiYTK4ag1w6WQJ6eEUAyaSUnDN6e+jt3SBSX2A5gQGFe2HaLNjvC3YEIX/YF5Mw11bCna7y2FI4eOuDjazRztboK5/ZbzyLwraBsPAFfm01eu8vot4J8x8nTPwbQ7unf2VjXmQ2RHUocUu86a4OU+gnkuYBhERj/IQjOC1ILfmD0jd8nXRBv2sXxyMcvcq5vwfBo/cEIwjColAvY4iM9gr3dCMvChh+8lQIlhIQIwZrLBqEaGOsTH25unt924cbKt/eQgAseB3i5V+gwGPG06Z4kXNTMsTlqmEjw== 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=OC90pUyfPfGpEHxIOszeJ3Sbj/gkT1aqExHWsdybf5U=; b=UaE0z2vNE4UkzSiBrhWSJfBu72xdmvSTTl6/6+RY64ciCW7RE3DAg7/DSqEI3FXVV8aH11LCRmip0WWuDOxZnoWpMy3Fydbp4txg6HfiPYcBMeGenxfVdQbWrKfAE4b0xcpHLI6FMP+vBktpT7d5OaH2xTnTrqWm1hzOMLshyaY= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3869.namprd11.prod.outlook.com (2603:10b6:208:138::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.12; Fri, 22 Jan 2021 08:10:28 +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:10:28 +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 34/44] net/virtio: remove useless request ops Thread-Index: AQHW7qn+XbiClqFkR0a2XrIcjHzKO6ozTLYQ Date: Fri, 22 Jan 2021 08:10:28 +0000 Message-ID: References: <20210119212507.1043636-1-maxime.coquelin@redhat.com> <20210119212507.1043636-35-maxime.coquelin@redhat.com> In-Reply-To: <20210119212507.1043636-35-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: d1037ba0-4e9d-4eda-bd21-08d8bead2de1 x-ms-traffictypediagnostic: MN2PR11MB3869: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:341; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GNPZ8qyZbOHfgplTX+Qu/fuyusZA8jG5xfwEkUI9ZOBPyhdYNcYQ6owT3X+5OhE09TwJ9vc+TbfZagzQSCyWvcbhmLl/C5YVejHQk3UWKGAGT8tx6shroBKj+5UTJLgOy7g64NQJZtqgJY2qNEpaYWQ+dGQzI9OfwGSo53vXsuCQu6maTTu43GtJMclnkTXLh21GxwZs2NWXXkO0zRah3N0oaxMitlzuY2WWaj6vwlERUSTQgt+63PJ31F0OxWF1BWE/kUyAWJXkw3Rg5B5iaiuNXvx9C69F1V1W7MPcQ8CD1pIIIM9ivJz2Ak3Dw6pRT5joYZ6WvqCimTTv0QEPC3sIFLa8O0fHWFnyTGQbCNUi4KALnDHrZm1QAtkVU0lo4F5VB4UhHCyxk+xJLnr29tv+z+jRBznosnUzmY5aUknU9NemIy6FekrMqwDMe71oLWfDGIlwt/g7msbWdYSS2J09FA5cBQovJbvgs/4RFyxd5AC9XA63WJRtvhpLYvkYLNqH6XlFngcc7LUjhZAHhw== 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)(376002)(366004)(39860400002)(346002)(136003)(33656002)(52536014)(83380400001)(86362001)(6506007)(53546011)(26005)(5660300002)(478600001)(9686003)(8936002)(55016002)(8676002)(76116006)(71200400001)(186003)(316002)(110136005)(7696005)(66476007)(66446008)(66556008)(2906002)(66946007)(64756008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?MDFMOTkrUmpQdUUvbUV1Yk9QOWwwcWtKTXMwQmljaEhMYXpvWTdIQnpsM2RY?= =?utf-8?B?eGd3RVREUjg3VnBaZkl4SE9SMHFENWlVaWVCYUljaWZvcjE2RTBDL0pLSFla?= =?utf-8?B?WW1rZDZkdHJ4eldvU0FPbjdheUtIeHFjNXlxbGxDSEJSUWwvMlRBSTFvejE0?= =?utf-8?B?VkN0R05GSVlSQUpleExkUmU2UnI2V0V2MFBhVU9tVU1Cd2dqNk1IMGt3S0FO?= =?utf-8?B?Z1FEY1pGc1RHYW45RFpiMzd4MHE3c1M2ZWY0a1dvSUdQOUNZZEVPL2dUbnBJ?= =?utf-8?B?alo4VFpGelVIMDhpalhZNmdYRnRZeGtackcrQkUxSU9ycjZDSDlIdVVZM0hJ?= =?utf-8?B?L29qZlRGNDJJa1dmeEhiYmJJL2FKcUg1eTJLT1Z2NnUwamtGTHNoeDlPTjQx?= =?utf-8?B?dE5JYjllSHNSYzJGdlRKTmFhL001MmVrczFHQUxucmhTR0RoY3NwUDFDMVNP?= =?utf-8?B?dDRtdjBCRXVmNENRa0ltbzhqVmdFOTBQSXZmUGhJRFZqYWk2RUxwSjZmSWhQ?= =?utf-8?B?R2Y4SFdkR1BUWXpnaHVHSldQK3FaZjFoczJGUHFNWE9pTWhCMENDenFONWl1?= =?utf-8?B?ai85b2tLeU1PbE5Na1JOd1M1TUJ3VjUwUjVIVG5GRkFSSUFWM1JpMFBhNFBJ?= =?utf-8?B?VDFRekJOYmd6Nk4zY3hTaytsdHNFaUFpRmhtV1dwU3JDdnRGS2NlZWF0T3Zt?= =?utf-8?B?Sksrb1o3VlQ1Vi8zOURzWmtLSHVOY0JnZHFQWko5dlNIYXNIVFEzUzJtanRO?= =?utf-8?B?ZEZqNFFBem56Nm9IWWNhNU5OUUxJWHhSN1FiZzV2bmxzZUppWjhyWlMyT1ZX?= =?utf-8?B?Wm1ESnRsQ3dBQ0V5cThSWllnVms1aWpDRWVydisreXFQTjZIU3hzSktBV29p?= =?utf-8?B?SHFrRXpSSmozQS9ZaFhuRTMwaG0yUzVQeUVrZW1sbEVsODQvT3ZLWEdMVzVs?= =?utf-8?B?NXR0anJwbW42NVJBYWdTRGRxcXBWT0VKVU4yMHBNV2dyOUNCQkJYcVZwMzZH?= =?utf-8?B?SGtnY3ZsWXMvcUkwaFdwMjFnMXdBbmJmOTlES3QrWXdXOHIyc1JwbG9YTE50?= =?utf-8?B?am53QWZFeFFRNGRpQkRCT04vQUlSZ0p5bVorbjNMMGJGTXdBQkNJU2JWdmhi?= =?utf-8?B?WVY3dzJhQVR2SnNWSGVUUUFWMURGUHA4bjBmZno0K3h4SUpTM1Npd1YwYW8z?= =?utf-8?B?N0lTRFhLRU1YZDhIMnVoODZoQmFESGVXK3F3ajY2ajkwY2c3Q3ZKSlhYN0FB?= =?utf-8?B?RUNSN1hUSHliSkI2SmlIZjNFNTVrSVRQemhseW1WYXQwbEtTRlZpalVpdnlH?= =?utf-8?Q?EKbUWoo9nT0R0=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: d1037ba0-4e9d-4eda-bd21-08d8bead2de1 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 08:10:28.0334 (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: Y/zojUTu2kC2rVNFxVse46bvIKIkN5iLWI8D2uX25A8pgg9lj3ubrSFXh94Rvh33I4Qci65kT7iObyfQWpFt+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3869 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 34/44] net/virtio: remove useless request 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 eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMjAs IDIwMjEgNToyNSBBTQ0KPiBUbzogZGV2QGRwZGsub3JnOyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhp YUBpbnRlbC5jb20+OyBvbGl2aWVyLm1hdHpANndpbmQuY29tOw0KPiBhbW9yZW5vekByZWRoYXQu Y29tOyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tDQo+IENjOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjIgMzQvNDRdIG5l dC92aXJ0aW86IHJlbW92ZSB1c2VsZXNzIHJlcXVlc3Qgb3BzDQo+IA0KPiBOb3cgdGhhdCBhbGwg dGhlIG9wcyBoYXZlIGJlZW4gaW1wbGVtZW50ZWQsIHdlDQo+IGNhbiByZW1vdmUgdGhlIHNlbmRf cmVxdWVzdCBvcHMgZm9yIGFsbCBiYWNrZW5kcy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IC0tLQ0KPiAgZHJpdmVy cy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmggICAgICAgIHwgIDE1ICstLQ0KPiAgZHJp dmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X2tlcm5lbC5jIHwgIDQzIC0tLS0tLS0t DQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jICAgfCAxMDIg LS0tLS0tLS0tLS0tLS0tLS0tDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhv c3RfdmRwYS5jICAgfCAgNDkgLS0tLS0tLS0tDQo+ICA0IGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKSwgMjA2IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRp b191c2VyL3Zob3N0LmgNCj4gaW5kZXggYzg5NmYwODM2ZC4uNjI5NGI4YWZlZSAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmgNCj4gKysrIGIvZHJp dmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmgNCj4gQEAgLTk2LDggKzk2LDYgQEAg ZW51bSB2aG9zdF91c2VyX3JlcXVlc3Qgew0KPiAgI2RlZmluZSBWSE9TVF9CQUNLRU5EX0ZfSU9U TEJfQkFUQ0ggMg0KPiAgI2VuZGlmDQo+IA0KPiAtZXh0ZXJuIGNvbnN0IGNoYXIgKiBjb25zdCB2 aG9zdF9tc2dfc3RyaW5nc1tWSE9TVF9VU0VSX01BWF07DQo+IC0NCj4gIHN0cnVjdCB2aG9zdF9t ZW1vcnlfcmVnaW9uIHsNCj4gIAl1aW50NjRfdCBndWVzdF9waHlzX2FkZHI7DQo+ICAJdWludDY0 X3QgbWVtb3J5X3NpemU7IC8qIGJ5dGVzICovDQo+IEBAIC0xMjMsMTYgKzEyMSw5IEBAIHN0cnVj dCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB7DQo+ICAJaW50ICgqc2V0X3ZyaW5nX2FkZHIpKHN0 cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgc3RydWN0DQo+IHZob3N0X3ZyaW5nX2FkZHIgKmFk ZHIpOw0KPiAgCWludCAoKmdldF9zdGF0dXMpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwg dWludDhfdCAqc3RhdHVzKTsNCj4gIAlpbnQgKCpzZXRfc3RhdHVzKShzdHJ1Y3QgdmlydGlvX3Vz ZXJfZGV2ICpkZXYsIHVpbnQ4X3Qgc3RhdHVzKTsNCj4gLQlpbnQgKCpzZW5kX3JlcXVlc3QpKHN0 cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gLQkJCSAgICBlbnVtIHZob3N0X3VzZXJfcmVx dWVzdCByZXEsDQo+IC0JCQkgICAgdm9pZCAqYXJnKTsNCj4gLQlpbnQgKCplbmFibGVfcXApKHN0 cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gLQkJCSB1aW50MTZfdCBwYWlyX2lkeCwNCj4g LQkJCSBpbnQgZW5hYmxlKTsNCj4gLQlpbnQgKCpkbWFfbWFwKShzdHJ1Y3QgdmlydGlvX3VzZXJf ZGV2ICpkZXYsIHZvaWQgKmFkZHIsDQo+IC0JCQkJICB1aW50NjRfdCBpb3ZhLCBzaXplX3QgbGVu KTsNCj4gLQlpbnQgKCpkbWFfdW5tYXApKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdm9p ZCAqYWRkciwNCj4gLQkJCQkgIHVpbnQ2NF90IGlvdmEsIHNpemVfdCBsZW4pOw0KPiArCWludCAo KmVuYWJsZV9xcCkoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50MTZfdCBwYWlyX2lk eCwgaW50DQo+IGVuYWJsZSk7DQo+ICsJaW50ICgqZG1hX21hcCkoc3RydWN0IHZpcnRpb191c2Vy X2RldiAqZGV2LCB2b2lkICphZGRyLCB1aW50NjRfdCBpb3ZhLA0KPiBzaXplX3QgbGVuKTsNCj4g KwlpbnQgKCpkbWFfdW5tYXApKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdm9pZCAqYWRk ciwgdWludDY0X3QgaW92YSwNCj4gc2l6ZV90IGxlbik7DQo+ICB9Ow0KPiANCj4gIGV4dGVybiBz dHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmlydGlvX29wc191c2VyOw0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X2tlcm5lbC5jDQo+IGIv ZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X2tlcm5lbC5jDQo+IGluZGV4IGQ4 NTM1OGZjMzQuLjY4ZjBjMGI4M2QgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92 aXJ0aW9fdXNlci92aG9zdF9rZXJuZWwuYw0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3VzZXIvdmhvc3Rfa2VybmVsLmMNCj4gQEAgLTMyOCw0OCArMzI4LDYgQEAgdmhvc3Rfa2Vy bmVsX3NldF9zdGF0dXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2DQo+IF9fcnRlX3VudXNl ZCwgdWludDhfdCBzdGF0dXMNCj4gIAlyZXR1cm4gLUVOT1RTVVA7DQo+ICB9DQo+IA0KPiAtc3Rh dGljIHVpbnQ2NF90IHZob3N0X3JlcV91c2VyX3RvX2tlcm5lbFtdID0gew0KPiAtCVtWSE9TVF9V U0VSX1JFU0VUX09XTkVSXSA9IFZIT1NUX1JFU0VUX09XTkVSLA0KPiAtfTsNCj4gLQ0KPiAtc3Rh dGljIGludA0KPiAtdmhvc3Rfa2VybmVsX3NlbmRfcmVxdWVzdChzdHJ1Y3QgdmlydGlvX3VzZXJf ZGV2ICpkZXYsDQo+IC0JCSAgIGVudW0gdmhvc3RfdXNlcl9yZXF1ZXN0IHJlcSwNCj4gLQkJICAg dm9pZCAqYXJnKQ0KPiAtew0KPiAtCWludCByZXQgPSAtMTsNCj4gLQl1bnNpZ25lZCBpbnQgaTsN Cj4gLQl1aW50NjRfdCByZXFfa2VybmVsOw0KPiAtCWludCB2aG9zdGZkOw0KPiAtDQo+IC0JUE1E X0RSVl9MT0coSU5GTywgIiVzIiwgdmhvc3RfbXNnX3N0cmluZ3NbcmVxXSk7DQo+IC0NCj4gLQly ZXFfa2VybmVsID0gdmhvc3RfcmVxX3VzZXJfdG9fa2VybmVsW3JlcV07DQo+IC0NCj4gLQlzd2l0 Y2ggKHJlcV9rZXJuZWwpIHsNCj4gLQlkZWZhdWx0Og0KPiAtCQl2aG9zdGZkID0gLTE7DQo+IC0J fQ0KPiAtCWlmICh2aG9zdGZkID09IC0xKSB7DQo+IC0JCWZvciAoaSA9IDA7IGkgPCBkZXYtPm1h eF9xdWV1ZV9wYWlyczsgKytpKSB7DQo+IC0JCQlpZiAoZGV2LT52aG9zdGZkc1tpXSA8IDApDQo+ IC0JCQkJY29udGludWU7DQo+IC0NCj4gLQkJCXJldCA9IGlvY3RsKGRldi0+dmhvc3RmZHNbaV0s IHJlcV9rZXJuZWwsIGFyZyk7DQo+IC0JCQlpZiAocmV0IDwgMCkNCj4gLQkJCQlicmVhazsNCj4g LQkJfQ0KPiAtCX0gZWxzZSB7DQo+IC0JCXJldCA9IGlvY3RsKHZob3N0ZmQsIHJlcV9rZXJuZWws IGFyZyk7DQo+IC0JfQ0KPiAtDQo+IC0JaWYgKHJldCA8IDApDQo+IC0JCVBNRF9EUlZfTE9HKEVS UiwgIiVzIGZhaWxlZDogJXMiLA0KPiAtCQkJICAgIHZob3N0X21zZ19zdHJpbmdzW3JlcV0sIHN0 cmVycm9yKGVycm5vKSk7DQo+IC0NCj4gLQlyZXR1cm4gcmV0Ow0KPiAtfQ0KPiAtDQo+ICAvKioN Cj4gICAqIFNldCB1cCBlbnZpcm9ubWVudCB0byB0YWxrIHdpdGggYSB2aG9zdCBrZXJuZWwgYmFj a2VuZC4NCj4gICAqDQo+IEBAIC01MDEsNiArNDU5LDUgQEAgc3RydWN0IHZpcnRpb191c2VyX2Jh Y2tlbmRfb3BzIHZpcnRpb19vcHNfa2VybmVsID0gew0KPiAgCS5zZXRfdnJpbmdfYWRkciA9IHZo b3N0X2tlcm5lbF9zZXRfdnJpbmdfYWRkciwNCj4gIAkuZ2V0X3N0YXR1cyA9IHZob3N0X2tlcm5l bF9nZXRfc3RhdHVzLA0KPiAgCS5zZXRfc3RhdHVzID0gdmhvc3Rfa2VybmVsX3NldF9zdGF0dXMs DQo+IC0JLnNlbmRfcmVxdWVzdCA9IHZob3N0X2tlcm5lbF9zZW5kX3JlcXVlc3QsDQo+ICAJLmVu YWJsZV9xcCA9IHZob3N0X2tlcm5lbF9lbmFibGVfcXVldWVfcGFpcg0KPiAgfTsNCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF91c2VyLmMNCj4gYi9k cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jDQo+IGluZGV4IGNiMGNk MWNlYTguLmQ0NmUyNWI2NGIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 aW9fdXNlci92aG9zdF91c2VyLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191 c2VyL3Zob3N0X3VzZXIuYw0KPiBAQCAtNjQ5LDEwNyArNjQ5LDYgQEAgdmhvc3RfdXNlcl9zZXRf c3RhdHVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gdWludDhfdCBzdGF0dXMpDQo+ ICAJcmV0dXJuIHZob3N0X3VzZXJfY2hlY2tfcmVwbHlfYWNrKGRldiwgJm1zZyk7DQo+ICB9DQo+ IA0KPiAtc3RhdGljIHN0cnVjdCB2aG9zdF91c2VyX21zZyBtOw0KPiAtDQo+IC1jb25zdCBjaGFy ICogY29uc3Qgdmhvc3RfbXNnX3N0cmluZ3NbXSA9IHsNCj4gLQlbVkhPU1RfVVNFUl9SRVNFVF9P V05FUl0gPSAiVkhPU1RfUkVTRVRfT1dORVIiLA0KPiAtfTsNCj4gLQ0KPiAtc3RhdGljIGludA0K PiAtdmhvc3RfdXNlcl9zb2NrKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gLQkJZW51 bSB2aG9zdF91c2VyX3JlcXVlc3QgcmVxLA0KPiAtCQl2b2lkICphcmcpDQo+IC17DQo+IC0Jc3Ry dWN0IHZob3N0X3VzZXJfbXNnIG1zZzsNCj4gLQlzdHJ1Y3Qgdmhvc3RfdnJpbmdfZmlsZSAqZmls ZSA9IDA7DQo+IC0JaW50IG5lZWRfcmVwbHkgPSAwOw0KPiAtCWludCBmZHNbVkhPU1RfTUVNT1JZ X01BWF9OUkVHSU9OU107DQo+IC0JaW50IGZkX251bSA9IDA7DQo+IC0JaW50IHZob3N0ZmQgPSBk ZXYtPnZob3N0ZmQ7DQo+IC0NCj4gLQlSVEVfU0VUX1VTRUQobSk7DQo+IC0NCj4gLQlQTURfRFJW X0xPRyhJTkZPLCAiJXMiLCB2aG9zdF9tc2dfc3RyaW5nc1tyZXFdKTsNCj4gLQ0KPiAtCWlmIChk ZXYtPmlzX3NlcnZlciAmJiB2aG9zdGZkIDwgMCkNCj4gLQkJcmV0dXJuIC0xOw0KPiAtDQo+IC0J bXNnLnJlcXVlc3QgPSByZXE7DQo+IC0JbXNnLmZsYWdzID0gVkhPU1RfVVNFUl9WRVJTSU9OOw0K PiAtCW1zZy5zaXplID0gMDsNCj4gLQ0KPiAtCXN3aXRjaCAocmVxKSB7DQo+IC0JY2FzZSBWSE9T VF9VU0VSX1NFVF9MT0dfQkFTRToNCj4gLQkJbXNnLnBheWxvYWQudTY0ID0gKigoX191NjQgKilh cmcpOw0KPiAtCQltc2cuc2l6ZSA9IHNpemVvZihtLnBheWxvYWQudTY0KTsNCj4gLQkJYnJlYWs7 DQo+IC0NCj4gLQljYXNlIFZIT1NUX1VTRVJfU0VUX0ZFQVRVUkVTOg0KPiAtCQltc2cucGF5bG9h ZC51NjQgPSAqKChfX3U2NCAqKWFyZykgfCAoZGV2LT5kZXZpY2VfZmVhdHVyZXMgJg0KPiAtCQkJ KDFVTEwgPDwgVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZFQVRVUkVTKSk7DQo+IC0JCW1zZy5zaXpl ID0gc2l6ZW9mKG0ucGF5bG9hZC51NjQpOw0KPiAtCQlicmVhazsNCj4gLQ0KPiAtCWNhc2UgVkhP U1RfVVNFUl9SRVNFVF9PV05FUjoNCj4gLQkJYnJlYWs7DQo+IC0NCj4gLQljYXNlIFZIT1NUX1VT RVJfU0VUX0xPR19GRDoNCj4gLQkJZmRzW2ZkX251bSsrXSA9ICooKGludCAqKWFyZyk7DQo+IC0J CWJyZWFrOw0KPiAtDQo+IC0JY2FzZSBWSE9TVF9VU0VSX1NFVF9WUklOR19FUlI6DQo+IC0JCWZp bGUgPSBhcmc7DQo+IC0JCW1zZy5wYXlsb2FkLnU2NCA9IGZpbGUtPmluZGV4ICYgVkhPU1RfVVNF Ul9WUklOR19JRFhfTUFTSzsNCj4gLQkJbXNnLnNpemUgPSBzaXplb2YobS5wYXlsb2FkLnU2NCk7 DQo+IC0JCWlmIChmaWxlLT5mZCA+IDApDQo+IC0JCQlmZHNbZmRfbnVtKytdID0gZmlsZS0+ZmQ7 DQo+IC0JCWVsc2UNCj4gLQkJCW1zZy5wYXlsb2FkLnU2NCB8PSBWSE9TVF9VU0VSX1ZSSU5HX05P RkRfTUFTSzsNCj4gLQkJYnJlYWs7DQo+IC0NCj4gLQlkZWZhdWx0Og0KPiAtCQlQTURfRFJWX0xP RyhFUlIsICJ0cnlpbmcgdG8gc2VuZCB1bmhhbmRsZWQgbXNnIHR5cGUiKTsNCj4gLQkJcmV0dXJu IC0xOw0KPiAtCX0NCj4gLQ0KPiAtCWlmICh2aG9zdF91c2VyX3dyaXRlKHZob3N0ZmQsICZtc2cs IGZkcywgZmRfbnVtKSA8IDApIHsNCj4gLQkJUE1EX0RSVl9MT0coRVJSLCAiJXMgZmFpbGVkOiAl cyIsDQo+IC0JCQkgICAgdmhvc3RfbXNnX3N0cmluZ3NbcmVxXSwgc3RyZXJyb3IoZXJybm8pKTsN Cj4gLQkJcmV0dXJuIC0xOw0KPiAtCX0NCj4gLQ0KPiAtCWlmIChuZWVkX3JlcGx5IHx8IG1zZy5m bGFncyAmIFZIT1NUX1VTRVJfTkVFRF9SRVBMWV9NQVNLKSB7DQo+IC0JCWlmICh2aG9zdF91c2Vy X3JlYWQodmhvc3RmZCwgJm1zZykgPCAwKSB7DQo+IC0JCQlQTURfRFJWX0xPRyhFUlIsICJSZWNl aXZlZCBtc2cgZmFpbGVkOiAlcyIsDQo+IC0JCQkJICAgIHN0cmVycm9yKGVycm5vKSk7DQo+IC0J CQlyZXR1cm4gLTE7DQo+IC0JCX0NCj4gLQ0KPiAtCQlpZiAocmVxICE9IG1zZy5yZXF1ZXN0KSB7 DQo+IC0JCQlQTURfRFJWX0xPRyhFUlIsICJSZWNlaXZlZCB1bmV4cGVjdGVkIG1zZyB0eXBlIik7 DQo+IC0JCQlyZXR1cm4gLTE7DQo+IC0JCX0NCj4gLQ0KPiAtCQlzd2l0Y2ggKHJlcSkgew0KPiAt CQlkZWZhdWx0Og0KPiAtCQkJLyogUmVwbHktYWNrIGhhbmRsaW5nICovDQo+IC0JCQlpZiAobXNn LnNpemUgIT0gc2l6ZW9mKG0ucGF5bG9hZC51NjQpKSB7DQo+IC0JCQkJUE1EX0RSVl9MT0coRVJS LCAiUmVjZWl2ZWQgYmFkIG1zZyBzaXplIik7DQo+IC0JCQkJcmV0dXJuIC0xOw0KPiAtCQkJfQ0K PiAtDQo+IC0JCQlpZiAobXNnLnBheWxvYWQudTY0ICE9IDApIHsNCj4gLQkJCQlQTURfRFJWX0xP RyhFUlIsICJTbGF2ZSByZXBsaWVkIE5BQ0siKTsNCj4gLQkJCQlyZXR1cm4gLTE7DQo+IC0JCQl9 DQo+IC0NCj4gLQkJCWJyZWFrOw0KPiAtCQl9DQo+IC0JfQ0KPiAtDQo+IC0JcmV0dXJuIDA7DQo+ IC19DQo+IC0NCj4gICNkZWZpbmUgTUFYX1ZJUlRJT19VU0VSX0JBQ0tMT0cgMQ0KPiAgc3RhdGlj IGludA0KPiAgdmlydGlvX3VzZXJfc3RhcnRfc2VydmVyKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYg KmRldiwgc3RydWN0IHNvY2thZGRyX3VuICp1bikNCj4gQEAgLTg2NSw2ICs3NjQsNSBAQCBzdHJ1 Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmlydGlvX29wc191c2VyID0gew0KPiAgCS5zZXRf dnJpbmdfYWRkciA9IHZob3N0X3VzZXJfc2V0X3ZyaW5nX2FkZHIsDQo+ICAJLmdldF9zdGF0dXMg PSB2aG9zdF91c2VyX2dldF9zdGF0dXMsDQo+ICAJLnNldF9zdGF0dXMgPSB2aG9zdF91c2VyX3Nl dF9zdGF0dXMsDQo+IC0JLnNlbmRfcmVxdWVzdCA9IHZob3N0X3VzZXJfc29jaywNCj4gIAkuZW5h YmxlX3FwID0gdmhvc3RfdXNlcl9lbmFibGVfcXVldWVfcGFpcg0KPiAgfTsNCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMNCj4gYi9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+IGluZGV4IDhlYmM2Nzlm MWIuLjdmYjEyNDk1NjkgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9f dXNlci92aG9zdF92ZHBhLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2Vy L3Zob3N0X3ZkcGEuYw0KPiBAQCAtMzYsMTAgKzM2LDYgQEANCj4gICNkZWZpbmUgVkhPU1RfU0VU X0JBQ0tFTkRfRkVBVFVSRVMgX0lPVyhWSE9TVF9WSVJUSU8sIDB4MjUsIF9fdTY0KQ0KPiAgI2Rl ZmluZSBWSE9TVF9HRVRfQkFDS0VORF9GRUFUVVJFUyBfSU9SKFZIT1NUX1ZJUlRJTywgMHgyNiwg X191NjQpDQo+IA0KPiAtc3RhdGljIHVpbnQ2NF90IHZob3N0X3JlcV91c2VyX3RvX3ZkcGFbXSA9 IHsNCj4gLQlbVkhPU1RfVVNFUl9SRVNFVF9PV05FUl0gPSBWSE9TVF9SRVNFVF9PV05FUiwNCj4g LX07DQo+IC0NCj4gIC8qIG5vIGFsaWdubWVudCByZXF1aXJlbWVudCAqLw0KPiAgc3RydWN0IHZo b3N0X2lvdGxiX21zZyB7DQo+ICAJdWludDY0X3QgaW92YTsNCj4gQEAgLTM4OSw1MCArMzg1LDYg QEAgdmhvc3RfdmRwYV9zZXRfc3RhdHVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4g dWludDhfdCBzdGF0dXMpDQo+ICAJcmV0dXJuIHZob3N0X3ZkcGFfaW9jdGwoZGV2LT52aG9zdGZk LCBWSE9TVF9WRFBBX1NFVF9TVEFUVVMsICZzdGF0dXMpOw0KPiAgfQ0KPiANCj4gLS8qIHdpdGgg YmVsb3cgZmVhdHVyZXMsIHZob3N0IHZkcGEgZG9lcyBub3QgbmVlZCB0byBkbyB0aGUgY2hlY2tz dW0gYW5kIFRTTywNCj4gLSAqIHRoZXNlIGluZm8gd2lsbCBiZSBwYXNzZWQgdG8gdmlydGlvX3Vz ZXIgdGhyb3VnaCB2aXJ0aW8gbmV0IGhlYWRlci4NCj4gLSAqLw0KPiAtI2RlZmluZSBWSE9TVF9W RFBBX0dVRVNUX09GRkxPQURTX01BU0sJXA0KPiAtCSgoMVVMTCA8PCBWSVJUSU9fTkVUX0ZfR1VF U1RfQ1NVTSkgfAlcDQo+IC0JICgxVUxMIDw8IFZJUlRJT19ORVRfRl9HVUVTVF9UU080KSB8CVwN Cj4gLQkgKDFVTEwgPDwgVklSVElPX05FVF9GX0dVRVNUX1RTTzYpIHwJXA0KPiAtCSAoMVVMTCA8 PCBWSVJUSU9fTkVUX0ZfR1VFU1RfRUNOKSAgfAlcDQo+IC0JICgxVUxMIDw8IFZJUlRJT19ORVRf Rl9HVUVTVF9VRk8pKQ0KPiAtDQo+IC0jZGVmaW5lIFZIT1NUX1ZEUEFfSE9TVF9PRkZMT0FEU19N QVNLCQlcDQo+IC0JKCgxVUxMIDw8IFZJUlRJT19ORVRfRl9IT1NUX1RTTzQpIHwJXA0KPiAtCSAo MVVMTCA8PCBWSVJUSU9fTkVUX0ZfSE9TVF9UU082KSB8CVwNCj4gLQkgKDFVTEwgPDwgVklSVElP X05FVF9GX0NTVU0pKQ0KPiAtDQo+IC1zdGF0aWMgaW50DQo+IC12aG9zdF92ZHBhX3NlbmRfcmVx dWVzdChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+IC0JCSAgIGVudW0gdmhvc3RfdXNl cl9yZXF1ZXN0IHJlcSwNCj4gLQkJICAgdm9pZCAqYXJnKQ0KPiAtew0KPiAtCWludCByZXQgPSAt MTsNCj4gLQl1aW50NjRfdCByZXFfdmRwYTsNCj4gLQ0KPiAtCVBNRF9EUlZfTE9HKElORk8sICIl cyIsIHZob3N0X21zZ19zdHJpbmdzW3JlcV0pOw0KPiAtDQo+IC0JcmVxX3ZkcGEgPSB2aG9zdF9y ZXFfdXNlcl90b192ZHBhW3JlcV07DQo+IC0NCj4gLQlzd2l0Y2ggKHJlcV92ZHBhKSB7DQo+IC0J Y2FzZSBWSE9TVF9TRVRfVlJJTkdfQUREUjoNCj4gLQkJUE1EX0RSVl9MT0coREVCVUcsICJ2aG9z dGZkPSVkLCBpbmRleD0ldSIsDQo+IC0JCQkgICAgZGV2LT52aG9zdGZkLCAqKHVuc2lnbmVkIGlu dCAqKWFyZyk7DQo+IC0JCWJyZWFrOw0KPiAtCWRlZmF1bHQ6DQo+IC0JCWJyZWFrOw0KPiAtCX0N Cj4gLQ0KPiAtCXJldCA9IGlvY3RsKGRldi0+dmhvc3RmZCwgcmVxX3ZkcGEsIGFyZyk7DQo+IC0J aWYgKHJldCA8IDApDQo+IC0JCVBNRF9EUlZfTE9HKEVSUiwgIiVzIGZhaWxlZDogJXMiLA0KPiAt CQkJICAgIHZob3N0X21zZ19zdHJpbmdzW3JlcV0sIHN0cmVycm9yKGVycm5vKSk7DQo+IC0NCj4g LQlyZXR1cm4gcmV0Ow0KPiAtfQ0KPiAtDQo+ICAvKioNCj4gICAqIFNldCB1cCBlbnZpcm9ubWVu dCB0byB0YWxrIHdpdGggYSB2aG9zdCB2ZHBhIGJhY2tlbmQuDQo+ICAgKg0KPiBAQCAtNTAyLDcg KzQ1NCw2IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB2aXJ0aW9fb3BzX3ZkcGEg PSB7DQo+ICAJLnNldF92cmluZ19hZGRyID0gdmhvc3RfdmRwYV9zZXRfdnJpbmdfYWRkciwNCj4g IAkuZ2V0X3N0YXR1cyA9IHZob3N0X3ZkcGFfZ2V0X3N0YXR1cywNCj4gIAkuc2V0X3N0YXR1cyA9 IHZob3N0X3ZkcGFfc2V0X3N0YXR1cywNCj4gLQkuc2VuZF9yZXF1ZXN0ID0gdmhvc3RfdmRwYV9z ZW5kX3JlcXVlc3QsDQo+ICAJLmVuYWJsZV9xcCA9IHZob3N0X3ZkcGFfZW5hYmxlX3F1ZXVlX3Bh aXIsDQo+ICAJLmRtYV9tYXAgPSB2aG9zdF92ZHBhX2RtYV9tYXBfYmF0Y2gsDQo+ICAJLmRtYV91 bm1hcCA9IHZob3N0X3ZkcGFfZG1hX3VubWFwX2JhdGNoLA0KPiAtLQ0KPiAyLjI5LjINCg0KUmV2 aWV3ZWQtYnk6IENoZW5ibyBYaWEgPGNoZW5iby54aWFAaW50ZWwuY29tPg0K