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 9C12CA0C4D; Mon, 6 Sep 2021 05:18:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6481540E32; Mon, 6 Sep 2021 05:18:26 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 788B040C35 for ; Mon, 6 Sep 2021 05:18:24 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10098"; a="199399535" X-IronPort-AV: E=Sophos;i="5.85,271,1624345200"; d="scan'208";a="199399535" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Sep 2021 20:18:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,271,1624345200"; d="scan'208";a="468699146" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP; 05 Sep 2021 20:18:22 -0700 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) 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.2242.12; Sun, 5 Sep 2021 20:18:21 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.2242.12 via Frontend Transport; Sun, 5 Sep 2021 20:18:21 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.175) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Sun, 5 Sep 2021 20:18:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IVSQ7fn8dhTvakF+GNI7Kl5gGW21oQBukW0E62DvlJB8foUABJy0uPLoV480sTMVbLY9U99XY6BHB6gqJQK7PULaT5jpyg0USiediUry+DKQbnygyNtHFyhU7FNde9Hrk0c00gKMuie0bJT45mtabIns8Fji7gRKzVqkDyy8RzN05zIb86d6/nswq/QFgDZwVOoRJNaLGxp2ds5+zoCE8ReCbRdrqVDynuHcESSBzHrou0UAYd2U+OMvb3Zj72+PCiFApcI5vm+NJWyJXsVFm1F01Qe8Q0wm5IJw4pW2VxDK9KHPI31puGI7yyBfrp2LgnfSF+4YSMGXsSYVZogFSw== 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; bh=g88Zm/bPuHVLZ4g41IG8w3qzTO/eEzcBjCMv3JI7DtE=; b=hi7tqFKy5fzYdPTu+mDIAiLfvSmgg1aZaQmcBKozIeDIq0KimKMIz/LucT5ea543cU+pt01tu5B3XT6R5f7hFqZTu0PR8ZodVMRcz8XzzO4Ky3+SuXlIOrtLugx2BsQQtt6BzM0jZj40xLkK/bPKMOmdt4dI4TdvAgKB9ZCs9cWC0K1+LQspiOhzwZPI+hrK/p3QDG1QVY5jxbILp1x5o25XSVUmveeUkzeHqw52lWG6u4h+LcG6hTlV5y+cPuddb7EJ1ICrjl6BEFb547kMK+IqieJk8sF3Ao/6Lc1SAJgpJ9U5FpvZ2rnzyYyyTKp4HXy2uCevRqFDImH5t+e2PA== 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=g88Zm/bPuHVLZ4g41IG8w3qzTO/eEzcBjCMv3JI7DtE=; b=z0clmCRIQlRT7X8PmXGUi8m9TNKJEmO1jnEBSsBW3/wYbrpvg46QqlTH2siMQ3rUco3gWD6ZXE9Lak+urYenFyEi7F4kM4yQdn/0QTb2VJp6wB6lBuhR9J7RQXP0GCiJhYJa/XFv6qPpL7JAjn7dxjT38Zj8JH+mzB5YQJsT9EE= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3838.namprd11.prod.outlook.com (2603:10b6:208:f3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.22; Mon, 6 Sep 2021 03:18:20 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801%3]) with mapi id 15.20.4478.025; Mon, 6 Sep 2021 03:18:20 +0000 From: "Xia, Chenbo" To: Gaoxiang Liu CC: "maxime.coquelin@redhat.com" , "dev@dpdk.org" , "liugaoxiang@huawei.com" Thread-Topic: Re:RE: [PATCH v6] vhost: fix crash on port deletion Thread-Index: AQHXm06eukMSOYcvcEatnvCo1pxhx6uNHDJggAPOVYCABXjAEA== Date: Mon, 6 Sep 2021 03:18:19 +0000 Message-ID: References: <20210820154615.551-1-gaoxiangliu0@163.com> <20210827141925.1500-1-gaoxiangliu0@163.com> <120eb1f4.155.17ba7294da6.Coremail.gaoxiangliu0@163.com> In-Reply-To: <120eb1f4.155.17ba7294da6.Coremail.gaoxiangliu0@163.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: 163.com; dkim=none (message not signed) header.d=none;163.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: feb415a1-5d00-4cc5-8949-08d970e4fa33 x-ms-traffictypediagnostic: MN2PR11MB3838: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5797; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AfH8zRNBk6TJTedYjKTGkdpX6S38R4qR6GLZDDMP/j+OB3g9cD5lBcUs+SpyQdM5yYMKVtU8NqSB672m0WBwUgRuiXi9oZtARYVafd4YRuDrznqPSm3u/qDA+lSPIjRSIOPAxkmYFB5W0P9xcheSNTZd6Vd4M1eWbwImByikqykt2+ttCKkfF/qmvoam1Y8fZFlp30PEQXNDedp9BvJIc12fhgfItiYyzED1mmKnYncZS38ooxYjrU+0o16XS1mOZO/crxQDY4HTtGIdw+U/91QQbk8/pWfQj2uNOYM7S4S51acHL5wn/dyyMNvFXvFsPxzhR7v/PYKTzjOEcpJvc/QZcS79GFKMHS922AGaXSMjGWtj2NvSF2IyRWobA6vknHvrfeotDY7vJO4nupkW6jMAO51YVNEpG8GSVH0SWQDfUhAZ01WQJXNqBmfIrv6JwYRqZDVH1WfLkbJG/i1T3IoBNx/HzDB545XA+UKWIwMSe6V+TAd9Uh5k7oerKp4g8WuIVJbmwK2sdM9hlVnwQJ80D9k8MOUjDCGkjc/hcoFIGVYLiIbxBbdl9aIvy6J7LoYvku3doicX7t2+9Lm85osxQfba29H8vw6yfKjmg8qVLjLxXgYP23v6ITdxQQ6Gz1uF3twrjRnR8O+VPekoNZ8LOj/W6IcUW3uqbfSZ2UC9c5qIaUoKIYb53LE/d/FXMrFrbaaePrkK4O0vSqz99A== 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)(376002)(366004)(346002)(396003)(136003)(39860400002)(71200400001)(52536014)(2906002)(5660300002)(26005)(8676002)(76116006)(66446008)(478600001)(64756008)(66476007)(66556008)(66946007)(55016002)(38100700002)(33656002)(86362001)(8936002)(9686003)(6916009)(6506007)(53546011)(38070700005)(4326008)(83380400001)(122000001)(54906003)(186003)(316002)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M0ZwdzZlWndpenBNc0E3Z1ZtN3lBSXZ1aHAvUjVkWHI2L05tUHhnQ0NwMEda?= =?utf-8?B?Nlc4L1gwcWRZaXRKSGxsYU5HVUttdkZxbkI4ZGpHTHJCMFcvNHZGWExwTTUz?= =?utf-8?B?a3p4VnV3YW0ycTliWHB4V091L1UyOWxMZGRHMHdFWlNhNkNiSDB4cW5QcUt4?= =?utf-8?B?L2REczErZjFDOEdzL3gwZ3AvRUdIeGdyaGcyZU1ydnNYQ2ZGWTFQRHdFQ1Jm?= =?utf-8?B?TXREMzZ2SzZaMFVTM0szalI2b0hXRUh1RllBSG5SbkF4aGhJOWJFUDJYcHpm?= =?utf-8?B?NDlUWVlrVm5uS0I1MnAxUjZkQTlyQWVQeTJkeWRtRWo4S0FuMDg1eGJWWloy?= =?utf-8?B?azNheEF1VTZYeVZZZm8yRVZVNCt1QzljVEp6RExCbGMvdHR2M0NvQVJOTVlq?= =?utf-8?B?d0oweGNJelZJQXFWSUJxSVpuSk5xVC9VOEVVWXhDL093UllySHVUcU1teDF2?= =?utf-8?B?QjRnTlBVMm05TTF4WDlxQ1p0WmNpY1FwMWlMUkw0WWVUQ1pEWFY3NjEraUFu?= =?utf-8?B?WkFKVVRZckxqbTRBZy9nNkhrODVVT0pDbUdmU3dGOU50akF3bm55aTh6NlRw?= =?utf-8?B?a2lTc0xZY0lrbk1ZYlJtaDVjSUhDZzRzU2t2VmdxRytXQldzbnNsbW9zSWh1?= =?utf-8?B?TGt4VWJXL1BjbkpJYzZWWDVLMWRydHBDcTNlSWdMUE9vSFFqaVJkRmJ6SXh2?= =?utf-8?B?QlkvWGtLdkxhM0JKY1NuNFFwZ1pLc3ZwRXZKM1hyR21ieGpGd2dzVEtIQWJj?= =?utf-8?B?TVl2QzErTFlkR3pwUnV3YWNjRmlHajl4aGExTDBYc2tSYWQrYWZEM2V6ZkRk?= =?utf-8?B?emN3Z3lNUDY2SWN4UHhzd1pKSWRVSmZEc0N2WUgvaFNoWDFodjNlamp4dXpF?= =?utf-8?B?Wkd5em1IcTNSMGdLYlRzU0krNlVsS01GN0hZRjBXaGZjME85cUR3ejVaaEx3?= =?utf-8?B?OWc5eWJoYTUrWEt5RUdISTRac250VDdrVk5HTXJ5bDM1SjhPcHNsbFY1Sytp?= =?utf-8?B?ZEZKaDE4b3ZYSmNtd1Z4MkMvVzN0NmIxRGtxenM1Tkt2WjA1QVVsQis0Lzlk?= =?utf-8?B?TFlzN3MvZkVXaVkyajVlZzdqWmFhdVpxYmtWcGNodHZTRk9vZnZxd3RpVEZY?= =?utf-8?B?cjVad1RqK09scmtFU0k2NElwdytlaVpEaERLcHZsQk14ekw5elkwSWxiSHdX?= =?utf-8?B?SXQ4dGR4QzN5QVR6OWxjM2JFUTNFYW5NK0NzTkFzWkJNRENKTDZFM3lCRE5h?= =?utf-8?B?NUtuK2FDUGdHS3FsM3Z6RXZOb0hOZHZkVHBiRTZnQjIzSHRMamRwTTZpVjU5?= =?utf-8?B?YnV2RUcxMDVVeEpyZ1FObzlaaGlrbFk3K3BXUVhBU0k2N2RvWGI1bU1laEJs?= =?utf-8?B?UUlxVC9NRXlIenZoOTNCZVNJMGhpN2psbjhzVXczUmF4VDZLdWY0UTNKeDU5?= =?utf-8?B?dGVmblR0eUZ3enNkTnBkUi9ON1VrUDY1UmV1dWQ4bWRCWHl2WkZUZCtxY01I?= =?utf-8?B?YXNiQ28yeGhvZ2xwV042S3BxSjhkaDVSWmpYZ0Vub2VxdEYxeGx1QzZDZ2Jp?= =?utf-8?B?SGd0NUtSMklWMUF4cmlXbnRhc3NUQjVIOUtQRTJmMVVJQTB4bm01di83UDRB?= =?utf-8?B?Q0RDMlRsby9uZXkvaGFyWklwN25JK1RqOWlOcnJzSDBIWlhmd0o0R01zS29r?= =?utf-8?B?YWNqVWhqbnNhdUpvdS9DZGM2SlJuQlNqYlBuMVRuUk9yU2k1cVRIQW5IcjhW?= =?utf-8?Q?z7pjltQPOIFNwem9nk=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: feb415a1-5d00-4cc5-8949-08d970e4fa33 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2021 03:18:19.8633 (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: o/PGrHpCy5U33xKISo630oztPj+CMNXSFnwOdfkldWpNiNxgqW8uYfKpb26eJXWlgG3mn0or2e4Ec0Eg4+HJ8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3838 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v6] vhost: fix crash on port deletion 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" SGkgR2FveGlhbmcsDQoNCj4NCj4NCj5Gcm9tOiBHYW94aWFuZyBMaXUgPGdhb3hpYW5nbGl1MEAx NjMuY29tPiANCj5TZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDIsIDIwMjEgMTE6MzggUE0NCj5U bzogWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPkNjOiBtYXhpbWUuY29xdWVs aW5AcmVkaGF0LmNvbTsgZGV2QGRwZGsub3JnOyBsaXVnYW94aWFuZ0BodWF3ZWkuY29tDQo+U3Vi amVjdDogUmU6UkU6IFtQQVRDSCB2Nl0gdmhvc3Q6IGZpeCBjcmFzaCBvbiBwb3J0IGRlbGV0aW9u DQo+DQo+DQo+SGkgY2hlbmJvLA0KPndoeSB0aGlzIGlzIG5vdCBtb3ZlZCB1cD8NCj4+PiArCQlp ZiAodnNvY2tldC0+aXNfc2VydmVyKSB7DQo+Pj4gKwkJCWNsb3NlKHZzb2NrZXQtPnNvY2tldF9m ZCk7DQo+Pj4gKwkJCXVubGluayhwYXRoKTsNCj4+PiAgCQl9DQo+PT0+QmVjYXVzZSBpZiB0aGlz IGlzIG1vdmVkIHVwLCBhbmQgaWYgZGVsZXRpbmcgY29ubiBmZCBmcm9tIGZkc2V0cyBmYWlsZWQs DQo+aXQgd2lsbCBhcnJpdmUgdGhlICJhZ2FpbiIgbGFiZWwsIHRoZW4gY2xvc2UgdnNvY2tldC0+ c29ja2V0X2ZkIGFuZCB1cGxpbmsgInBhdGgiIGFnYWluLg0KPml0J3Mgbm90wqBuZWNlc3Nhcnku DQo+QW5kIGNsb3Npbmcgc29ja2V0X2ZkIGRvZXMgbm90wqDCoHRyaWdnZXLCoHZob3N0X3VzZXJf c2VydmVyX25ld19jb25uZWN0aW9uLg0KDQpCdXQgc2FtZSBpc3N1ZSBoYXBwZW5zIHdoZW4geW91 IGRlbGV0ZWQgJ3Zzb2NrZXQtPnNvY2tldF9mZCcgYnV0IGZhaWxlZCB0byBkZWxldGUgb25lDQpv ZiB0aGUgY29ubl9mZDogeW91IHdpbGwgZ290byBhZ2FpbiBhbmQgdHJ5IHRvIGRlbGV0ZSBzb2Nr ZXRfZmQgYWdhaW4gYW5kIHRoZW4gbG9vcA0KZm9yZXZlci4gU28gYW55d2F5IHlvdSBuZWVkIHRv IHByZXZlbnQgdGhpcyBmcm9tIGhhcHBlbmluZy4NCg0KVGhhbmtzLA0KQ2hlbmJvDQoNCj4NCj5U aGFua3MuDQo+R2FveGlhbmcNCg0KQXQgMjAyMS0wOC0zMSAxMzozNzozOCwgIlhpYSwgQ2hlbmJv IiA8bWFpbHRvOmNoZW5iby54aWFAaW50ZWwuY29tPiB3cm90ZToNCj5IaSBHYW94aWFuZywNCj4N Cj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9tOiBHYW94aWFuZyBMaXUgPG1h aWx0bzpnYW94aWFuZ2xpdTBAMTYzLmNvbT4NCj4+IFNlbnQ6IEZyaWRheSwgQXVndXN0IDI3LCAy MDIxIDEwOjE5IFBNDQo+PiBUbzogbWFpbHRvOm1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tOyBY aWEsIENoZW5ibyA8bWFpbHRvOmNoZW5iby54aWFAaW50ZWwuY29tPg0KPj4gQ2M6IG1haWx0bzpk ZXZAZHBkay5vcmc7IG1haWx0bzpsaXVnYW94aWFuZ0BodWF3ZWkuY29tOyBHYW94aWFuZyBMaXUg PG1haWx0bzpnYW94aWFuZ2xpdTBAMTYzLmNvbT4NCj4+IFN1YmplY3Q6IFtQQVRDSCB2Nl0gdmhv c3Q6IGZpeCBjcmFzaCBvbiBwb3J0IGRlbGV0aW9uDQo+PiANCj4+IFRoZSBydGVfdmhvc3RfZHJp dmVyX3VucmVnaXN0ZXIoKSBhbmQgdmhvc3RfdXNlcl9yZWFkX2NiKCkNCj4+IGNhbiBiZSBjYWxs ZWQgYXQgdGhlIHNhbWUgdGltZSBieSAyIHRocmVhZHMuDQo+PiB3aGVuIG1lbW9yeSBvZiB2c29j a2V0IGlzIGZyZWVkIGluIHJ0ZV92aG9zdF9kcml2ZXJfdW5yZWdpc3RlcigpLA0KPj4gdGhlIGlu dmFsaWQgbWVtb3J5IG9mIHZzb2NrZXQgaXMgYWNjZXNzZWQgaW4gdmhvc3RfdXNlcl9yZWFkX2Ni KCkuDQo+PiBJdCdzIGEgYnVnIG9mIGJvdGggbW9kZSBmb3Igdmhvc3QgYXMgc2VydmVyIG9yIGNs aWVudC4NCj4+IA0KPj4gRS5nLix2aG9zdHVzZXIgcG9ydCBpcyBjcmVhdGVkIGFzIHNlcnZlci4N Cj4NCj5QdXQgYSBzcGFjZSBhZnRlciAnLCcNCj4NCj4+IFRocmVhZDEgY2FsbHMgcnRlX3Zob3N0 X2RyaXZlcl91bnJlZ2lzdGVyKCkuDQo+PiBCZWZvcmUgdGhlIGxpc3RlbiBmZCBpcyBkZWxldGVk IGZyb20gcG9sbCB3YWl0aW5nIGZkcywNCj4+ICJ2aG9zdC1ldmVudHMiIHRocmVhZCB0aGVuIGNh bGxzIHZob3N0X3VzZXJfc2VydmVyX25ld19jb25uZWN0aW9uKCksDQo+PiB0aGVuIGEgbmV3IGNv bm4gZmQgaXMgYWRkZWQgaW4gZmRzZXQgd2hlbiB0cnlpbmcgdG8gcmVjb25uZWN0Lg0KPj4gInZo b3N0LWV2ZW50cyIgdGhyZWFkIHRoZW4gY2FsbHMgdmhvc3RfdXNlcl9yZWFkX2NiKCkgYW5kDQo+ PiBhY2Nlc3NlcyBpbnZhbGlkIG1lbW9yeSBvZiBzb2NrZXQgd2hpbGUgdGhyZWFkMSBmcmVlcyB0 aGUgbWVtb3J5IG9mDQo+PiB2c29ja2V0Lg0KPj4gDQo+PiBFLmcuLHZob3N0dXNlciBwb3J0IGlz IGNyZWF0ZWQgYXMgY2xpZW50Lg0KPg0KPlNhbWUgaGVyZS4NCj4NCj4+IFRocmVhZDEgY2FsbHMg cnRlX3Zob3N0X2RyaXZlcl91bnJlZ2lzdGVyKCkuDQo+PiBCZWZvcmUgdnNvY2tldCBvZiByZWNv bm4gaXMgZGVsZXRlZCBmcm9tIHJlY29ubiBsaXN0LA0KPj4gInZob3N0X3JlY29ubiIgdGhyZWFk IHRoZW4gY2FsbHMgdmhvc3RfdXNlcl9hZGRfY29ubmVjdGlvbigpDQo+PiB0aGVuIGEgbmV3IGNv bm4gZmQgaXMgYWRkZWQgaW4gZmRzZXQgd2hlbiB0cnlpbmcgdG8gcmVjb25uZWN0Lg0KPj4gInZo b3N0LWV2ZW50cyIgdGhyZWFkIHRoZW4gY2FsbHMgdmhvc3RfdXNlcl9yZWFkX2NiKCkgYW5kDQo+ PiBhY2Nlc3NlcyBpbnZhbGlkIG1lbW9yeSBvZiBzb2NrZXQgd2hpbGUgdGhyZWFkMSBmcmVlcyB0 aGUgbWVtb3J5IG9mDQo+PiB2c29ja2V0Lg0KPj4gDQo+PiBUaGUgZml4IGlzIHRvIG1vdmUgdGhl ICJmZHNldF90cnlfZGVsIiBpbiBmcm9udCBvZiBmcmVlIG1lbW9yeSBvZiBjb25uLA0KPj4gdGhl biBhdm9pZCB0aGUgcmFjZSBjb25kaXRpb24uDQo+PiANCj4+IFRoZSBjb3JlIHRyYWNlIGlzOg0K Pj4gUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDExLCBTZWdtZW50YXRpb24gZmF1bHQu DQo+PiANCj4+IEZpeGVzOiA1MmQ4NzRkYzY3MDUgKCJ2aG9zdDogZml4IGNyYXNoIG9uIGNsb3Np bmcgaW4gY2xpZW50IG1vZGUiKQ0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBHYW94aWFuZyBMaXUg PG1haWx0bzpsaXVnYW94aWFuZ0BodWF3ZWkuY29tPg0KPj4gLS0tDQo+PiANCj4+IHYyOg0KPj4g KiBGaXggY29kaW5nIHN0eWxlIGlzc3Vlcy4NCj4+IA0KPj4gdjM6DQo+PiAqIEFkZCBkZXRhaWxl ZCBsb2cuDQo+PiANCj4+IHY0Og0KPj4gKiBBZGQgdGhlIHJlYXNvbiwgd2hlbiB2aG9zdHVzZXIg cG9ydCBpcyBjcmVhdGVkIGFzIHNlcnZlci4NCj4+IA0KPj4gdjU6DQo+PiAqIEFkZCBkZXRhaWxl ZCBsb2cgd2hlbiB2aG9zdHVzZXIgcG9ydCBpcyBjcmVhdGVkIGFzIGNsaWVudA0KPj4gDQo+PiB2 NjoNCj4+ICogQWRkICdwYXRoJyBjaGVjayBiZWZvcmUgZGVsZXRpbmcgbGlzdGVuIGZkDQo+PiAq IEZpeCBzcGVsbGluZyBpc3N1ZXMNCj4+IC0tLQ0KPj4gIGxpYi92aG9zdC9zb2NrZXQuYyB8IDEw OCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+ICAxIGZp bGUgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pDQo+PiANCj4+IGRp ZmYgLS1naXQgYS9saWIvdmhvc3Qvc29ja2V0LmMgYi9saWIvdmhvc3Qvc29ja2V0LmMNCj4+IGlu ZGV4IDVkMGQ3MjhkNS4uMjdkNWU4Njk1IDEwMDY0NA0KPj4gLS0tIGEvbGliL3Zob3N0L3NvY2tl dC5jDQo+PiArKysgYi9saWIvdmhvc3Qvc29ja2V0LmMNCj4+IEBAIC0xMDIzLDY2ICsxMDIzLDY2 IEBAIHJ0ZV92aG9zdF9kcml2ZXJfdW5yZWdpc3Rlcihjb25zdCBjaGFyICpwYXRoKQ0KPj4gDQo+ PiAgCWZvciAoaSA9IDA7IGkgPCB2aG9zdF91c2VyLnZzb2NrZXRfY250OyBpKyspIHsNCj4+ICAJ CXN0cnVjdCB2aG9zdF91c2VyX3NvY2tldCAqdnNvY2tldCA9IHZob3N0X3VzZXIudnNvY2tldHNb aV07DQo+PiArCQlpZiAoc3RyY21wKHZzb2NrZXQtPnBhdGgsIHBhdGgpKSB7DQo+PiArCQkJY29u dGludWU7DQo+PiArCQl9DQo+DQo+YnJhY2VzIHt9IGFyZSBub3QgbmVjZXNzYXJ5IGZvciBzaW5n bGUgc3RhdGVtZW50IGJsb2Nrcw0KPg0KPj4gDQo+PiAtCQlpZiAoIXN0cmNtcCh2c29ja2V0LT5w YXRoLCBwYXRoKSkgew0KPj4gLQkJCXB0aHJlYWRfbXV0ZXhfbG9jaygmdnNvY2tldC0+Y29ubl9t dXRleCk7DQo+PiAtCQkJZm9yIChjb25uID0gVEFJTFFfRklSU1QoJnZzb2NrZXQtPmNvbm5fbGlz dCk7DQo+PiAtCQkJICAgICBjb25uICE9IE5VTEw7DQo+PiAtCQkJICAgICBjb25uID0gbmV4dCkg ew0KPj4gLQkJCQluZXh0ID0gVEFJTFFfTkVYVChjb25uLCBuZXh0KTsNCj4+IC0NCj4+IC0JCQkJ LyoNCj4+IC0JCQkJICogSWYgci93Y2IgaXMgZXhlY3V0aW5nLCByZWxlYXNlIHZzb2NrZXQncw0K Pj4gLQkJCQkgKiBjb25uX211dGV4IGFuZCB2aG9zdF91c2VyJ3MgbXV0ZXggbG9ja3MsIGFuZA0K Pj4gLQkJCQkgKiB0cnkgYWdhaW4gc2luY2UgdGhlIHIvd2NiIG1heSB1c2UgdGhlDQo+PiAtCQkJ CSAqIGNvbm5fbXV0ZXggYW5kIG11dGV4IGxvY2tzLg0KPj4gLQkJCQkgKi8NCj4+IC0JCQkJaWYg KGZkc2V0X3RyeV9kZWwoJnZob3N0X3VzZXIuZmRzZXQsDQo+PiAtCQkJCQkJICBjb25uLT5jb25u ZmQpID09IC0xKSB7DQo+PiAtCQkJCQlwdGhyZWFkX211dGV4X3VubG9jaygNCj4+IC0JCQkJCQkJ JnZzb2NrZXQtPmNvbm5fbXV0ZXgpOw0KPj4gLQkJCQkJcHRocmVhZF9tdXRleF91bmxvY2soJnZo b3N0X3VzZXIubXV0ZXgpOw0KPj4gLQkJCQkJZ290byBhZ2FpbjsNCj4+IC0JCQkJfQ0KPj4gLQ0K Pj4gLQkJCQlWSE9TVF9MT0dfQ09ORklHKElORk8sDQo+PiAtCQkJCQkiZnJlZSBjb25uZmQgPSAl ZCBmb3IgZGV2aWNlICclcydcbiIsDQo+PiAtCQkJCQljb25uLT5jb25uZmQsIHBhdGgpOw0KPj4g LQkJCQljbG9zZShjb25uLT5jb25uZmQpOw0KPj4gLQkJCQl2aG9zdF9kZXN0cm95X2RldmljZShj b25uLT52aWQpOw0KPj4gLQkJCQlUQUlMUV9SRU1PVkUoJnZzb2NrZXQtPmNvbm5fbGlzdCwgY29u biwgbmV4dCk7DQo+PiAtCQkJCWZyZWUoY29ubik7DQo+PiAtCQkJfQ0KPj4gLQkJCXB0aHJlYWRf bXV0ZXhfdW5sb2NrKCZ2c29ja2V0LT5jb25uX211dGV4KTsNCj4+IC0NCj4+IC0JCQlpZiAodnNv Y2tldC0+aXNfc2VydmVyKSB7DQo+PiAtCQkJCS8qDQo+PiAtCQkJCSAqIElmIHIvd2NiIGlzIGV4 ZWN1dGluZywgcmVsZWFzZSB2aG9zdF91c2VyJ3MNCj4+IC0JCQkJICogbXV0ZXggbG9jaywgYW5k IHRyeSBhZ2FpbiBzaW5jZSB0aGUgci93Y2INCj4+IC0JCQkJICogbWF5IHVzZSB0aGUgbXV0ZXgg bG9jay4NCj4+IC0JCQkJICovDQo+PiAtCQkJCWlmIChmZHNldF90cnlfZGVsKCZ2aG9zdF91c2Vy LmZkc2V0LA0KPj4gLQkJCQkJCXZzb2NrZXQtPnNvY2tldF9mZCkgPT0gLTEpIHsNCj4+IC0JCQkJ CXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ2aG9zdF91c2VyLm11dGV4KTsNCj4+IC0JCQkJCWdvdG8g YWdhaW47DQo+PiAtCQkJCX0NCj4+IC0NCj4+IC0JCQkJY2xvc2UodnNvY2tldC0+c29ja2V0X2Zk KTsNCj4+IC0JCQkJdW5saW5rKHBhdGgpOw0KPj4gLQkJCX0gZWxzZSBpZiAodnNvY2tldC0+cmVj b25uZWN0KSB7DQo+PiAtCQkJCXZob3N0X3VzZXJfcmVtb3ZlX3JlY29ubmVjdCh2c29ja2V0KTsN Cj4+ICsJCWlmICh2c29ja2V0LT5pc19zZXJ2ZXIpIHsNCj4+ICsJCQkvKg0KPj4gKwkJCSAqIElm IHIvd2NiIGlzIGV4ZWN1dGluZywgcmVsZWFzZSB2aG9zdF91c2VyJ3MNCj4+ICsJCQkgKiBtdXRl eCBsb2NrLCBhbmQgdHJ5IGFnYWluIHNpbmNlIHRoZSByL3djYg0KPj4gKwkJCSAqIG1heSB1c2Ug dGhlIG11dGV4IGxvY2suDQo+PiArCQkJICovDQo+PiArCQkJaWYgKGZkc2V0X3RyeV9kZWwoJnZo b3N0X3VzZXIuZmRzZXQsIHZzb2NrZXQtPnNvY2tldF9mZCkgPT0NCj4+IC0xKSB7DQo+PiArCQkJ CXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ2aG9zdF91c2VyLm11dGV4KTsNCj4+ICsJCQkJZ290byBh Z2FpbjsNCj4+ICAJCQl9DQo+PiArCQl9IGVsc2UgaWYgKHZzb2NrZXQtPnJlY29ubmVjdCkgew0K Pj4gKwkJCXZob3N0X3VzZXJfcmVtb3ZlX3JlY29ubmVjdCh2c29ja2V0KTsNCj4+ICsJCX0NCj4+ IA0KPj4gLQkJCXB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmdnNvY2tldC0+Y29ubl9tdXRleCk7DQo+ PiAtCQkJdmhvc3RfdXNlcl9zb2NrZXRfbWVtX2ZyZWUodnNvY2tldCk7DQo+PiArCQlwdGhyZWFk X211dGV4X2xvY2soJnZzb2NrZXQtPmNvbm5fbXV0ZXgpOw0KPj4gKwkJZm9yIChjb25uID0gVEFJ TFFfRklSU1QoJnZzb2NrZXQtPmNvbm5fbGlzdCk7DQo+PiArCQkJIGNvbm4gIT0gTlVMTDsNCj4+ ICsJCQkgY29ubiA9IG5leHQpIHsNCj4+ICsJCQluZXh0ID0gVEFJTFFfTkVYVChjb25uLCBuZXh0 KTsNCj4+IA0KPj4gLQkJCWNvdW50ID0gLS12aG9zdF91c2VyLnZzb2NrZXRfY250Ow0KPj4gLQkJ CXZob3N0X3VzZXIudnNvY2tldHNbaV0gPSB2aG9zdF91c2VyLnZzb2NrZXRzW2NvdW50XTsNCj4+ IC0JCQl2aG9zdF91c2VyLnZzb2NrZXRzW2NvdW50XSA9IE5VTEw7DQo+PiAtCQkJcHRocmVhZF9t dXRleF91bmxvY2soJnZob3N0X3VzZXIubXV0ZXgpOw0KPj4gKwkJCS8qDQo+PiArCQkJICogSWYg ci93Y2IgaXMgZXhlY3V0aW5nLCByZWxlYXNlIHZzb2NrZXQncw0KPj4gKwkJCSAqIGNvbm5fbXV0 ZXggYW5kIHZob3N0X3VzZXIncyBtdXRleCBsb2NrcywgYW5kDQo+PiArCQkJICogdHJ5IGFnYWlu IHNpbmNlIHRoZSByL3djYiBtYXkgdXNlIHRoZQ0KPj4gKwkJCSAqIGNvbm5fbXV0ZXggYW5kIG11 dGV4IGxvY2tzLg0KPj4gKwkJCSAqLw0KPj4gKwkJCWlmIChmZHNldF90cnlfZGVsKCZ2aG9zdF91 c2VyLmZkc2V0LA0KPj4gKwkJCQkJICBjb25uLT5jb25uZmQpID09IC0xKSB7DQo+PiArCQkJCXB0 aHJlYWRfbXV0ZXhfdW5sb2NrKCZ2c29ja2V0LT5jb25uX211dGV4KTsNCj4+ICsJCQkJcHRocmVh ZF9tdXRleF91bmxvY2soJnZob3N0X3VzZXIubXV0ZXgpOw0KPj4gKwkJCQlnb3RvIGFnYWluOw0K Pj4gKwkJCX0NCj4+ICsNCj4+ICsJCQlWSE9TVF9MT0dfQ09ORklHKElORk8sDQo+PiArCQkJCSJm cmVlIGNvbm5mZCA9ICVkIGZvciBkZXZpY2UgJyVzJ1xuIiwNCj4+ICsJCQkJY29ubi0+Y29ubmZk LCBwYXRoKTsNCj4+ICsJCQljbG9zZShjb25uLT5jb25uZmQpOw0KPj4gKwkJCXZob3N0X2Rlc3Ry b3lfZGV2aWNlKGNvbm4tPnZpZCk7DQo+PiArCQkJVEFJTFFfUkVNT1ZFKCZ2c29ja2V0LT5jb25u X2xpc3QsIGNvbm4sIG5leHQpOw0KPj4gKwkJCWZyZWUoY29ubik7DQo+PiArCQl9DQo+PiArCQlw dGhyZWFkX211dGV4X3VubG9jaygmdnNvY2tldC0+Y29ubl9tdXRleCk7DQo+PiANCj4+IC0JCQly ZXR1cm4gMDsNCj4+ICsJCWlmICh2c29ja2V0LT5pc19zZXJ2ZXIpIHsNCj4+ICsJCQljbG9zZSh2 c29ja2V0LT5zb2NrZXRfZmQpOw0KPj4gKwkJCXVubGluayhwYXRoKTsNCj4+ICAJCX0NCj4NCj5J IHRoaW5rIHlvdSBtaXNzIG15IGNvbW1lbnQgaW4gVjUgb2YgYXNraW5nIHdoeSB0aGlzIGlzIG5v dCBtb3ZlZCB1cCBhZnRlcg0KPmZkc2V0X3RyeV9kZWwgc2VydmVyIHNvY2tldCBmZC4NCj4NCj5U aGFua3MsDQo+Q2hlbmJvDQo+DQo+PiArDQo+PiArCQlwdGhyZWFkX211dGV4X2Rlc3Ryb3koJnZz b2NrZXQtPmNvbm5fbXV0ZXgpOw0KPj4gKwkJdmhvc3RfdXNlcl9zb2NrZXRfbWVtX2ZyZWUodnNv Y2tldCk7DQo+PiArDQo+PiArCQljb3VudCA9IC0tdmhvc3RfdXNlci52c29ja2V0X2NudDsNCj4+ ICsJCXZob3N0X3VzZXIudnNvY2tldHNbaV0gPSB2aG9zdF91c2VyLnZzb2NrZXRzW2NvdW50XTsN Cj4+ICsJCXZob3N0X3VzZXIudnNvY2tldHNbY291bnRdID0gTlVMTDsNCj4+ICsJCXB0aHJlYWRf bXV0ZXhfdW5sb2NrKCZ2aG9zdF91c2VyLm11dGV4KTsNCj4+ICsJCXJldHVybiAwOw0KPj4gIAl9 DQo+PiAgCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ2aG9zdF91c2VyLm11dGV4KTsNCj4+IA0KPj4g LS0NCj4+IDIuMzIuMA0KPj4gDQo+DQoNCsKgDQo=