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 D05E6A0A0A; Fri, 22 Jan 2021 09:19:54 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5D525140D29; Fri, 22 Jan 2021 09:19:54 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 0665D140D25 for ; Fri, 22 Jan 2021 09:19:52 +0100 (CET) IronPort-SDR: bdc8QlkG/P/QBx+fEf85TQftcDZ+4DBaL0tXPp7epeGo1evHdnTbRDoDFkRdIxFDA3b9VnR6Jk gFEu1/NilBlQ== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="198160079" X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="198160079" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jan 2021 00:19:51 -0800 IronPort-SDR: 1y7zCoqsuGcZ0gMyZ2aPKQY1kjjcjfQ7Ly0NVeXuXoSExdlvxPZ264cuFpNdFwG3wcA3omv9Zp 795CiVWkQATQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="407608725" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by FMSMGA003.fm.intel.com with ESMTP; 22 Jan 2021 00:19:51 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.1713.5; Fri, 22 Jan 2021 00:19:51 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) 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:19:51 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgegateway.intel.com (192.55.55.70) 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:19:51 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ml+8UJ1t+IMlO3/QFLbUvbNfegR7BvpWRQg6YVdrpZWD2bMOp8VykXqQUPofoAgeX7qhpiy0a47B0X9zTNo9CihQvsVwDExw6TZ3Ibu758Fq6NtyOoS4uFrMmlN5SJcOHIyVuWBCt4dibVHlUEn/GHxxJ/faNlSFgv6byVQsECN3Sd6kobeCB/2kWGl+0q2cp0YqB+fCgpjPjMRcGNhAi6s6lvs/wo0yrvc/Wrva0pOW2ZkjuSJFg5TlZnl8g2EMbYqrxiDpQK58OuFisKaFwzb1K/Qw9mhWTcBuDCcIyBrvjOzbHZ0zzpqX+TbGLPC9trQZh4/AZ9NlB3kehyclsg== 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=9WiNRFMifZERS1TBGxhy1NBlrgv4MlgAeK/qEPoQfM4=; b=UNdiUdyg1+VRQwNdJFb/xDpEsxpjzSU6Ulzuff9tguKdYJF/sSTLgvmfiTWuDBvHOcapEHsE6AgsJSVhPckr6IiRot0YFxbf090WPNtJQLfvqweXFTkZYIGVMDDaSRxyYEtdr0skcahd/hGNzxP5xLzZtPVgA+3D97siSa5x+rheVJSa9nAQpErZp0sPQ4Kf5Ly0dRJPuK5mYO/jNWG7YX2487e7cf7ZdxvLTjFgxvI4QWI1dBMKmZ9uuVBskiJDS6n6DQQPjiukOvxF6BPofb79+/w6Vdyo8m+34yPkVO6Q/5F4s/75/6irygb4ohPozZRDUTsyZgJyxjvmjCspiA== 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=9WiNRFMifZERS1TBGxhy1NBlrgv4MlgAeK/qEPoQfM4=; b=Z1K09uJXdZwxStyieVvSjSQG9Np0kTiDSoFwCdxG/68evH5SFYwORGWMyiU/rNc9jIah0VXXmXRV+gtWWPb6iQ/a1sB4oZRmjwq487feycDhOKlfbH8J84LwcMNN5sO86hor00V1KGMZh/bQlZh3/+pspGdrHPzVJ5Re3vAgb8s= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3981.namprd11.prod.outlook.com (2603:10b6:208:13d::18) 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:19:49 +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:19:49 +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 37/44] net/virtio: make server mode blocking Thread-Index: AQHW7qoGZI7a8WdDh06pUXz08C3w0KozUUTg Date: Fri, 22 Jan 2021 08:19:49 +0000 Message-ID: References: <20210119212507.1043636-1-maxime.coquelin@redhat.com> <20210119212507.1043636-38-maxime.coquelin@redhat.com> In-Reply-To: <20210119212507.1043636-38-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: cd8ee768-7e7c-4b93-f1eb-08d8beae7cb8 x-ms-traffictypediagnostic: MN2PR11MB3981: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1360; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KPL5upIl9PHF/5TQ3FxpaVDRjU0eE5a3dJYj9YTEHnZtPNhjQ0gbNQUxRYrF7y9TgSP1mc7eTAyIcW3bgXputmd8KCVpOOLovEj7PTov16opUcyYJ76wsGNYMvQDpkKzzuHRLQ81l0wSdKdb+7Mtf33ei1bjPy0jwiPPf92/E/+dlAuUsimJCDNTzM4LywNFyyWgbVSleWMaGnIbZPseZg2QbyzKYh/6j2J9kF1XOanbpus/2urDy/xb6WOJTZgm+0dpFOV0pJ93IyBPLQZyHL+h8eTTqoeunezdGFrKy+llhv+4AYopmaKUtGUrLNMkQf5nbn0KQWzLIbLHtAnDf01Qv2gZOGIW/Vh201yBcQPED+tTwDu73R5LmEdZpHOlKW1C4BZLLMnJKjxkVcB9b7h68rpBwX4OOXm8brWUZoMZ6lsMzGZOOehkxNN1IpDmkH7hyqI9a5p0pUR3T0w6nMEBPLSaAMR2pnnWHh2gvPLnzuMZOgIzbgq5boJPqpymMXE0Bf1Wa1w0CpCAdxmX7w== 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)(39860400002)(136003)(366004)(376002)(346002)(76116006)(9686003)(66446008)(7696005)(64756008)(66476007)(66946007)(66556008)(478600001)(55016002)(8676002)(71200400001)(33656002)(186003)(53546011)(6506007)(110136005)(2906002)(52536014)(5660300002)(86362001)(26005)(8936002)(316002)(83380400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ekpSZk5hcGZJNE1PWHNpOGQ3Z3d1QTFJazFRMTlnMXJ1NlpQQTlIc2NjNGlD?= =?utf-8?B?NDJ4WnRPZnhLR2Uza0hwVmJPVjJFL05UbklqL1g0aEVZc09ML3Fkb1Nibk9y?= =?utf-8?B?UXUyTHlXa2pNVC9KNjB6ZUk0UlVxaHhla1VFNDFySXRNMDFBbDRHQW5SUTA3?= =?utf-8?B?dU1iVWgvcDJVMnRuSGdiV0JrNm5NclZ1MG52K1p4S1lGUHVMTXkyWWl0OGdX?= =?utf-8?B?bmZaSUtuZDlvMmdnZXF1WUlNTC9oc08wUDg2am1aZEVTdDNLdENkaHNSMVZW?= =?utf-8?B?ckN3NW0rcjZVVTdRekN0c0F1TVZVRlVRenJGSmFEWi9YMC9xdm5JeVFtVGZE?= =?utf-8?B?S21uSjZ3ZjduNGJidUNlbVJCV0pMVUwySmozT1BzVWRGMmJQMW9VUHhQUEMy?= =?utf-8?B?VFY5enkvTlhJK0pmSlZMVXlpWU81MlRiNnMycDdTd1R5YllCMzd5aUwzaHhX?= =?utf-8?B?QVJJMkx5UHViRWVNaFh1eVZzZG5SOCtlQUdpUnpBTC9sZGlmMVFSL1NiT2NP?= =?utf-8?B?Vk9JNUJ1SVlWUkttT3FDTWV1dHIxWmNUQjJYaHNiQ1doZEpzbnpNampRd1pK?= =?utf-8?B?dUdVQTVYZTJKcWJpU21NaTVyVm1EVGZ4R0laSEsxWmJ3Y3FvZTNtVWw5K2Vp?= =?utf-8?B?Mm40NTlscCtzZi80M1pvVG1iZ2lyVzBLdmRXOWlkYmJudmt3NU9mQ0pmd2xp?= =?utf-8?B?b1lFOW9EaGdCVkxhN1piUWdodHliY25qdENhdXRTd0dtYVA1b0xQeDhJZ1Va?= =?utf-8?B?b1lERy9kZ25oNTNZa0VyZGVId2NwbmVFQ00yM2N1TDluK0RoRGhISGRBVWJx?= =?utf-8?B?YjdYZDQzOHVoaXBEb3V0UjhDcUJKcm45NWt4bTJ1V25RMllsZmJKZWhCc0pk?= =?utf-8?B?NUg1ZjRSY2U3V3g4YnFSUjIvOGFOdjMyWkV1Nno2R1plclJoakpzdStrSVR5?= =?utf-8?B?MVpuVGd5ckEvTGFFSk9HcmRQM0hkQ1BWY1NaSmhDbndkV2Q2dTFPRXFteFBy?= =?utf-8?B?SDlHUnJlTURta0liMll6QjZDcFNraWREQVNTOURjRnk1S1RUZWVTRHBwdFhj?= =?utf-8?B?SE9uUWFETWxKZGRkSmhOTUxoMTBWN0VmOUxFcm5Xcms4T1RoajFHalVxeE83?= =?utf-8?B?M0pPc0Y0UUVTaTZVdzJGTFhrM1FRYTdDaFVmUjVJTTVjbGZBc1huaHpnUWlx?= =?utf-8?B?U1JpZTk0bDFkbU1UNFZnSnRiTVlXWjNtTnJFRDBQQTdPbkpsN1FzeTRXQkZu?= =?utf-8?B?dlgrWjlQemlRKzZDT1J4RnNTUDZWcGZDWFkrU2NPaUo4N0FSRm5BTXczWjJN?= =?utf-8?Q?Nrh2OxskCwoTCX2kdwAUWo5eDqKEiKb9e6?= 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: cd8ee768-7e7c-4b93-f1eb-08d8beae7cb8 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 08:19:49.8038 (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: DOlXeF9QV7DrV6DUSKYtb+utd8onxIWi7hsJPZ6QPP3Q82XYe3s3DjWo4TtUtwPmHTBEFogTBFinQB6GK2DNfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3981 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 37/44] net/virtio: make server mode blocking 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 eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjIgMzcvNDRdIG5l dC92aXJ0aW86IG1ha2Ugc2VydmVyIG1vZGUgYmxvY2tpbmcNCj4gDQo+IFRoaXMgcGF0Y2ggbWFr ZXMgdGhlIFZob3N0LXVzZXIgYmFja2VuZCBzZXJ2ZXIgbW9kZQ0KPiBibG9ja2luZyBhdCBpbml0 LCB3YWl0aW5nIGZvciB0aGUgY2xpZW50IGNvbm5lY3Rpb24uDQo+IA0KPiBUaGUgZ29hbCBpcyB0 byBtYWtlIHRoZSBkcml2ZXIgbW9yZSByZWxpYWJsZSwgYXMgd2l0aG91dA0KPiB3YWl0aW5nIGZv ciBjbGllbnQgY29ubmVjdGlvbiwgdGhlIFZpcnRpbyBkcml2ZXIgaGFzIHRvDQo+IGFzc3VtZSB0 aGUgVmhvc3QtdXNlciBiYWNrZW5kIHdpbGwgc3VwcG9ydCBhbGwgdGhlDQo+IGZlYXR1cmVzIGl0 IGhhcyBhZHZlcnRpemVkLCB3aGljaCBjb3VsZCBsZWFkIHRvIHVuZGVmaW5lZA0KPiBiZWhhdmlv dXIuDQo+IA0KPiBGb3IgZXhhbXBsZSwgd2l0aG91dCB0aGlzIHBhdGNoLCBpZiB0aGUgdXNlciBl bmFibGVzIHBhY2tlZA0KPiByaW5nIFZpcnRpbyBmZWF0dXJlIGJ1dCB0aGUgYmFja2VuZCBkb2Vz IG5vdCBzdXBwb3J0IGl0LA0KPiB0aGUgcmluZyBpbml0aWFsaXplZCBieSB0aGUgZHJpdmVyIHdp bGwgbm90IGJlIGNvbXBhdGlibGUNCj4gd2l0aCB0aGUgYmFja2VuZC4NCj4gDQo+IFNpZ25lZC1v ZmYtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IC0t LQ0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYyAgIHwgICA5 ICstDQo+ICAuLi4vbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYyAgfCAx MjEgKysrKysrKy0tLS0tLS0tLS0tDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJf ZXRoZGV2LmMgICAgICAgfCAgIDUgLQ0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25z KCspLCA4MCBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0 aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRp b191c2VyL3Zob3N0X3VzZXIuYw0KPiBpbmRleCBmYjZmY2M4MmM5Li5hNDhmYWRkOGM5IDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jDQo+ ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF91c2VyLmMNCj4gQEAg LTY5Miw2ICs2OTIsMTQgQEAgdmlydGlvX3VzZXJfc3RhcnRfc2VydmVyKHN0cnVjdCB2aXJ0aW9f dXNlcl9kZXYgKmRldiwNCj4gc3RydWN0IHNvY2thZGRyX3VuICp1bikNCj4gIAlpZiAocmV0IDwg MCkNCj4gIAkJcmV0dXJuIC0xOw0KPiANCj4gKwlQTURfRFJWX0xPRyhOT1RJQ0UsICIoJXMpIHdh aXRpbmcgZm9yIGNsaWVudCBjb25uZWN0aW9uLi4uIiwgZGV2LT5wYXRoKTsNCj4gKwlkZXYtPnZo b3N0ZmQgPSBhY2NlcHQoZmQsIE5VTEwsIE5VTEwpOw0KPiArCWlmIChkZXYtPnZob3N0ZmQgPCAw KSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBhY2NlcHQgaW5pdGlhbCBjbGll bnQgY29ubmVjdGlvbiAoJXMpIiwNCj4gKwkJCQlzdHJlcnJvcihlcnJubykpOw0KPiArCQlyZXR1 cm4gLTE7DQo+ICsJfQ0KPiArDQo+ICAJZmxhZyA9IGZjbnRsKGZkLCBGX0dFVEZMKTsNCj4gIAlp ZiAoZmNudGwoZmQsIEZfU0VURkwsIGZsYWcgfCBPX05PTkJMT0NLKSA8IDApIHsNCj4gIAkJUE1E X0RSVl9MT0coRVJSLCAiZmNudGwgZmFpbGVkLCAlcyIsIHN0cmVycm9yKGVycm5vKSk7DQo+IEBA IC03MzYsNyArNzQ0LDYgQEAgdmhvc3RfdXNlcl9zZXR1cChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2 ICpkZXYpDQo+ICAJCQljbG9zZShmZCk7DQo+ICAJCQlyZXR1cm4gLTE7DQo+ICAJCX0NCj4gLQkJ ZGV2LT52aG9zdGZkID0gLTE7DQo+ICAJfSBlbHNlIHsNCj4gIAkJaWYgKGNvbm5lY3QoZmQsIChz dHJ1Y3Qgc29ja2FkZHIgKikmdW4sIHNpemVvZih1bikpIDwgMCkgew0KPiAgCQkJUE1EX0RSVl9M T0coRVJSLCAiY29ubmVjdCBlcnJvciwgJXMiLCBzdHJlcnJvcihlcnJubykpOw0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+ IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+IGlu ZGV4IDk1MjA0ZWE5NTUuLmMyYTQxZmUzYTAgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3Zp cnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC92 aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gQEAgLTE0NCwxMCArMTQ0LDYg QEAgdmlydGlvX3VzZXJfZGV2X3NldF9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpk ZXYpDQo+IA0KPiAgCXB0aHJlYWRfbXV0ZXhfbG9jaygmZGV2LT5tdXRleCk7DQo+IA0KPiAtCWlm IChkZXYtPmJhY2tlbmRfdHlwZSA9PSBWSVJUSU9fVVNFUl9CQUNLRU5EX1ZIT1NUX1VTRVIgJiYN Cj4gLQkJCWRldi0+dmhvc3RmZCA8IDApDQo+IC0JCWdvdG8gZXJyb3I7DQo+IC0NCj4gIAkvKiBT dGVwIDA6IHRlbGwgdmhvc3QgdG8gY3JlYXRlIHF1ZXVlcyAqLw0KPiAgCWlmICh2aXJ0aW9fdXNl cl9xdWV1ZV9zZXR1cChkZXYsIHZpcnRpb191c2VyX2NyZWF0ZV9xdWV1ZSkgPCAwKQ0KPiAgCQln b3RvIGVycm9yOw0KPiBAQCAtMTkwLDExICsxODYsNiBAQCB2aXJ0aW9fdXNlcl9zdGFydF9kZXZp Y2Uoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgCXJ0ZV9tY2ZnX21lbV9yZWFkX2xv Y2soKTsNCj4gIAlwdGhyZWFkX211dGV4X2xvY2soJmRldi0+bXV0ZXgpOw0KPiANCj4gLQkvKiBW aG9zdC11c2VyIGNsaWVudCBub3QgY29ubmVjdGVkIHlldCwgd2lsbCBzdGFydCBsYXRlciAqLw0K PiAtCWlmIChkZXYtPmJhY2tlbmRfdHlwZSA9PSBWSVJUSU9fVVNFUl9CQUNLRU5EX1ZIT1NUX1VT RVIgJiYNCj4gLQkJCWRldi0+dmhvc3RmZCA8IDApDQo+IC0JCWdvdG8gb3V0Ow0KPiAtDQo+ICAJ LyogU3RlcCAyOiBzaGFyZSBtZW1vcnkgcmVnaW9ucyAqLw0KPiAgCXJldCA9IGRldi0+b3BzLT5z ZXRfbWVtb3J5X3RhYmxlKGRldik7DQo+ICAJaWYgKHJldCA8IDApDQo+IEBAIC0yMTMsNyArMjA0 LDcgQEAgdmlydGlvX3VzZXJfc3RhcnRfZGV2aWNlKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRl dikNCj4gIAkJZ290byBlcnJvcjsNCj4gDQo+ICAJZGV2LT5zdGFydGVkID0gdHJ1ZTsNCj4gLW91 dDoNCj4gKw0KPiAgCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZkZXYtPm11dGV4KTsNCj4gIAlydGVf bWNmZ19tZW1fcmVhZF91bmxvY2soKTsNCj4gDQo+IEBAIC00MjIsMzYgKzQxMywzNiBAQCB2aXJ0 aW9fdXNlcl9kZXZfc2V0dXAoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgCQkJUE1E X0RSVl9MT0coRVJSLCAiU2VydmVyIG1vZGUgb25seSBzdXBwb3J0cyB2aG9zdC11c2VyISIpOw0K PiAgCQkJcmV0dXJuIC0xOw0KPiAgCQl9DQo+ICsJfQ0KPiArDQo+ICsJaWYgKGRldi0+YmFja2Vu ZF90eXBlID09IFZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1RfVVNFUikgew0KPiAgCQlkZXYtPm9w cyA9ICZ2aXJ0aW9fb3BzX3VzZXI7DQo+IC0JfSBlbHNlIHsNCj4gLQkJaWYgKGRldi0+YmFja2Vu ZF90eXBlID09IFZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1RfVVNFUikgew0KPiAtCQkJZGV2LT5v cHMgPSAmdmlydGlvX29wc191c2VyOw0KPiAtCQl9IGVsc2UgaWYgKGRldi0+YmFja2VuZF90eXBl ID09DQo+IC0JCQkJCVZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1RfS0VSTkVMKSB7DQo+IC0JCQlk ZXYtPm9wcyA9ICZ2aXJ0aW9fb3BzX2tlcm5lbDsNCj4gLQ0KPiAtCQkJZGV2LT52aG9zdGZkcyA9 IG1hbGxvYyhkZXYtPm1heF9xdWV1ZV9wYWlycyAqDQo+IC0JCQkJCSAgICAgICBzaXplb2YoaW50 KSk7DQo+IC0JCQlkZXYtPnRhcGZkcyA9IG1hbGxvYyhkZXYtPm1heF9xdWV1ZV9wYWlycyAqDQo+ IC0JCQkJCSAgICAgc2l6ZW9mKGludCkpOw0KPiAtCQkJaWYgKCFkZXYtPnZob3N0ZmRzIHx8ICFk ZXYtPnRhcGZkcykgew0KPiAtCQkJCVBNRF9JTklUX0xPRyhFUlIsICIoJXMpIEZhaWxlZCB0byBh bGxvY2F0ZSBGRHMiLCBkZXYtDQo+ID5wYXRoKTsNCj4gLQkJCQlyZXR1cm4gLTE7DQo+IC0JCQl9 DQo+IC0NCj4gLQkJCWZvciAocSA9IDA7IHEgPCBkZXYtPm1heF9xdWV1ZV9wYWlyczsgKytxKSB7 DQo+IC0JCQkJZGV2LT52aG9zdGZkc1txXSA9IC0xOw0KPiAtCQkJCWRldi0+dGFwZmRzW3FdID0g LTE7DQo+IC0JCQl9DQo+IC0JCX0gZWxzZSBpZiAoZGV2LT5iYWNrZW5kX3R5cGUgPT0NCj4gLQkJ CQlWSVJUSU9fVVNFUl9CQUNLRU5EX1ZIT1NUX1ZEUEEpIHsNCj4gLQkJCWRldi0+b3BzID0gJnZp cnRpb19vcHNfdmRwYTsNCj4gLQkJfSBlbHNlIHsNCj4gLQkJCVBNRF9EUlZfTE9HKEVSUiwgIigl cykgVW5rbm93biBiYWNrZW5kIHR5cGUiLCBkZXYtPnBhdGgpOw0KPiArCX0gZWxzZSBpZiAoZGV2 LT5iYWNrZW5kX3R5cGUgPT0NCj4gKwkJCVZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1RfS0VSTkVM KSB7DQo+ICsJCWRldi0+b3BzID0gJnZpcnRpb19vcHNfa2VybmVsOw0KPiArDQo+ICsJCWRldi0+ dmhvc3RmZHMgPSBtYWxsb2MoZGV2LT5tYXhfcXVldWVfcGFpcnMgKg0KPiArCQkJCXNpemVvZihp bnQpKTsNCj4gKwkJZGV2LT50YXBmZHMgPSBtYWxsb2MoZGV2LT5tYXhfcXVldWVfcGFpcnMgKg0K PiArCQkJCXNpemVvZihpbnQpKTsNCj4gKwkJaWYgKCFkZXYtPnZob3N0ZmRzIHx8ICFkZXYtPnRh cGZkcykgew0KPiArCQkJUE1EX0lOSVRfTE9HKEVSUiwgIiglcykgRmFpbGVkIHRvIGFsbG9jYXRl IEZEcyIsIGRldi0+cGF0aCk7DQo+ICAJCQlyZXR1cm4gLTE7DQo+ICAJCX0NCj4gKw0KPiArCQlm b3IgKHEgPSAwOyBxIDwgZGV2LT5tYXhfcXVldWVfcGFpcnM7ICsrcSkgew0KPiArCQkJZGV2LT52 aG9zdGZkc1txXSA9IC0xOw0KPiArCQkJZGV2LT50YXBmZHNbcV0gPSAtMTsNCj4gKwkJfQ0KPiAr CX0gZWxzZSBpZiAoZGV2LT5iYWNrZW5kX3R5cGUgPT0NCj4gKwkJCVZJUlRJT19VU0VSX0JBQ0tF TkRfVkhPU1RfVkRQQSkgew0KPiArCQlkZXYtPm9wcyA9ICZ2aXJ0aW9fb3BzX3ZkcGE7DQo+ICsJ fSBlbHNlIHsNCj4gKwkJUE1EX0RSVl9MT0coRVJSLCAiKCVzKSBVbmtub3duIGJhY2tlbmQgdHlw ZSIsIGRldi0+cGF0aCk7DQo+ICsJCXJldHVybiAtMTsNCj4gIAl9DQo+IA0KPiArDQo+ICAJaWYg KGRldi0+b3BzLT5zZXR1cChkZXYpIDwgMCkgew0KPiAgCQlQTURfSU5JVF9MT0coRVJSLCAiKCVz KSBGYWlsZWQgdG8gc2V0dXAgYmFja2VuZFxuIiwgZGV2LT5wYXRoKTsNCj4gIAkJcmV0dXJuIC0x Ow0KPiBAQCAtNTQxLDU0ICs1MzIsMzYgQEAgdmlydGlvX3VzZXJfZGV2X2luaXQoc3RydWN0IHZp cnRpb191c2VyX2RldiAqZGV2LCBjaGFyDQo+ICpwYXRoLCBpbnQgcXVldWVzLA0KPiAgCQlkZXYt PnVuc3VwcG9ydGVkX2ZlYXR1cmVzIHw9DQo+ICAJCQkoMVVMTCA8PCBWSE9TVF9VU0VSX0ZfUFJP VE9DT0xfRkVBVFVSRVMpOw0KPiANCj4gLQlpZiAoIWRldi0+aXNfc2VydmVyKSB7DQo+IC0JCWlm IChkZXYtPm9wcy0+c2V0X293bmVyKGRldikgPCAwKSB7DQo+IC0JCQlQTURfSU5JVF9MT0coRVJS LCAiKCVzKSBGYWlsZWQgdG8gc2V0IGJhY2tlbmQgb3duZXIiLCBkZXYtDQo+ID5wYXRoKTsNCj4g LQkJCXJldHVybiAtMTsNCj4gLQkJfQ0KPiArCWlmIChkZXYtPm9wcy0+c2V0X293bmVyKGRldikg PCAwKSB7DQo+ICsJCVBNRF9JTklUX0xPRyhFUlIsICIoJXMpIEZhaWxlZCB0byBzZXQgYmFja2Vu ZCBvd25lciIsIGRldi0+cGF0aCk7DQo+ICsJCXJldHVybiAtMTsNCj4gKwl9DQo+ICsNCj4gKwlp ZiAoZGV2LT5vcHMtPmdldF9mZWF0dXJlcyhkZXYsICZkZXYtPmRldmljZV9mZWF0dXJlcykgPCAw KSB7DQo+ICsJCVBNRF9JTklUX0xPRyhFUlIsICIoJXMpIEZhaWxlZCB0byBnZXQgYmFja2VuZCBm ZWF0dXJlcyIsIGRldi0NCj4gPnBhdGgpOw0KPiArCQlyZXR1cm4gLTE7DQo+ICsJfQ0KPiANCj4g LQkJaWYgKGRldi0+b3BzLT5nZXRfZmVhdHVyZXMoZGV2LCAmZGV2LT5kZXZpY2VfZmVhdHVyZXMp IDwgMCkgew0KPiAtCQkJUE1EX0lOSVRfTE9HKEVSUiwgIiglcykgRmFpbGVkIHRvIGdldCBiYWNr ZW5kIGZlYXR1cmVzIiwNCj4gZGV2LT5wYXRoKTsNCj4gKwlpZiAoKGRldi0+ZGV2aWNlX2ZlYXR1 cmVzICYgKDFVTEwgPDwgVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZFQVRVUkVTKSkgfHwNCj4gKwkJ CWRldi0+YmFja2VuZF90eXBlID09IFZJUlRJT19VU0VSX0JBQ0tFTkRfVkhPU1RfVkRQQSkgew0K PiArCQlpZiAoZGV2LT5vcHMtPmdldF9wcm90b2NvbF9mZWF0dXJlcyhkZXYsICZwcm90b2NvbF9m ZWF0dXJlcykpIHsNCj4gKwkJCVBNRF9JTklUX0xPRyhFUlIsICIoJXMpIEZhaWxlZCB0byBnZXQg YmFja2VuZCBwcm90b2NvbA0KPiBmZWF0dXJlcyIsDQo+ICsJCQkJCWRldi0+cGF0aCk7DQo+ICAJ CQlyZXR1cm4gLTE7DQo+ICAJCX0NCj4gDQo+ICsJCWRldi0+cHJvdG9jb2xfZmVhdHVyZXMgJj0g cHJvdG9jb2xfZmVhdHVyZXM7DQo+IA0KPiAtCQlpZiAoKGRldi0+ZGV2aWNlX2ZlYXR1cmVzICYg KDFVTEwgPDwNCj4gVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZFQVRVUkVTKSkgfHwNCj4gLQkJCQko ZGV2LT5iYWNrZW5kX3R5cGUgPT0gVklSVElPX1VTRVJfQkFDS0VORF9WSE9TVF9WRFBBKSkNCj4g ew0KPiAtCQkJaWYgKGRldi0+b3BzLT5nZXRfcHJvdG9jb2xfZmVhdHVyZXMoZGV2LCAmcHJvdG9j b2xfZmVhdHVyZXMpKQ0KPiB7DQo+IC0JCQkJUE1EX0lOSVRfTE9HKEVSUiwgIiglcykgRmFpbGVk IHRvIGdldCBiYWNrZW5kIHByb3RvY29sDQo+IGZlYXR1cmVzIiwNCj4gLQkJCQkJCWRldi0+cGF0 aCk7DQo+IC0JCQkJcmV0dXJuIC0xOw0KPiAtCQkJfQ0KPiAtDQo+IC0JCQlkZXYtPnByb3RvY29s X2ZlYXR1cmVzICY9IHByb3RvY29sX2ZlYXR1cmVzOw0KPiAtDQo+IC0JCQlpZiAoZGV2LT5vcHMt PnNldF9wcm90b2NvbF9mZWF0dXJlcyhkZXYsIGRldi0NCj4gPnByb3RvY29sX2ZlYXR1cmVzKSkg ew0KPiAtCQkJCVBNRF9JTklUX0xPRyhFUlIsICIoJXMpIEZhaWxlZCB0byBzZXQgYmFja2VuZCBw cm90b2NvbA0KPiBmZWF0dXJlcyIsDQo+IC0JCQkJCQlkZXYtPnBhdGgpOw0KPiAtCQkJCXJldHVy biAtMTsNCj4gLQkJCX0NCj4gLQ0KPiAtCQkJaWYgKCEoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAm ICgxVUxMIDw8DQo+IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9NUSkpKQ0KPiAtCQkJCWRldi0+dW5z dXBwb3J0ZWRfZmVhdHVyZXMgfD0gKDF1bGwgPDwgVklSVElPX05FVF9GX01RKTsNCj4gKwkJaWYg KGRldi0+b3BzLT5zZXRfcHJvdG9jb2xfZmVhdHVyZXMoZGV2LCBkZXYtPnByb3RvY29sX2ZlYXR1 cmVzKSkNCj4gew0KPiArCQkJUE1EX0lOSVRfTE9HKEVSUiwgIiglcykgRmFpbGVkIHRvIHNldCBi YWNrZW5kIHByb3RvY29sDQo+IGZlYXR1cmVzIiwNCj4gKwkJCQkJZGV2LT5wYXRoKTsNCj4gKwkJ CXJldHVybiAtMTsNCj4gIAkJfQ0KPiAtCX0gZWxzZSB7DQo+IC0JCS8qIFdlIGp1c3QgcHJldGVu ZCB2aG9zdC11c2VyIGNhbiBzdXBwb3J0IGFsbCB0aGVzZSBmZWF0dXJlcy4NCj4gLQkJICogTm90 ZSB0aGF0IHRoaXMgY291bGQgYmUgcHJvYmxlbWF0aWMgdGhhdCBpZiBzb21lIGZlYXR1cmUgaXMN Cj4gLQkJICogbmVnb3RpYXRlZCBidXQgbm90IHN1cHBvcnRlZCBieSB0aGUgdmhvc3QtdXNlciB3 aGljaCBjb21lcw0KPiAtCQkgKiBsYXRlci4NCj4gLQkJICovDQo+IC0JCWRldi0+ZGV2aWNlX2Zl YXR1cmVzID0gVklSVElPX1VTRVJfU1VQUE9SVEVEX0ZFQVRVUkVTOw0KPiANCj4gLQkJLyogV2Ug Y2Fubm90IGFzc3VtZSBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfU1RBVFVTIGlzIHN1cHBvcnRlZA0K PiAtCQkgKiB1bnRpbCBpdCdzIG5lZ290aWF0ZWQNCj4gLQkJICovDQo+IC0JCWRldi0+cHJvdG9j b2xfZmVhdHVyZXMgJj0NCj4gLQkJCX4oMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfU1RB VFVTKTsNCj4gKwkJaWYgKCEoZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmICgxVUxMIDw8IFZIT1NU X1VTRVJfUFJPVE9DT0xfRl9NUSkpKQ0KPiArCQkJZGV2LT51bnN1cHBvcnRlZF9mZWF0dXJlcyB8 PSAoMXVsbCA8PCBWSVJUSU9fTkVUX0ZfTVEpOw0KPiAgCX0NCj4gDQo+IC0NCj4gLQ0KPiAgCWlm ICghbXJnX3J4YnVmKQ0KPiAgCQlkZXYtPnVuc3VwcG9ydGVkX2ZlYXR1cmVzIHw9ICgxdWxsIDw8 IFZJUlRJT19ORVRfRl9NUkdfUlhCVUYpOw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fdXNlcl9ldGhkZXYuYw0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0 aW9fdXNlcl9ldGhkZXYuYw0KPiBpbmRleCA1ZTI1NmY0ZTZkLi5lODIyZDkzNjkwIDEwMDY0NA0K PiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRoZGV2LmMNCj4gKysrIGIv ZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyX2V0aGRldi5jDQo+IEBAIC0xNzQsMTEgKzE3 NCw2IEBAIHZpcnRpb191c2VyX2RlbGF5ZWRfaGFuZGxlcih2b2lkICpwYXJhbSkNCj4gIAkJaWYg KGRldi0+dmhvc3RmZCA+PSAwKSB7DQo+ICAJCQljbG9zZShkZXYtPnZob3N0ZmQpOw0KPiAgCQkJ ZGV2LT52aG9zdGZkID0gLTE7DQo+IC0JCQkvKiBVbnRpbCB0aGUgZmVhdHVlcnMgYXJlIG5lZ290 aWF0ZWQgYWdhaW4sIGRvbid0IGFzc3VtZQ0KPiAtCQkJICogdGhlIGJhY2tlbmQgc3VwcG9ydHMg VkhPU1RfVVNFUl9QUk9UT0NPTF9GX1NUQVRVUw0KPiAtCQkJICovDQo+IC0JCQlkZXYtPnByb3Rv Y29sX2ZlYXR1cmVzICY9DQo+IC0JCQkJfigxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9T VEFUVVMpOw0KPiAgCQl9DQo+ICAJCWV0aF9kZXYtPmludHJfaGFuZGxlLT5mZCA9IGRldi0+bGlz dGVuZmQ7DQo+ICAJCXJ0ZV9pbnRyX2NhbGxiYWNrX3JlZ2lzdGVyKGV0aF9kZXYtPmludHJfaGFu ZGxlLA0KPiAtLQ0KPiAyLjI5LjINCg0KUmV2aWV3ZWQtYnk6IENoZW5ibyBYaWEgPGNoZW5iby54 aWFAaW50ZWwuY29tPg0K