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 298E8A0A0F; Wed, 30 Jun 2021 07:20:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1300541213; Wed, 30 Jun 2021 07:20:51 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 859FC4003C for ; Wed, 30 Jun 2021 07:20:49 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10030"; a="229925110" X-IronPort-AV: E=Sophos;i="5.83,311,1616482800"; d="scan'208";a="229925110" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jun 2021 22:20:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,311,1616482800"; d="scan'208";a="492931947" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga002.fm.intel.com with ESMTP; 29 Jun 2021 22:20:48 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 29 Jun 2021 22:20:48 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) 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.2242.4; Tue, 29 Jun 2021 22:20:47 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Tue, 29 Jun 2021 22:20:47 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.172) 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.2242.4; Tue, 29 Jun 2021 22:20:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EbSjZ0P5Bz4QENlf4G65dvAIosRfs7XHjIlFYTyjGOy1sbzMiDnDEnMhxziCx6DUBOXNDFrRbtqyiy2TykJQ35DldSfFLif5zFGLtTemzOxXxJ4Xj31Wdj/m6qmhM6Lx5H1f637mvGTFMZx2R8r/lcnPI9URbgV9pvtyRDOpkX/dquYn+oAeALMFanEmSTsA4yvuGlsVQkUGz5COqWHpZAdeCkmJYCV8IEmZv8mUzCA4yRQYFpcoaCtWKl6ZJM4slgwRQjIdilOU+7TfCdoHtENLFtm1s3aZe6riqNJUATLGhBOLI+91gMl17uQIWaMPa8d+s3APWANOuGxpC5Hsww== 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=rcg1o6fgvjjElMt5frZtBmmJlhjqO7GDMxGdUCsmUkU=; b=QfCoipjmPfBIEA62weNg+My7IuJjIVWzhWp72jrlnQFWTORhqzi6g5Z/4xQhh2ZBKNe1Ri+DxSHHc4x2jGY6SoK8o48isQrATTNwDD13jFXFXJdnpzxLZMFdUKPb6gTX6dfld7L0KPyKa6cpW0daD+qp9rNwEe8TCL2LAoiRaePrYmI84FS4QoQk84goemDIj7sv9e+FvlVquhgY/vOaKozEjCodzhEMZzlc/IM2txD1PXregs81R9yw8k7tis3j6HgCPEoq15li20Nvnx+tfrOldv+Q6TyZUQY2VP9kUjz/OQTggfZld5y7aNiVyUL2Ak7zwRjSBWPIm2Gj4+YlnQ== 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=rcg1o6fgvjjElMt5frZtBmmJlhjqO7GDMxGdUCsmUkU=; b=o2OWZbvXviokfvBP4qtOXanQOoJtQzGejkO1CBVZiq1fkM8jXclVsQ+AV9A5+UYkrpSOZBciW0+HpPJeffbjkI7uyPTgOSHt0Cov8qQYQKI1n02d0g5uEPp2Q+tfO3/DcMKPaY1dXoms4Ke/cVBjJt4tjSP1FZqTx0QKsX4SP4c= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3743.namprd11.prod.outlook.com (2603:10b6:208:f4::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22; Wed, 30 Jun 2021 05:20:46 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32%7]) with mapi id 15.20.4264.026; Wed, 30 Jun 2021 05:20:46 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "david.marchand@redhat.com" Thread-Topic: [PATCH v7 7/7] vhost: convert inflight data to DPDK allocation API Thread-Index: AQHXbQGE1yaPNUS4oEG20mlUBF0QFqssBUSA Date: Wed, 30 Jun 2021 05:20:45 +0000 Message-ID: References: <20210629161133.79472-1-maxime.coquelin@redhat.com> <20210629161133.79472-8-maxime.coquelin@redhat.com> In-Reply-To: <20210629161133.79472-8-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.54] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 82a7134f-c63b-486e-e16f-08d93b86d099 x-ms-traffictypediagnostic: MN2PR11MB3743: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3383; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IG+Ja5k4zopr2nSwHBdQTGNtH/7VY/j/8xDetsFex8w9Q9yfBazguPlkN1M+FAAjcSArus5iU0/jOVAgc4Nz3nhVI32gUjA9dRF7MyIVnU56RsRywAIpgT/bIXhOPnvU6Lww/4EefcLIzkTeeC47EqIaNWCFyO41YujgEPyMn1orliRTW9a1jX0tX+Tcaic3AZEs0Fstw3oQUhJ6s+ceQDDS78rWnSdd0JLMc/oaRiUPDQQd7Ia9OOzFWadVPo7p8tYRiObLO1NwC/wVd44OW56UVm31kAD6phVXfvaDCS1QhOULmzQ7T8RmHVNAjWlZqXU3doI3xYeLKBK/7jT5Y/sgOX2ywcvBdfDfDWLix37EuNtoc1UE5OjOlSTXODc7+4rnPuxf4x/KtaGvDuJZdcYnhZ4vhzFeepBX8ZVRyXydAZ3p/XjTA4FMOS2JPRyvIT6wM04LkGLFc6dP7JT9NKNOVxBg+ZZpSH0BKrghFtvoKvLzpghpoS/y8ei0iyAsUTyeVTc6oVAky4Msp6oh00WL66ESO3evEHZoKiHlSdP+DgRDeMd8vc3EoqchlSBC6yL4B5slyV5KxH/vbcdCgzbOchl0Ft7Fqgh1jzBsc9tQ0DPTt1k/JrS68H1to5+esTu88ies2HKXrOyFhmBQGA== 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:(396003)(376002)(366004)(346002)(39860400002)(136003)(52536014)(316002)(64756008)(66446008)(110136005)(33656002)(478600001)(2906002)(9686003)(8676002)(8936002)(55016002)(5660300002)(71200400001)(76116006)(7696005)(26005)(53546011)(186003)(6506007)(83380400001)(86362001)(66476007)(66946007)(122000001)(66556008)(38100700002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y1JaUFRuUXdJY2hlZVh4M2hKa3pVa1hWVlltMmhObnJMQWllNEJPdE5xS0FD?= =?utf-8?B?d254M3NuaWdjR2loWWhtdzIxcGdaWFdjU3JGU0IwUFZzdFFTUURBcHFhOGha?= =?utf-8?B?UDNQNHppdkRsSjA1LytVMGlDRHZ1QVVKQTluVi8vQTNIVjhMS3hWRFpXV1Nk?= =?utf-8?B?QUM3RTBoQXQrZ1NuTkZTRzVsRnFicHBVZmtzVE1OeG1LT2Q2ZGNWdnVkWXVH?= =?utf-8?B?azVxSkR6cytLMHpOaWxtdWtWcHI0VVNPS20zOGFJVDgyYjRuanVFNVpqdXk1?= =?utf-8?B?N0c5V210V2hWejlqTWpYdlhnTXAxMHd3SW1BcE5UVWlMWmxYRk1jZ2w1SFVB?= =?utf-8?B?UnVnUFgrcWxXTXJVajNtUE5rekJOVWJFMm96UlgreDZIVkFUcTYvK2NIUkhx?= =?utf-8?B?RjVGL0drMXBGKzNYNDVhS0NydnRwWGF6VStVT3B2S2c1czUxK3E0N0pWbVRF?= =?utf-8?B?dkxINVAveTR3a1E4Y1JMRUc1NklMRmlmdVdnNlZ5OWZsNFNpTjBJbDRzOE9h?= =?utf-8?B?WTZKRVFQSjVQYit1NHh0b2kxV2dJYnFjZktlL2kxSE02ZWg1RjBZKy9idVRn?= =?utf-8?B?T2JwOVdWWWdIcmNnU1ZscXgveGJORWZBZjZXeE9UdnVjRFdtRDFsWGdaQkxK?= =?utf-8?B?OHluenJRNkNDMEN0bEdadVlhbWhlYjJUU0JNYXBLcjlSbUlxT01BQmsrTnhJ?= =?utf-8?B?VmxVVDZUaVkrTkNlUXNIVUdncTk0aEkvblNveHZVbFV3a3pkMjhMS0pRWDFz?= =?utf-8?B?WFpmN2YrTUdvbVRSZlhKSUZBeUxtSjRPMVJTTTdwaXBzR3l3Zm4vdHJsMjFB?= =?utf-8?B?Z0czOW9uN2pHMit3UDJvOXViZzJGd0JaV1V6dkNvTTM0TU00ZmNrdkRiOHVl?= =?utf-8?B?MGlVbWl3bjhUSDU5OVV6alJpY3BtRjNadHFvWWhhSFJGak5wK0NjejZoNkV2?= =?utf-8?B?UjV4MldZWlFha0JlZWZjODVXdmViT29TVitwRzlrdk9nU2xjVVoySGF1TldK?= =?utf-8?B?Z2EyK3BScEZwQVZqNXpSWlAyV2VXUllSS05kWi9ubmkyYW9GUVFmUks3enRw?= =?utf-8?B?LzVaeFNXVktnaGJVbW5LQ0lEWXVnYUNiVFpYUlRJYzZ5Q0FNRjB2QXg1cjlX?= =?utf-8?B?dTZidytSTzNCVERVMVBmdWFKaDEvRVR6N1BMcnZXeW9WZmNCMCtiK2M4K0M5?= =?utf-8?B?K3NxcGgyWDlpQVVFbGNLRVpPWmo2ZzNRaFZhMmJaME51UkYzUE5VdmpRVFlT?= =?utf-8?B?clpVTThKaE1WeEExc2lXZ2ZsekpxTmtKMm9RR3FJdUQrbDI3Um9Ya0VXVngz?= =?utf-8?B?d28yTVAxT1JWRWViTmtwU3RZRzNvQVM2T1NyOXBHMVhadUo3ZHR6K1ZLWUtu?= =?utf-8?B?VXJYMFYwQ2hlVjdkSDdFZk5nLzhLRTZMMmFqQjBxZExQc0lwdXFaNmZYendT?= =?utf-8?B?RER1d2hBcXdRKzIyaG4zRFdNWDEwQ2p1UUtvRUQvR0orZnlJNTJaUU9NeHNt?= =?utf-8?B?S2xmQ3pnR2VSR2gyc3ZoUEM5dTFEeC9wdDFVZkl1RmtmOGl3bTlmL3dhemtK?= =?utf-8?B?S0hWUE5sSjJubEswaXNsWWJFUUs5K0FkU3RQSjlqaE1zMmE1ZkJLdUI1YmxK?= =?utf-8?B?b3U2czd3UjgzVDBFS3RlQzNMQjFvemg5Z3MxNVpPeGgyU05CV0kzck9jTXho?= =?utf-8?B?d0tzYm43M1ZiY2p6UEVZdVZRb05oVExzNi9mUi9sSVNYNFdURlVkYzJhWkMy?= =?utf-8?Q?rfqjAyKjU6+20LAvz8=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: 82a7134f-c63b-486e-e16f-08d93b86d099 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2021 05:20:45.9818 (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: oXgKs2zkrB7sSFSiowdp81fE4OEih7/zs8m+0U9t0AhHj3mpHNh7K6aLAbP0s9+nDlnoP1tWYEgneVRY8C8VmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3743 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v7 7/7] vhost: convert inflight data to DPDK allocation API 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 eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIEp1bmUgMzAsIDIw MjEgMTI6MTIgQU0NCj4gVG86IGRldkBkcGRrLm9yZzsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFA aW50ZWwuY29tPjsNCj4gZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiBDYzogTWF4aW1lIENv cXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogW1BBVENIIHY3 IDcvN10gdmhvc3Q6IGNvbnZlcnQgaW5mbGlnaHQgZGF0YSB0byBEUERLIGFsbG9jYXRpb24gQVBJ DQo+IA0KPiBJbmZsaWdodCBtZXRhZGF0YSBhcmUgYWxsb2NhdGVkIHVzaW5nIGdsaWJjJ3MgY2Fs bG9jLg0KPiBUaGlzIHBhdGNoIGNvbnZlcnRzIHRoZW0gdG8gcnRlX3ptYWxsb2Nfc29ja2V0IHRv IHRha2UNCj4gY2FyZSBvZiB0aGUgTlVNQSBhZmZpbml0eS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6 IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IC0tLQ0KPiAg bGliL3Zob3N0L3Zob3N0LmMgICAgICB8ICA0ICstLQ0KPiAgbGliL3Zob3N0L3Zob3N0X3VzZXIu YyB8IDcxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQ0KPiAgMiBm aWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCj4gDQo+IGRp ZmYgLS1naXQgYS9saWIvdmhvc3Qvdmhvc3QuYyBiL2xpYi92aG9zdC92aG9zdC5jDQo+IGluZGV4 IDAwMDBjZDMyOTcuLjUzYTQ3MGY1NDcgMTAwNjQ0DQo+IC0tLSBhL2xpYi92aG9zdC92aG9zdC5j DQo+ICsrKyBiL2xpYi92aG9zdC92aG9zdC5jDQo+IEBAIC0zMTIsMTAgKzMxMiwxMCBAQCBjbGVh bnVwX3ZxX2luZmxpZ2h0KHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdA0KPiB2aG9zdF92 aXJ0cXVldWUgKnZxKQ0KPiANCj4gIAlpZiAodnEtPnJlc3VibWl0X2luZmxpZ2h0KSB7DQo+ICAJ CWlmICh2cS0+cmVzdWJtaXRfaW5mbGlnaHQtPnJlc3VibWl0X2xpc3QpIHsNCj4gLQkJCWZyZWUo dnEtPnJlc3VibWl0X2luZmxpZ2h0LT5yZXN1Ym1pdF9saXN0KTsNCj4gKwkJCXJ0ZV9mcmVlKHZx LT5yZXN1Ym1pdF9pbmZsaWdodC0+cmVzdWJtaXRfbGlzdCk7DQo+ICAJCQl2cS0+cmVzdWJtaXRf aW5mbGlnaHQtPnJlc3VibWl0X2xpc3QgPSBOVUxMOw0KPiAgCQl9DQo+IC0JCWZyZWUodnEtPnJl c3VibWl0X2luZmxpZ2h0KTsNCj4gKwkJcnRlX2ZyZWUodnEtPnJlc3VibWl0X2luZmxpZ2h0KTsN Cj4gIAkJdnEtPnJlc3VibWl0X2luZmxpZ2h0ID0gTlVMTDsNCj4gIAl9DQo+ICB9DQo+IGRpZmYg LS1naXQgYS9saWIvdmhvc3Qvdmhvc3RfdXNlci5jIGIvbGliL3Zob3N0L3Zob3N0X3VzZXIuYw0K PiBpbmRleCBkOGVjMDg3ZGZjLi42NzkzNWM0Y2NjIDEwMDY0NA0KPiAtLS0gYS9saWIvdmhvc3Qv dmhvc3RfdXNlci5jDQo+ICsrKyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gQEAgLTE4OCw3 ICsxODgsNyBAQCB2aG9zdF9iYWNrZW5kX2NsZWFudXAoc3RydWN0IHZpcnRpb19uZXQgKmRldikN Cj4gIAkJCWRldi0+aW5mbGlnaHRfaW5mby0+ZmQgPSAtMTsNCj4gIAkJfQ0KPiANCj4gLQkJZnJl ZShkZXYtPmluZmxpZ2h0X2luZm8pOw0KPiArCQlydGVfZnJlZShkZXYtPmluZmxpZ2h0X2luZm8p Ow0KPiAgCQlkZXYtPmluZmxpZ2h0X2luZm8gPSBOVUxMOw0KPiAgCX0NCj4gDQo+IEBAIC01NjIs NiArNTYyLDMxIEBAIG51bWFfcmVhbGxvYyhzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBpbnQgaW5k ZXgpDQo+ICAJCXZxLT5sb2dfY2FjaGUgPSBsYzsNCj4gIAl9DQo+IA0KPiArCWlmICh2cS0+cmVz dWJtaXRfaW5mbGlnaHQpIHsNCj4gKwkJc3RydWN0IHJ0ZV92aG9zdF9yZXN1Ym1pdF9pbmZvICpy aTsNCj4gKw0KPiArCQlyaSA9IHJ0ZV9yZWFsbG9jX3NvY2tldCh2cS0+cmVzdWJtaXRfaW5mbGln aHQsIHNpemVvZigqcmkpLCAwLA0KPiBub2RlKTsNCj4gKwkJaWYgKCFyaSkgew0KPiArCQkJVkhP U1RfTE9HX0NPTkZJRyhFUlIsICJGYWlsZWQgdG8gcmVhbGxvYyByZXN1Ym1pdCBpbmZsaWdodA0K PiBvbiBub2RlICVkXG4iLA0KPiArCQkJCQlub2RlKTsNCj4gKwkJCXJldHVybiBkZXY7DQo+ICsJ CX0NCj4gKwkJdnEtPnJlc3VibWl0X2luZmxpZ2h0ID0gcmk7DQo+ICsNCj4gKwkJaWYgKHJpLT5y ZXN1Ym1pdF9saXN0KSB7DQo+ICsJCQlzdHJ1Y3QgcnRlX3Zob3N0X3Jlc3VibWl0X2Rlc2MgKnJk Ow0KPiArDQo+ICsJCQlyZCA9IHJ0ZV9yZWFsbG9jX3NvY2tldChyaS0+cmVzdWJtaXRfbGlzdCwg c2l6ZW9mKCpyZCkgKiByaS0NCj4gPnJlc3VibWl0X251bSwNCj4gKwkJCQkJMCwgbm9kZSk7DQo+ ICsJCQlpZiAoIXJkKSB7DQo+ICsJCQkJVkhPU1RfTE9HX0NPTkZJRyhFUlIsICJGYWlsZWQgdG8g cmVhbGxvYyByZXN1Ym1pdCBsaXN0DQo+IG9uIG5vZGUgJWRcbiIsDQo+ICsJCQkJCQlub2RlKTsN Cj4gKwkJCQlyZXR1cm4gZGV2Ow0KPiArCQkJfQ0KPiArCQkJcmktPnJlc3VibWl0X2xpc3QgPSBy ZDsNCj4gKwkJfQ0KPiArCX0NCj4gKw0KPiAgCXZxLT5udW1hX25vZGUgPSBub2RlOw0KPiANCj4g IG91dF9kZXZfcmVhbGxvYzoNCj4gQEAgLTE0OTEsNiArMTUxNiw3IEBAIHZob3N0X3VzZXJfZ2V0 X2luZmxpZ2h0X2ZkKHN0cnVjdCB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gIAl1aW50MTZfdCBudW1f cXVldWVzLCBxdWV1ZV9zaXplOw0KPiAgCXN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYgPSAqcGRldjsN Cj4gIAlpbnQgZmQsIGksIGo7DQo+ICsJaW50IG51bWFfbm9kZSA9IFNPQ0tFVF9JRF9BTlk7DQo+ ICAJdm9pZCAqYWRkcjsNCj4gDQo+ICAJaWYgKG1zZy0+c2l6ZSAhPSBzaXplb2YobXNnLT5wYXls b2FkLmluZmxpZ2h0KSkgew0KPiBAQCAtMTUwMCw5ICsxNTI2LDE2IEBAIHZob3N0X3VzZXJfZ2V0 X2luZmxpZ2h0X2ZkKHN0cnVjdCB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gIAkJcmV0dXJuIFJURV9W SE9TVF9NU0dfUkVTVUxUX0VSUjsNCj4gIAl9DQo+IA0KPiArCS8qDQo+ICsJICogSWYgVlEgMCBo YXMgYWxyZWFkeSBiZWVuIGFsbG9jYXRlZCwgdHJ5IHRvIGFsbG9jYXRlIG9uIHRoZSBzYW1lDQo+ ICsJICogTlVNQSBub2RlLiBJdCBjYW4gYmUgcmVhbGxvY2F0ZWQgbGF0ZXIgaW4gbnVtYV9yZWFs bG9jKCkuDQo+ICsJICovDQo+ICsJaWYgKGRldi0+bnJfdnJpbmcgPiAwKQ0KPiArCQludW1hX25v ZGUgPSBkZXYtPnZpcnRxdWV1ZVswXS0+bnVtYV9ub2RlOw0KPiArDQo+ICAJaWYgKGRldi0+aW5m bGlnaHRfaW5mbyA9PSBOVUxMKSB7DQo+IC0JCWRldi0+aW5mbGlnaHRfaW5mbyA9IGNhbGxvYygx LA0KPiAtCQkJCQkgICAgc2l6ZW9mKHN0cnVjdCBpbmZsaWdodF9tZW1faW5mbykpOw0KPiArCQlk ZXYtPmluZmxpZ2h0X2luZm8gPSBydGVfem1hbGxvY19zb2NrZXQoImluZmxpZ2h0X2luZm8iLA0K PiArCQkJCXNpemVvZihzdHJ1Y3QgaW5mbGlnaHRfbWVtX2luZm8pLCAwLCBudW1hX25vZGUpOw0K PiAgCQlpZiAoIWRldi0+aW5mbGlnaHRfaW5mbykgew0KPiAgCQkJVkhPU1RfTE9HX0NPTkZJRyhF UlIsDQo+ICAJCQkJImZhaWxlZCB0byBhbGxvYyBkZXYgaW5mbGlnaHQgYXJlYVxuIik7DQo+IEBA IC0xNTg1LDYgKzE2MTgsNyBAQCB2aG9zdF91c2VyX3NldF9pbmZsaWdodF9mZChzdHJ1Y3Qgdmly dGlvX25ldCAqKnBkZXYsDQo+IFZob3N0VXNlck1zZyAqbXNnLA0KPiAgCXN0cnVjdCB2aG9zdF92 aXJ0cXVldWUgKnZxOw0KPiAgCXZvaWQgKmFkZHI7DQo+ICAJaW50IGZkLCBpOw0KPiArCWludCBu dW1hX25vZGUgPSBTT0NLRVRfSURfQU5ZOw0KPiANCj4gIAlmZCA9IG1zZy0+ZmRzWzBdOw0KPiAg CWlmIChtc2ctPnNpemUgIT0gc2l6ZW9mKG1zZy0+cGF5bG9hZC5pbmZsaWdodCkgfHwgZmQgPCAw KSB7DQo+IEBAIC0xNjE4LDkgKzE2NTIsMTYgQEAgdmhvc3RfdXNlcl9zZXRfaW5mbGlnaHRfZmQo c3RydWN0IHZpcnRpb19uZXQgKipwZGV2LA0KPiBWaG9zdFVzZXJNc2cgKm1zZywNCj4gIAkJInNl dF9pbmZsaWdodF9mZCBwZXJ2cV9pbmZsaWdodF9zaXplOiAlZFxuIiwNCj4gIAkJcGVydnFfaW5m bGlnaHRfc2l6ZSk7DQo+IA0KPiArCS8qDQo+ICsJICogSWYgVlEgMCBoYXMgYWxyZWFkeSBiZWVu IGFsbG9jYXRlZCwgdHJ5IHRvIGFsbG9jYXRlIG9uIHRoZSBzYW1lDQo+ICsJICogTlVNQSBub2Rl LiBJdCBjYW4gYmUgcmVhbGxvY2F0ZWQgbGF0ZXIgaW4gbnVtYV9yZWFsbG9jKCkuDQo+ICsJICov DQo+ICsJaWYgKGRldi0+bnJfdnJpbmcgPiAwKQ0KPiArCQludW1hX25vZGUgPSBkZXYtPnZpcnRx dWV1ZVswXS0+bnVtYV9ub2RlOw0KPiArDQo+ICAJaWYgKCFkZXYtPmluZmxpZ2h0X2luZm8pIHsN Cj4gLQkJZGV2LT5pbmZsaWdodF9pbmZvID0gY2FsbG9jKDEsDQo+IC0JCQkJCSAgICBzaXplb2Yo c3RydWN0IGluZmxpZ2h0X21lbV9pbmZvKSk7DQo+ICsJCWRldi0+aW5mbGlnaHRfaW5mbyA9IHJ0 ZV96bWFsbG9jX3NvY2tldCgiaW5mbGlnaHRfaW5mbyIsDQo+ICsJCQkJc2l6ZW9mKHN0cnVjdCBp bmZsaWdodF9tZW1faW5mbyksIDAsIG51bWFfbm9kZSk7DQo+ICAJCWlmIChkZXYtPmluZmxpZ2h0 X2luZm8gPT0gTlVMTCkgew0KPiAgCQkJVkhPU1RfTE9HX0NPTkZJRyhFUlIsDQo+ICAJCQkJImZh aWxlZCB0byBhbGxvYyBkZXYgaW5mbGlnaHQgYXJlYVxuIik7DQo+IEBAIC0xNzc5LDE5ICsxODIw LDIxIEBAIHZob3N0X2NoZWNrX3F1ZXVlX2luZmxpZ2h0c19zcGxpdChzdHJ1Y3QgdmlydGlvX25l dA0KPiAqZGV2LA0KPiAgCXZxLT5sYXN0X2F2YWlsX2lkeCArPSByZXN1Ym1pdF9udW07DQo+IA0K PiAgCWlmIChyZXN1Ym1pdF9udW0pIHsNCj4gLQkJcmVzdWJtaXQgID0gY2FsbG9jKDEsIHNpemVv ZihzdHJ1Y3QgcnRlX3Zob3N0X3Jlc3VibWl0X2luZm8pKTsNCj4gKwkJcmVzdWJtaXQgID0gcnRl X3ptYWxsb2Nfc29ja2V0KCJyZXN1Ym1pdCIsIHNpemVvZihzdHJ1Y3QNCj4gcnRlX3Zob3N0X3Jl c3VibWl0X2luZm8pLA0KPiArCQkJCTAsIHZxLT5udW1hX25vZGUpOw0KPiAgCQlpZiAoIXJlc3Vi bWl0KSB7DQo+ICAJCQlWSE9TVF9MT0dfQ09ORklHKEVSUiwNCj4gIAkJCQkiZmFpbGVkIHRvIGFs bG9jYXRlIG1lbW9yeSBmb3IgcmVzdWJtaXQgaW5mby5cbiIpOw0KPiAgCQkJcmV0dXJuIFJURV9W SE9TVF9NU0dfUkVTVUxUX0VSUjsNCj4gIAkJfQ0KPiANCj4gLQkJcmVzdWJtaXQtPnJlc3VibWl0 X2xpc3QgPSBjYWxsb2MocmVzdWJtaXRfbnVtLA0KPiAtCQkJc2l6ZW9mKHN0cnVjdCBydGVfdmhv c3RfcmVzdWJtaXRfZGVzYykpOw0KPiArCQlyZXN1Ym1pdC0+cmVzdWJtaXRfbGlzdCA9IHJ0ZV96 bWFsbG9jX3NvY2tldCgicmVzdWJtaXRfbGlzdCIsDQo+ICsJCQkJcmVzdWJtaXRfbnVtICogc2l6 ZW9mKHN0cnVjdCBydGVfdmhvc3RfcmVzdWJtaXRfZGVzYyksDQo+ICsJCQkJMCwgdnEtPm51bWFf bm9kZSk7DQo+ICAJCWlmICghcmVzdWJtaXQtPnJlc3VibWl0X2xpc3QpIHsNCj4gIAkJCVZIT1NU X0xPR19DT05GSUcoRVJSLA0KPiAgCQkJCSJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBp bmZsaWdodCBkZXNjLlxuIik7DQo+IC0JCQlmcmVlKHJlc3VibWl0KTsNCj4gKwkJCXJ0ZV9mcmVl KHJlc3VibWl0KTsNCj4gIAkJCXJldHVybiBSVEVfVkhPU1RfTVNHX1JFU1VMVF9FUlI7DQo+ICAJ CX0NCj4gDQo+IEBAIC0xODczLDE5ICsxOTE2LDIxIEBAIHZob3N0X2NoZWNrX3F1ZXVlX2luZmxp Z2h0c19wYWNrZWQoc3RydWN0IHZpcnRpb19uZXQNCj4gKmRldiwNCj4gIAl9DQo+IA0KPiAgCWlm IChyZXN1Ym1pdF9udW0pIHsNCj4gLQkJcmVzdWJtaXQgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVj dCBydGVfdmhvc3RfcmVzdWJtaXRfaW5mbykpOw0KPiArCQlyZXN1Ym1pdCAgPSBydGVfem1hbGxv Y19zb2NrZXQoInJlc3VibWl0Iiwgc2l6ZW9mKHN0cnVjdA0KPiBydGVfdmhvc3RfcmVzdWJtaXRf aW5mbyksDQo+ICsJCQkJMCwgdnEtPm51bWFfbm9kZSk7DQo+ICAJCWlmIChyZXN1Ym1pdCA9PSBO VUxMKSB7DQo+ICAJCQlWSE9TVF9MT0dfQ09ORklHKEVSUiwNCj4gIAkJCQkiZmFpbGVkIHRvIGFs bG9jYXRlIG1lbW9yeSBmb3IgcmVzdWJtaXQgaW5mby5cbiIpOw0KPiAgCQkJcmV0dXJuIFJURV9W SE9TVF9NU0dfUkVTVUxUX0VSUjsNCj4gIAkJfQ0KPiANCj4gLQkJcmVzdWJtaXQtPnJlc3VibWl0 X2xpc3QgPSBjYWxsb2MocmVzdWJtaXRfbnVtLA0KPiAtCQkJc2l6ZW9mKHN0cnVjdCBydGVfdmhv c3RfcmVzdWJtaXRfZGVzYykpOw0KPiArCQlyZXN1Ym1pdC0+cmVzdWJtaXRfbGlzdCA9IHJ0ZV96 bWFsbG9jX3NvY2tldCgicmVzdWJtaXRfbGlzdCIsDQo+ICsJCQkJcmVzdWJtaXRfbnVtICogc2l6 ZW9mKHN0cnVjdCBydGVfdmhvc3RfcmVzdWJtaXRfZGVzYyksDQo+ICsJCQkJMCwgdnEtPm51bWFf bm9kZSk7DQo+ICAJCWlmIChyZXN1Ym1pdC0+cmVzdWJtaXRfbGlzdCA9PSBOVUxMKSB7DQo+ICAJ CQlWSE9TVF9MT0dfQ09ORklHKEVSUiwNCj4gIAkJCQkiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9y eSBmb3IgcmVzdWJtaXQgZGVzYy5cbiIpOw0KPiAtCQkJZnJlZShyZXN1Ym1pdCk7DQo+ICsJCQly dGVfZnJlZShyZXN1Ym1pdCk7DQo+ICAJCQlyZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRfRVJS Ow0KPiAgCQl9DQo+IA0KPiAtLQ0KPiAyLjMxLjENCg0KUmV2aWV3ZWQtYnk6IENoZW5ibyBYaWEg PGNoZW5iby54aWFAaW50ZWwuY29tPg0K