From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B5C0FA0524; Fri, 6 Nov 2020 03:53:16 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 093F72BE2; Fri, 6 Nov 2020 03:53:15 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 242D71D9E; Fri, 6 Nov 2020 03:53:11 +0100 (CET) IronPort-SDR: E4iv3FTYQ11FFNxGV0BY6pMhpfRkawb3Z9gVrqwIgwQLpllzWEHg5CLuEcacAYE23x7+PYdlTC CrtpiTl5uH7A== X-IronPort-AV: E=McAfee;i="6000,8403,9796"; a="157273332" X-IronPort-AV: E=Sophos;i="5.77,454,1596524400"; d="scan'208";a="157273332" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Nov 2020 18:53:09 -0800 IronPort-SDR: 9h4JNIJjHzqT4fhNKDYtHZLHtuOanZOT7IKgcR+NtrA+htGu4GTaFc24lk3HHAQcVDm6q7WCn6 uwNqCeOt2i6A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,454,1596524400"; d="scan'208";a="528187674" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga006.fm.intel.com with ESMTP; 05 Nov 2020 18:53:09 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Nov 2020 18:53:09 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Nov 2020 18:53:09 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) 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, 5 Nov 2020 18:53:09 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.49) 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; Thu, 5 Nov 2020 18:53:08 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WdrLayjnll5Ts6jxYEZsL2SRHl75URtNx+KR0/ldy6V5YqDL4RQOyZsbsjbcbqIJoICLfhXF/qVG7P0AMGFBHMLiDnx3Emd/oosYSxPGGvpYR0GfIFqrPikPYDbFDIpt+UQ7dixrQTXdNdGRmXOLv1ISNcTpqpJ3fTalMeX10QIZa1hL4KEAL3B1ynjVGxoz5IN8WDzJsp5S2xP1rmLReWTkvDI7hDzDVmX4SvFT0fz0dvSeBTSlQj7s1Pjaz9hrqkm2SS4ugq6mOAcTEgraUpXZQPrxXZIdyf5V+weWvdAVNJm1L1kARifr9/90cMaC6TQTanOGnQWH9AAXWdGUZQ== 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=V6IkTV4TnJzljnrVUhyUTqlBTw+ZJLgA83VH4wLwumA=; b=gQ/5d/EHYwwaun7ZrJ9hWbLLHTHRrPN7wb5/6KLe0oTPSH0FE/F/m6wYlTwgkgCxnqsmHIXFdwcWD0QLBIMvQS+NjWZk5Cd4szbJTnqMUGjmFF9rpYsEJZqOuDDEBhKTowrDnlyPQ8qP0KnzbivrLDl0MxSExXx8K5hZzFglEM6x/93wa74foh2Wk/wnohKC34I05r7q2AvQMJ5DymECRKH/BuFUyOTNNNWPaNra5mr6kPiRtCmAWEWB1O2kZ7JNjipwgqDQW70c3sFOgOW7ZWCwPKzbH8TAuzHLZU5ZBh+RQXYg/SXRnp4rjaLuAQtfenY3FhTAMYBVryovfR5wNw== 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=V6IkTV4TnJzljnrVUhyUTqlBTw+ZJLgA83VH4wLwumA=; b=h93EpUAxS6/o1kZz5mnKy3lnXkJGwmcziZRyaTle44IoSY4v34HpE83YWW5jCDTK0L4frc2d4QuyCeUplMLC4trfv2jMmNmNnQ4Ho9SvPxndZBzj0YGCZ7bwpEXoEmokvzqlaVKKgwp+9Ddx33jdx7KNbUfi0ayZfBZuae2rf5w= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3933.namprd11.prod.outlook.com (2603:10b6:208:13d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.19; Fri, 6 Nov 2020 02:53:01 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::1dc7:9f52:91c1:52da]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::1dc7:9f52:91c1:52da%3]) with mapi id 15.20.3541.021; Fri, 6 Nov 2020 02:53:01 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "Ding, Xuan" , "stephen@networkplumber.org" , "Yigit, Ferruh" , "thomas@monjalon.net" CC: "stable@dpdk.org" Thread-Topic: [PATCH 1/3] vhost: fix error path when setting memory tables Thread-Index: AQHWs2lHJvUiJtIzLE2L9QQzHtNPE6m6YEsg Date: Fri, 6 Nov 2020 02:53:00 +0000 Message-ID: References: <20201105114549.97717-1-maxime.coquelin@redhat.com> <20201105114549.97717-2-maxime.coquelin@redhat.com> In-Reply-To: <20201105114549.97717-2-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.46] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 055f996a-f40b-4b12-87ec-08d881ff132c x-ms-traffictypediagnostic: MN2PR11MB3933: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2887; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Yh8Uf6jCp2uXNAivvOLKzhOIM6xEL9qNblj2UjkCgU5sCb7Uxsoq5130OXlJlt57aDfM6j3RY7tALM9OyfDSjUBlllt7Z6m3r4vMaUiMRkzsKzyiD/t6+42KoCXnCMhtxN+fbrOuvY2f7RjsIgYiOC3K7BJNUdITYLmrtC6rNhthTDjDBFNYB4irlVdBb6wm4ue6iK6j7zkv+PCSft1UNrx5/Ig6qFprnE5/AEBbePHwCzg1Tos+xjhZJRPv8XcIhsU24SWfesKWnkVrFMFV9gpfgu16CWuYtlXdg6/9n6HqhKrLn4fVZeUKMtRyEou/sV5tiA87dIdnwwgIxgTYBA== 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)(346002)(366004)(136003)(39860400002)(52536014)(186003)(478600001)(5660300002)(2906002)(53546011)(8676002)(7696005)(316002)(6506007)(8936002)(64756008)(66446008)(9686003)(26005)(66476007)(66946007)(66556008)(71200400001)(4326008)(110136005)(76116006)(86362001)(33656002)(55016002)(83380400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 5fKUufeFANsC3e3j1UzO2QSmIUJt04BzHAbtYQiHg2qwsHtfm/KEnBsFve9oQNNW6b++IXAC9XhTjv0uCGCvCYG0FKdAdj24CiFcuwvpCHI9MeS0HWavAbEbS4VTe9Xoa5pk454q+pC0PpDMeNtbJsMzTq1PP2XLzEavKCKCQw11kfuKo2C2WgVPyt4s1vfUHX025wTXs7bAtMOsKCpweyu0NQElCBF+A3CUvvrIP4RTQPbtoQyHBYGdpvzZ3Ek8QJggsik/l/hucJd4D5iJ1WIsLS93GqqaoG8dDlqYXi7sXUBdMNqjGyrjwZMh77sWIvi/D3Da/4yNjRmemmYMSeFBWk68CUEZEV00oF6PD+ucnb0Kntm60pY54MefWBhywUSZxogYhZcXszvQrW/IZg3ncfnKowcMpqvpLu1zI6b0CAYmzfICAYO8g2vSsSYtNbp53boip8LeRpKwSJPSOzL3SaO4DmcGAeEsVItmfxObVTdstCkJev18axTF1bZQnSPNopdwyylKiNJl+rfNZwvb0+ABS/tNLndugb7KkCe1soJD94634Cixvg/rlPBk7C6Fp3FEupb2ONjE8m5yZ6CLTpdvKi/ehv8PAaXfaOiug1wEDdwbPNB/hG8JeoC3zZnW8vGd+Ntw+kFaDIO/oA== 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: 055f996a-f40b-4b12-87ec-08d881ff132c X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Nov 2020 02:53:00.9845 (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: X93evD6D4CIcV2yMQwhXGi+ZvkdBn3zN/ewpmyCJ7HFV6JeFExY4VRXIhumIBvZX6b4dcneFBknm01XFDvU2bA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3933 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 1/3] vhost: fix error path when setting memory tables X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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+IFNlbnQ6IFRodXJzZGF5 LCBOb3ZlbWJlciA1LCAyMDIwIDc6NDYgUE0NCj4gVG86IGRldkBkcGRrLm9yZzsgRGluZywgWHVh biA8eHVhbi5kaW5nQGludGVsLmNvbT47DQo+IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBZ aWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4gdGhvbWFzQG1vbmphbG9u Lm5ldDsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiBDYzogc3RhYmxlQGRw ZGsub3JnOyBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBT dWJqZWN0OiBbUEFUQ0ggMS8zXSB2aG9zdDogZml4IGVycm9yIHBhdGggd2hlbiBzZXR0aW5nIG1l bW9yeSB0YWJsZXMNCj4gDQo+IElmIHRoZSBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZCBiZWZvcmUg dGhlIG1lbW9yeSByZWdpb25zDQoNCid0aGUnIHNob3VsZCBiZSBkZWxldGVkLg0KDQo+IGFyZSBw YXJzZWQsIHRoZSBmaWxlIGRlc2NyaXB0b3JzIGZvciB0aGVzZSBzaGFyZWQgYnVmZmVycw0KPiBp cyBsZWFrZWQuDQoNCnMvaXMvYXJlLw0KDQo+IA0KPiBUaGlzIHBhdGNoIGZpeGVzIHRoaXMgYnkg Y2xvc2luZyB0aGUgbWVzc2FnZSBmaWxlIGRlc2NyaXB0b3JzDQo+IG9uIGVycm9yLCB0YWtpbmcg Y2FyZSBvZiBhdm9pZGluZyBkb3VibGUgY2xvc2luZyBvZiB0aGUgZmlsZQ0KPiBkZXNjcmlwdG9y cy4gZ3Vlc3RfcGFnZXMgaXMgYWxzbyBmcmVlZCwgZXZlbiB0aG91Z2ggaXQgd2FzIG5vdA0KPiBs ZWFrZWQgYXMgaXRzIHBvaW50ZXIgd2FzIG5vdCBvdmVyaWRlbiBvbiBzdWJzZXF1ZW50IGZ1bmN0 aW9uDQoNCnMvb3ZlcmlkZW4vb3ZlcnJpZGRlbg0KDQpXaXRoIGFib3ZlIGNoYW5nZXM6DQoNClJl dmlld2VkLWJ5OiBDaGVuYm8gWGlhIDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCg0KPiBjYWxscy4N Cj4gDQo+IEZpeGVzOiA4Zjk3MjMxMmI4ZjQgKCJ2aG9zdDogc3VwcG9ydCB2aG9zdC11c2VyIikN Cj4gQ2M6IHN0YWJsZUBkcGRrLm9yZw0KPiANCj4gUmVwb3J0ZWQtYnk6IFh1YW4gRGluZyA8eHVh bi5kaW5nQGludGVsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogTWF4aW1lIENvcXVlbGluIDxtYXhp bWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gLS0tDQo+ICBsaWIvbGlicnRlX3Zob3N0L3Zob3N0 X3VzZXIuYyB8IDY1ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tDQo+ICAxIGZp bGUgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZm IC0tZ2l0IGEvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmMgYi9saWIvbGlicnRlX3Zob3N0 L3Zob3N0X3VzZXIuYw0KPiBpbmRleCA4YTg3MjZmOGI4Li40NzNmZDc3OGNhIDEwMDY0NA0KPiAt LS0gYS9saWIvbGlicnRlX3Zob3N0L3Zob3N0X3VzZXIuYw0KPiArKysgYi9saWIvbGlicnRlX3Zo b3N0L3Zob3N0X3VzZXIuYw0KPiBAQCAtOTksOCArOTksMTUgQEAgY2xvc2VfbXNnX2ZkcyhzdHJ1 Y3QgVmhvc3RVc2VyTXNnICptc2cpDQo+ICB7DQo+ICAJaW50IGk7DQo+IA0KPiAtCWZvciAoaSA9 IDA7IGkgPCBtc2ctPmZkX251bTsgaSsrKQ0KPiAtCQljbG9zZShtc2ctPmZkc1tpXSk7DQo+ICsJ Zm9yIChpID0gMDsgaSA8IG1zZy0+ZmRfbnVtOyBpKyspIHsNCj4gKwkJaW50IGZkID0gbXNnLT5m ZHNbaV07DQo+ICsNCj4gKwkJaWYgKGZkID09IC0xKQ0KPiArCQkJY29udGludWU7DQo+ICsNCj4g KwkJbXNnLT5mZHNbaV0gPSAtMTsNCj4gKwkJY2xvc2UoZmQpOw0KPiArCX0NCj4gIH0NCj4gDQo+ ICAvKg0KPiBAQCAtMTAwNCw3ICsxMDExLDYgQEAgdmhvc3RfdXNlcl9zZXRfbWVtX3RhYmxlKHN0 cnVjdCB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gc3RydWN0IFZob3N0VXNlck1zZyAqbXNnLA0KPiAg CXVpbnQ2NF90IGFsaWdubWVudDsNCj4gIAl1aW50MzJfdCBpOw0KPiAgCWludCBwb3B1bGF0ZTsN Cj4gLQlpbnQgZmQ7DQo+IA0KPiAgCWlmICh2YWxpZGF0ZV9tc2dfZmRzKG1zZywgbWVtb3J5LT5u cmVnaW9ucykgIT0gMCkNCj4gIAkJcmV0dXJuIFJURV9WSE9TVF9NU0dfUkVTVUxUX0VSUjsNCj4g QEAgLTEwMTIsMTYgKzEwMTgsMTMgQEAgdmhvc3RfdXNlcl9zZXRfbWVtX3RhYmxlKHN0cnVjdCB2 aXJ0aW9fbmV0ICoqcGRldiwNCj4gc3RydWN0IFZob3N0VXNlck1zZyAqbXNnLA0KPiAgCWlmICht ZW1vcnktPm5yZWdpb25zID4gVkhPU1RfTUVNT1JZX01BWF9OUkVHSU9OUykgew0KPiAgCQlWSE9T VF9MT0dfQ09ORklHKEVSUiwNCj4gIAkJCSJ0b28gbWFueSBtZW1vcnkgcmVnaW9ucyAoJXUpXG4i LCBtZW1vcnktPm5yZWdpb25zKTsNCj4gLQkJcmV0dXJuIFJURV9WSE9TVF9NU0dfUkVTVUxUX0VS UjsNCj4gKwkJZ290byBjbG9zZV9tc2dfZmRzOw0KPiAgCX0NCj4gDQo+ICAJaWYgKGRldi0+bWVt ICYmICF2aG9zdF9tZW1vcnlfY2hhbmdlZChtZW1vcnksIGRldi0+bWVtKSkgew0KPiAgCQlWSE9T VF9MT0dfQ09ORklHKElORk8sDQo+ICAJCQkiKCVkKSBtZW1vcnkgcmVnaW9ucyBub3QgY2hhbmdl ZFxuIiwgZGV2LT52aWQpOw0KPiAtDQo+IC0JCWNsb3NlX21zZ19mZHMobXNnKTsNCj4gLQ0KPiAt CQlyZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRfT0s7DQo+ICsJCWdvdG8gY2xvc2VfbXNnX2Zk czsNCj4gIAl9DQo+IA0KPiAgCWlmIChkZXYtPm1lbSkgew0KPiBAQCAtMTA1NCw3ICsxMDU3LDcg QEAgdmhvc3RfdXNlcl9zZXRfbWVtX3RhYmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICoqcGRldiwNCj4g c3RydWN0IFZob3N0VXNlck1zZyAqbXNnLA0KPiAgCQkJCSIoJWQpIGZhaWxlZCB0byBhbGxvY2F0 ZSBtZW1vcnkgIg0KPiAgCQkJCSJmb3IgZGV2LT5ndWVzdF9wYWdlc1xuIiwNCj4gIAkJCQlkZXYt PnZpZCk7DQo+IC0JCQlyZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRfRVJSOw0KPiArCQkJZ290 byBjbG9zZV9tc2dfZmRzOw0KPiAgCQl9DQo+ICAJfQ0KPiANCj4gQEAgLTEwNjQsMTggKzEwNjcs MjMgQEAgdmhvc3RfdXNlcl9zZXRfbWVtX3RhYmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICoqcGRldiwN Cj4gc3RydWN0IFZob3N0VXNlck1zZyAqbXNnLA0KPiAgCQlWSE9TVF9MT0dfQ09ORklHKEVSUiwN Cj4gIAkJCSIoJWQpIGZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGRldi0+bWVtXG4iLA0K PiAgCQkJZGV2LT52aWQpOw0KPiAtCQlyZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRfRVJSOw0K PiArCQlnb3RvIGZyZWVfZ3Vlc3RfcGFnZXM7DQo+ICAJfQ0KPiAgCWRldi0+bWVtLT5ucmVnaW9u cyA9IG1lbW9yeS0+bnJlZ2lvbnM7DQo+IA0KPiAgCWZvciAoaSA9IDA7IGkgPCBtZW1vcnktPm5y ZWdpb25zOyBpKyspIHsNCj4gLQkJZmQgID0gbXNnLT5mZHNbaV07DQo+ICAJCXJlZyA9ICZkZXYt Pm1lbS0+cmVnaW9uc1tpXTsNCj4gDQo+ICAJCXJlZy0+Z3Vlc3RfcGh5c19hZGRyID0gbWVtb3J5 LT5yZWdpb25zW2ldLmd1ZXN0X3BoeXNfYWRkcjsNCj4gIAkJcmVnLT5ndWVzdF91c2VyX2FkZHIg PSBtZW1vcnktPnJlZ2lvbnNbaV0udXNlcnNwYWNlX2FkZHI7DQo+ICAJCXJlZy0+c2l6ZSAgICAg ICAgICAgID0gbWVtb3J5LT5yZWdpb25zW2ldLm1lbW9yeV9zaXplOw0KPiAtCQlyZWctPmZkICAg ICAgICAgICAgICA9IGZkOw0KPiArCQlyZWctPmZkICAgICAgICAgICAgICA9IG1zZy0+ZmRzW2ld Ow0KPiArDQo+ICsJCS8qDQo+ICsJCSAqIEFzc2lnbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciB2 YWx1ZSB0byBhdm9pZCBkb3VibGUNCj4gKwkJICogY2xvc2luZyBvbiBlcnJvciBwYXRoLg0KPiAr CQkgKi8NCj4gKwkJbXNnLT5mZHNbaV0gPSAtMTsNCj4gDQo+ICAJCW1tYXBfb2Zmc2V0ID0gbWVt b3J5LT5yZWdpb25zW2ldLm1tYXBfb2Zmc2V0Ow0KPiANCj4gQEAgLTEwODUsNyArMTA5Myw3IEBA IHZob3N0X3VzZXJfc2V0X21lbV90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqKnBkZXYsDQo+IHN0 cnVjdCBWaG9zdFVzZXJNc2cgKm1zZywNCj4gIAkJCQkibW1hcF9vZmZzZXQgKCUjIlBSSXg2NCIp IGFuZCBtZW1vcnlfc2l6ZSAiDQo+ICAJCQkJIiglIyJQUkl4NjQiKSBvdmVyZmxvd1xuIiwNCj4g IAkJCQltbWFwX29mZnNldCwgcmVnLT5zaXplKTsNCj4gLQkJCWdvdG8gZXJyX21tYXA7DQo+ICsJ CQlnb3RvIGZyZWVfbWVtX3RhYmxlOw0KPiAgCQl9DQo+IA0KPiAgCQltbWFwX3NpemUgPSByZWct PnNpemUgKyBtbWFwX29mZnNldDsNCj4gQEAgLTEwOTgsMTEgKzExMDYsMTEgQEAgdmhvc3RfdXNl cl9zZXRfbWVtX3RhYmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gc3RydWN0IFZob3N0 VXNlck1zZyAqbXNnLA0KPiAgCQkgKiB0byBhdm9pZCBmYWlsdXJlLCBtYWtlIHN1cmUgaW4gY2Fs bGVyIHRvIGtlZXAgbGVuZ3RoDQo+ICAJCSAqIGFsaWduZWQuDQo+ICAJCSAqLw0KPiAtCQlhbGln bm1lbnQgPSBnZXRfYmxrX3NpemUoZmQpOw0KPiArCQlhbGlnbm1lbnQgPSBnZXRfYmxrX3NpemUo cmVnLT5mZCk7DQo+ICAJCWlmIChhbGlnbm1lbnQgPT0gKHVpbnQ2NF90KS0xKSB7DQo+ICAJCQlW SE9TVF9MT0dfQ09ORklHKEVSUiwNCj4gIAkJCQkiY291bGRuJ3QgZ2V0IGh1Z2VwYWdlIHNpemUg dGhyb3VnaCBmc3RhdFxuIik7DQo+IC0JCQlnb3RvIGVycl9tbWFwOw0KPiArCQkJZ290byBmcmVl X21lbV90YWJsZTsNCj4gIAkJfQ0KPiAgCQltbWFwX3NpemUgPSBSVEVfQUxJR05fQ0VJTChtbWFw X3NpemUsIGFsaWdubWVudCk7DQo+ICAJCWlmIChtbWFwX3NpemUgPT0gMCkgew0KPiBAQCAtMTEx OCwxNyArMTEyNiwxNyBAQCB2aG9zdF91c2VyX3NldF9tZW1fdGFibGUoc3RydWN0IHZpcnRpb19u ZXQgKipwZGV2LA0KPiBzdHJ1Y3QgVmhvc3RVc2VyTXNnICptc2csDQo+ICAJCQlWSE9TVF9MT0df Q09ORklHKEVSUiwgIm1tYXAgc2l6ZSAoMHglIiBQUkl4NjQgIikgIg0KPiAgCQkJCQkib3IgYWxp Z25tZW50ICgweCUiIFBSSXg2NCAiKSBpcyBpbnZhbGlkXG4iLA0KPiAgCQkJCQlyZWctPnNpemUg KyBtbWFwX29mZnNldCwgYWxpZ25tZW50KTsNCj4gLQkJCWdvdG8gZXJyX21tYXA7DQo+ICsJCQln b3RvIGZyZWVfbWVtX3RhYmxlOw0KPiAgCQl9DQo+IA0KPiAgCQlwb3B1bGF0ZSA9IGRldi0+YXN5 bmNfY29weSA/IE1BUF9QT1BVTEFURSA6IDA7DQo+ICAJCW1tYXBfYWRkciA9IG1tYXAoTlVMTCwg bW1hcF9zaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLA0KPiAtCQkJCSBNQVBfU0hBUkVEIHwg cG9wdWxhdGUsIGZkLCAwKTsNCj4gKwkJCQkgTUFQX1NIQVJFRCB8IHBvcHVsYXRlLCByZWctPmZk LCAwKTsNCj4gDQo+ICAJCWlmIChtbWFwX2FkZHIgPT0gTUFQX0ZBSUxFRCkgew0KPiAgCQkJVkhP U1RfTE9HX0NPTkZJRyhFUlIsDQo+ICAJCQkJIm1tYXAgcmVnaW9uICV1IGZhaWxlZC5cbiIsIGkp Ow0KPiAtCQkJZ290byBlcnJfbW1hcDsNCj4gKwkJCWdvdG8gZnJlZV9tZW1fdGFibGU7DQo+ICAJ CX0NCj4gDQo+ICAJCXJlZy0+bW1hcF9hZGRyID0gbW1hcF9hZGRyOw0KPiBAQCAtMTE0MSw3ICsx MTQ5LDcgQEAgdmhvc3RfdXNlcl9zZXRfbWVtX3RhYmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICoqcGRl diwNCj4gc3RydWN0IFZob3N0VXNlck1zZyAqbXNnLA0KPiAgCQkJCVZIT1NUX0xPR19DT05GSUco RVJSLA0KPiAgCQkJCQkiYWRkaW5nIGd1ZXN0IHBhZ2VzIHRvIHJlZ2lvbiAldSBmYWlsZWQuXG4i LA0KPiAgCQkJCQlpKTsNCj4gLQkJCQlnb3RvIGVycl9tbWFwOw0KPiArCQkJCWdvdG8gZnJlZV9t ZW1fdGFibGU7DQo+ICAJCQl9DQo+IA0KPiAgCQlWSE9TVF9MT0dfQ09ORklHKElORk8sDQo+IEBA IC0xMTg0LDE3ICsxMTkyLDE3IEBAIHZob3N0X3VzZXJfc2V0X21lbV90YWJsZShzdHJ1Y3Qgdmly dGlvX25ldCAqKnBkZXYsDQo+IHN0cnVjdCBWaG9zdFVzZXJNc2cgKm1zZywNCj4gIAkJaWYgKHJl YWRfdmhvc3RfbWVzc2FnZShtYWluX2ZkLCAmYWNrX21zZykgPD0gMCkgew0KPiAgCQkJVkhPU1Rf TE9HX0NPTkZJRyhFUlIsDQo+ICAJCQkJIkZhaWxlZCB0byByZWFkIHFlbXUgYWNrIG9uIHBvc3Rj b3B5IHNldC1tZW0tDQo+IHRhYmxlXG4iKTsNCj4gLQkJCWdvdG8gZXJyX21tYXA7DQo+ICsJCQln b3RvIGZyZWVfbWVtX3RhYmxlOw0KPiAgCQl9DQo+IA0KPiAgCQlpZiAodmFsaWRhdGVfbXNnX2Zk cygmYWNrX21zZywgMCkgIT0gMCkNCj4gLQkJCWdvdG8gZXJyX21tYXA7DQo+ICsJCQlnb3RvIGZy ZWVfbWVtX3RhYmxlOw0KPiANCj4gIAkJaWYgKGFja19tc2cucmVxdWVzdC5tYXN0ZXIgIT0gVkhP U1RfVVNFUl9TRVRfTUVNX1RBQkxFKSB7DQo+ICAJCQlWSE9TVF9MT0dfQ09ORklHKEVSUiwNCj4g IAkJCQkiQmFkIHFlbXUgYWNrIG9uIHBvc3Rjb3B5IHNldC1tZW0tdGFibGUgKCVkKVxuIiwNCj4g IAkJCQlhY2tfbXNnLnJlcXVlc3QubWFzdGVyKTsNCj4gLQkJCWdvdG8gZXJyX21tYXA7DQo+ICsJ CQlnb3RvIGZyZWVfbWVtX3RhYmxlOw0KPiAgCQl9DQo+IA0KPiAgCQkvKiBOb3cgdXNlcmZhdWx0 IHJlZ2lzdGVyIGFuZCB3ZSBjYW4gdXNlIHRoZSBtZW1vcnkgKi8NCj4gQEAgLTEyMTgsNyArMTIy Niw3IEBAIHZob3N0X3VzZXJfc2V0X21lbV90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqKnBkZXYs DQo+IHN0cnVjdCBWaG9zdFVzZXJNc2cgKm1zZywNCj4gIAkJCQkJIkZhaWxlZCB0byByZWdpc3Rl ciB1ZmQgZm9yIHJlZ2lvbiAlZDogKHVmZA0KPiA9ICVkKSAlc1xuIiwNCj4gIAkJCQkJaSwgZGV2 LT5wb3N0Y29weV91ZmQsDQo+ICAJCQkJCXN0cmVycm9yKGVycm5vKSk7DQo+IC0JCQkJZ290byBl cnJfbW1hcDsNCj4gKwkJCQlnb3RvIGZyZWVfbWVtX3RhYmxlOw0KPiAgCQkJfQ0KPiAgCQkJVkhP U1RfTE9HX0NPTkZJRyhJTkZPLA0KPiAgCQkJCSJcdCB1c2VyZmF1bHRmZCByZWdpc3RlcmVkIGZv ciByYW5nZSA6ICINCj4gQEAgLTEyMjcsNyArMTIzNSw3IEBAIHZob3N0X3VzZXJfc2V0X21lbV90 YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqKnBkZXYsDQo+IHN0cnVjdCBWaG9zdFVzZXJNc2cgKm1z ZywNCj4gIAkJCQkodWludDY0X3QpcmVnX3N0cnVjdC5yYW5nZS5zdGFydCArDQo+ICAJCQkJKHVp bnQ2NF90KXJlZ19zdHJ1Y3QucmFuZ2UubGVuIC0gMSk7DQo+ICAjZWxzZQ0KPiAtCQkJZ290byBl cnJfbW1hcDsNCj4gKwkJCWdvdG8gZnJlZV9tZW1fdGFibGU7DQo+ICAjZW5kaWYNCj4gIAkJfQ0K PiAgCX0NCj4gQEAgLTEyNDksNyArMTI1Nyw3IEBAIHZob3N0X3VzZXJfc2V0X21lbV90YWJsZShz dHJ1Y3QgdmlydGlvX25ldCAqKnBkZXYsDQo+IHN0cnVjdCBWaG9zdFVzZXJNc2cgKm1zZywNCj4g IAkJCWRldiA9IHRyYW5zbGF0ZV9yaW5nX2FkZHJlc3NlcyhkZXYsIGkpOw0KPiAgCQkJaWYgKCFk ZXYpIHsNCj4gIAkJCQlkZXYgPSAqcGRldjsNCj4gLQkJCQlnb3RvIGVycl9tbWFwOw0KPiArCQkJ CWdvdG8gZnJlZV9tZW1fdGFibGU7DQo+ICAJCQl9DQo+IA0KPiAgCQkJKnBkZXYgPSBkZXY7DQo+ IEBAIC0xMjYwLDEwICsxMjY4LDE1IEBAIHZob3N0X3VzZXJfc2V0X21lbV90YWJsZShzdHJ1Y3Qg dmlydGlvX25ldCAqKnBkZXYsDQo+IHN0cnVjdCBWaG9zdFVzZXJNc2cgKm1zZywNCj4gDQo+ICAJ cmV0dXJuIFJURV9WSE9TVF9NU0dfUkVTVUxUX09LOw0KPiANCj4gLWVycl9tbWFwOg0KPiArZnJl ZV9tZW1fdGFibGU6DQo+ICAJZnJlZV9tZW1fcmVnaW9uKGRldik7DQo+ICAJcnRlX2ZyZWUoZGV2 LT5tZW0pOw0KPiAgCWRldi0+bWVtID0gTlVMTDsNCj4gK2ZyZWVfZ3Vlc3RfcGFnZXM6DQo+ICsJ cnRlX2ZyZWUoZGV2LT5ndWVzdF9wYWdlcyk7DQo+ICsJZGV2LT5ndWVzdF9wYWdlcyA9IE5VTEw7 DQo+ICtjbG9zZV9tc2dfZmRzOg0KPiArCWNsb3NlX21zZ19mZHMobXNnKTsNCj4gIAlyZXR1cm4g UlRFX1ZIT1NUX01TR19SRVNVTFRfRVJSOw0KPiAgfQ0KPiANCj4gLS0NCj4gMi4yNi4yDQoNCg==