From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0075.outbound.protection.outlook.com [104.47.33.75]) by dpdk.org (Postfix) with ESMTP id 9824D137C; Tue, 18 Sep 2018 20:14:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pS1zoBcIT/pNvV2v6jhC9RL7YEkY0h9fueZY1pc3COc=; b=KggYTa6wp6BcfvxY+O2i7BSZQOdqmBMCqOrsHChph7YR0y87k4214za3D93PZ+wu37kfR9y7zfUNzpZaCRyOicZ+rHxIW1Yd8QKTMr2vE0CcfxPM/dMzajxrB77ySe4Bb7+gp+Vibc4IGmiutQSW4s2y/xH3Yd2moyRXNVZnKo0= Received: from MWHPR05MB2909.namprd05.prod.outlook.com (10.168.245.143) by MWHPR05MB2814.namprd05.prod.outlook.com (10.168.245.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1164.15; Tue, 18 Sep 2018 18:14:44 +0000 Received: from MWHPR05MB2909.namprd05.prod.outlook.com ([fe80::cdeb:e0c:ec43:f6cb]) by MWHPR05MB2909.namprd05.prod.outlook.com ([fe80::cdeb:e0c:ec43:f6cb%9]) with mapi id 15.20.1164.014; Tue, 18 Sep 2018 18:14:44 +0000 From: Louis Luo To: Luca Boccassi , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "tiwei.bie@intel.com" , Yong Wang , "3chas3@gmail.com" <3chas3@gmail.com>, "bruce.richardson@intel.com" , "jianfeng.tan@intel.com" , "anatoly.burakov@intel.com" , "stable@dpdk.org" , Brian Russell Thread-Topic: [dpdk-dev] [PATCH 2/3] net/vmxnet3: fix vmxnet3 dev_uninit() hot-unplug Thread-Index: AQHUTrmKmR09nNmlxUu+Ow3Bk4aDOqT2BboA///ebIA= Date: Tue, 18 Sep 2018 18:14:44 +0000 Message-ID: <17F07836-30C0-4B16-A0A8-00CCFC2D715B@vmware.com> References: <20180816135032.28283-1-bluca@debian.org> <20180816135032.28283-3-bluca@debian.org> <1537276494.10481.7.camel@debian.org> In-Reply-To: <1537276494.10481.7.camel@debian.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/10.11.0.180909 authentication-results: spf=none (sender IP is ) smtp.mailfrom=llouis@vmware.com; x-originating-ip: [66.170.99.2] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; MWHPR05MB2814; 20:bisSOQ4nQR4TbojJfCfCQfDp2LMQ1YMqCat/6JMjdLlCiSyeJ3BDfFSzAwZKsHc3uhyIRBCLMvgYYXyeIA7/RFuV6ujgRd+US9M/fGayVob1kMbTkGlHVdf/olp2rHD4JGDIuv6Uo62GT089I4N7VR7f1uZW4myIhZsqsLgCcz4= x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: c106e591-bed5-45f0-6762-08d61d929c57 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:MWHPR05MB2814; x-ms-traffictypediagnostic: MWHPR05MB2814: bcl: 0 x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(278428928389397)(189930954265078)(219752817060721)(17755550239193); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231355)(944501410)(52105095)(93006095)(93001095)(149027)(150027)(6041310)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(201708071742011)(7699050); SRVR:MWHPR05MB2814; BCL:0; PCL:0; RULEID:; SRVR:MWHPR05MB2814; x-forefront-prvs: 0799B1B2D7 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(136003)(346002)(376002)(396003)(39860400002)(189003)(199004)(6486002)(476003)(446003)(6512007)(36756003)(2906002)(68736007)(6246003)(81166006)(81156014)(39060400002)(8936002)(7416002)(7736002)(82746002)(5660300001)(33656002)(25786009)(305945005)(316002)(58126008)(6116002)(83716003)(3846002)(4326008)(8676002)(54906003)(106356001)(105586002)(110136005)(478600001)(2900100001)(6306002)(102836004)(186003)(53936002)(229853002)(99286004)(486006)(2501003)(5250100002)(6436002)(26005)(2616005)(45080400002)(86362001)(76176011)(11346002)(575784001)(93886005)(14454004)(14444005)(97736004)(66066001)(966005)(6506007)(53546011)(256004); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR05MB2814; H:MWHPR05MB2909.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: vmware.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 0HeAkfisLXCRXY73N0SzVb+oW6eYG7uY3nYZtVgrzoLeIzvQOW++lvlfo9aHOEjtBGxCrHTG76WiaYso9LCt03rL4OwpXYOTuNDGmsAwOVuRxvye6oMAxvDEURWUMFglmhXdmeNUVITPQz4nGWFgkuUV4HDaBtFHq2e+5P7/rVsyBI+E1nY9s2AKrQxK8CFkqb9Ul9veaQIbr2Pb3ICyJUATVkLjkNFk2+RTdve7j9nBayeMv9bOGwbELoKgopRvvm7xpMh5od5RCqUEGouWfbSH6IMTFoZBxI2d5wqO6TknBdTpcIuh6UJTgxzHR+8MC8TJPeV+bf2AS7JiYXmjf3impP/W/bd2TAWZtHu1kjM= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <07A833ECCD69DD4DA94C44FA18EDAC9E@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: c106e591-bed5-45f0-6762-08d61d929c57 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Sep 2018 18:14:44.2176 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB2814 Subject: Re: [dpdk-dev] [PATCH 2/3] net/vmxnet3: fix vmxnet3 dev_uninit() hot-unplug 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: , X-List-Received-Date: Tue, 18 Sep 2018 18:14:48 -0000 SGkgTHVjYSwNCg0KVGhhbmtzIGZvciBwb2ludGluZyB0byB0aGUgZG9jdW1lbnQhIFRoaXMgImJh c2ljIHJlcXVpcmVtZW50cyIgc2VlbXMgdG8gbGF5IHRoZSBidXJkZW4gb24gYXBwbGljYXRpb24g ZGV2ZWxvcGVycyB0byBjb3JyZWN0bHkgZm9sbG93IHRoZSBob3QtcGx1ZyBmcmFtZXdvcmsncyBy dWxlcywgYnV0IHRoZXJlIHNlZW1zIG5vIG1lY2hhbmlzbSB0byBlbmZvcmNlIHRoaXMgcHJvY2Vk dXJlIChjb3JyZWN0IG1lIGlmIEknbSB3cm9uZykuIFdoYXQgaWYgYSBidWdneSBhcHBsaWNhdGlv biBkb2Vzbid0IGNhbGwgc3RvcC9jbG9zZSBiZWZvcmUgZGV0YWNoaW5nPyANCg0KSW4gYWRkaXRp b24sIGluIHlvdXIgY29tbWl0IGRlc2NyaXB0aW9uLCB5b3Ugc2FpZCAiIFRoZSB2bXhuZXQzIGRy aXZlciBjYW4ndCBjYWxsIGJhY2sgaW50byBkZXZfY2xvc2UoKSwgYW5kIHBvc3NpYmx5IGRldl9z dG9wKCksIGluIGRldl91bmluaXQoKS4iIEJ1dCBhY3R1YWxseSBpbiB2bXhuZXQzX2Rldl9jbG9z ZSgpLCB3ZSBzZXQgaHctPmFkYXB0ZXJfc3RvcHBlZCA9IDEsIGFuZCBpbiBldGhfdm14bmV0M19k ZXZfdW5pbml0KCkgd2UgY2FsbCBpbnRvIHZteG5ldDNfZGV2X2Nsb3NlKCkgT05MWSB3aGVuIGh3 LT5hZGFwdGVyX3N0b3BwZWQgPT0gMC4gU28gaWYgdGhlIGFwcGxpY2F0aW9uIGRvZXMgbWVldCB0 aGUgaG90LXBsdWcgZnJhbWV3b3JrIHJlcXVpcmVtZW50IGFuZCBjYWxscyBkZXZfY2xvc2UgYmVm b3JlIGNhbGxpbmcgdW5pbml0LCBldGhfdm14bmV0M19kZXZfdW5pbml0KCkgc2hvdWxkIG5vdCBj YWxsIGludG8gdm14bmV0M19kZXZfY2xvc2UoKSBhZ2FpbiwgcmlnaHQ/IElmIHNvLCB3aHkgYm90 aGVyIHJlbW92aW5nIHRoaXMgY2hlY2s/IA0KDQpPciBsZXQgbWUgYXNrIHRoaXMgd2F5LiBJZiBh IGJ1Z2d5IGFwcGxpY2F0aW9uIERPRVMgTk9UIGNhbGwgZGV2X2Nsb3NlIGJlZm9yZSBjYWxsaW5n IGV0aF92bXhuZXQzX2Rldl91bmluaXQoKSwgd291bGQgY2FsbGluZyB2bXhuZXQzX2Rldl9jbG9z ZSgpIGluc2lkZSBldGhfdm14bmV0M19kZXZfdW5pbml0KCkgY2F1c2UgYW55IHRyb3VibGU/IEFu ZCBpZiBhbiBhcHBsaWNhdGlvbiBET0VTIGNhbGwgZGV2X2Nsb3NlIGJlZm9yZSBjYWxsaW5nIGV0 aF92bXhuZXQzX2Rldl91bmluaXQoKSwgaGF2ZSB5b3UgZXZlciBzZWVuIHZteG5ldDNfZGV2X2Ns b3NlKCkgYmVpbmcgY2FsbGVkIGFnYWluIGFuZCB0cmlnZ2VyIGNyYXNoZXMgbGlrZSBkb3VibGUt ZnJlZSBvciBzb21ldGhpbmcgZWxzZT8gSWYgeWVzLCB0aGVuIHdlIG5lZWQgdG8gaW52ZXN0aWdh dGUuDQoNClRoYW5rcw0KTG91aXMNCg0K77u/T24gOS8xOC8xOCwgNjoxNSBBTSwgIkx1Y2EgQm9j Y2Fzc2kiIDxibHVjYUBkZWJpYW4ub3JnPiB3cm90ZToNCg0KICAgIEhpLA0KICAgIA0KICAgIFRo ZSBhcHBsaWNhdGlvbiBtdXN0IGFscmVhZHkgc3RvcCBhbmQgY2xvc2UgYmVmb3JlIGRldGFjaGlu ZyAod2hpY2gNCiAgICB3aWxsIGNhbGwgdW5pbml0KS4gUXVvdGluZyBmcm9tIHRoZSBkb2N1bWVu dGF0aW9uOg0KICAgIA0KICAgICIqICBCZWZvcmUgZGV0YWNoaW5nLCB0aGV5IG11c3QgYmUgc3Rv cHBlZCBhbmQgY2xvc2VkLg0KICAgIA0KICAgICAgICBEUERLIGFwcGxpY2F0aW9ucyBtdXN0IGNh bGwgInJ0ZV9ldGhfZGV2X3N0b3AoKSIgYW5kDQogICAgICAgICJydGVfZXRoX2Rldl9jbG9zZSgp IiBBUElzIGJlZm9yZSBkZXRhY2hpbmcgcG9ydHMuIFRoZXNlIGZ1bmN0aW9ucyB3aWxsDQogICAg ICAgIHN0YXJ0IGZpbmFsaXphdGlvbiBzZXF1ZW5jZSBvZiB0aGUgUE1Ecy4iDQogICAgDQogICAg aHR0cHM6Ly9uYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUz QSUyRiUyRmRvYy5kcGRrLm9yZyUyRmd1aWRlcyUyRnByb2dfZ3VpZGUlMkZwb3J0X2hvdHBsdWdf ZnJhbWV3b3JrLmh0bWwmYW1wO2RhdGE9MDIlN0MwMSU3Q2xsb3VpcyU0MHZtd2FyZS5jb20lN0Mz ZDg3YTU0ODJjZDA0NjY3OWQ3NjA4ZDYxZDY4YmY5YSU3Q2IzOTEzOGNhM2NlZTRiNGFhNGQ2Y2Q4 M2Q5ZGQ2MmYwJTdDMSU3QzAlN0M2MzY3Mjg3MzMwNzg3MDA5MTEmYW1wO3NkYXRhPXFCeDd6eU9K aFRtVkgwYzJaRUJvaG1JSEw2UGtZd0I2WFBhdzJlcGdTMEUlM0QmYW1wO3Jlc2VydmVkPTANCiAg ICANCiAgICBPbiBNb24sIDIwMTgtMDktMTcgYXQgMTk6MDYgKzAwMDAsIExvdWlzIEx1byB3cm90 ZToNCiAgICA+IEhpIEx1Y2EsDQogICAgPiANCiAgICA+IFdoZW4gZXRoX3ZteG5ldDNfZGV2X3Vu aW5pdCgpIGlzIGNhbGxlZCwgaXMgaXQgZ3VhcmFudGVlZCB0aGF0DQogICAgPiB2bXhuZXQzX2Rl dl9jbG9zZS8gdm14bmV0M19kZXZfc3RvcCBtdXN0IGhhdmUgYmVlbiBjYWxsZWQ/IEknbSBub3QN CiAgICA+IGZhbWlsaWFyIHdpdGggdGhlIGhvdC1wbHVnIHByb2NlZHVyZSwgc28ganVzdCB3b25k ZXIgaWYgdGhlcmUgaXMgYW55DQogICAgPiBjaGFuY2UgdGhhdCBldGhfdm14bmV0M19kZXZfdW5p bml0KCkgaXMgY2FsbGVkIHdpdGhvdXQgY2FsbGluZw0KICAgID4gdm14bmV0M19kZXZfY2xvc2Uv IHZteG5ldDNfZGV2X3N0b3AuDQogICAgPiANCiAgICA+IFRoYW5rcywNCiAgICA+IExvdWlzDQog ICAgPiANCiAgICA+IE9uIDgvMTYvMTgsIDY6NTEgQU0sICJkZXYgb24gYmVoYWxmIG9mIEx1Y2Eg Qm9jY2Fzc2kiIDxkZXYtYm91bmNlc0BkDQogICAgPiBwZGsub3JnIG9uIGJlaGFsZiBvZiBibHVj YUBkZWJpYW4ub3JnPiB3cm90ZToNCiAgICA+IA0KICAgID4gICAgIFRoZSB2bXhuZXQzIGRyaXZl ciBjYW4ndCBjYWxsIGJhY2sgaW50byBkZXZfY2xvc2UoKSwgYW5kIHBvc3NpYmx5DQogICAgPiAg ICAgZGV2X3N0b3AoKSwgaW4gZGV2X3VuaW5pdCgpLiAgV2hlbiBkZXZfdW5pbml0KCkgaXMgY2Fs bGVkLA0KICAgID4gYW55dGhpbmcNCiAgICA+ICAgICB0aGF0IHRob3NlIHJvdXRpbmVzIHdvdWxk IHdhbnQgdG8gY2xlYW4gdXAgaGFzIGFscmVhZHkgYmVlbg0KICAgID4gcmVsZWFzZWQuDQogICAg PiAgICAgRnVydGhlciwgZm9yIGNvbXBsZXRlIGNsZWFudXAsIGl0IGlzIG5lY2Vzc2FyeSB0byBy ZWxlYXNlIGFueSBvZg0KICAgID4gdGhlDQogICAgPiAgICAgcXVldWUgcmVzb3VyY2VzIGR1cmlu ZyBkZXZfY2xvc2UoKS4NCiAgICA+ICAgICBUaGlzIGFsbG93cyBhIHZteG5ldDMgZGV2aWNlIHRv IGJlIGhvdC11bnBsdWdnZWQgd2l0aG91dCBsZWFraW5nDQogICAgPiAgICAgcXVldWVzLg0KICAg ID4gICAgIA0KICAgID4gICAgIEZpeGVzOiBkZmFmZjM3ZmM0NmQgKCJ2bXhuZXQzOiBpbXBvcnQg bmV3IHZteG5ldDMgcG9sbCBtb2RlDQogICAgPiBkcml2ZXIgaW1wbGVtZW50YXRpb24iKQ0KICAg ID4gICAgIENjOiBzdGFibGVAZHBkay5vcmcNCiAgICA+ICAgICANCiAgICA+ICAgICBTaWduZWQt b2ZmLWJ5OiBCcmlhbiBSdXNzZWxsIDxicnVzc2VsbEBicm9jYWRlLmNvbT4NCiAgICA+ICAgICBT aWduZWQtb2ZmLWJ5OiBMdWNhIEJvY2Nhc3NpIDxibHVjYUBkZWJpYW4ub3JnPg0KICAgID4gICAg IC0tLQ0KICAgID4gICAgICBkcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2LmMgfCAz NiArKysrKysrKysrKysrKysrKysrKw0KICAgID4gLS0tLS0tLS0NCiAgICA+ICAgICAgMSBmaWxl IGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQ0KICAgID4gICAgIA0K ICAgID4gICAgIGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2 LmMNCiAgICA+IGIvZHJpdmVycy9uZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5jDQogICAgPiAg ICAgaW5kZXggMjYxM2NkMTM1OC4uYjVkNGJlNWUyNCAxMDA2NDQNCiAgICA+ICAgICAtLS0gYS9k cml2ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2LmMNCiAgICA+ICAgICArKysgYi9kcml2 ZXJzL25ldC92bXhuZXQzL3ZteG5ldDNfZXRoZGV2LmMNCiAgICA+ICAgICBAQCAtMzQ4LDE2ICsz NDgsMTEgQEAgZXRoX3ZteG5ldDNfZGV2X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2DQogICAgPiAq ZXRoX2RldikNCiAgICA+ICAgICAgc3RhdGljIGludA0KICAgID4gICAgICBldGhfdm14bmV0M19k ZXZfdW5pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2RldikNCiAgICA+ICAgICAgew0KICAg ID4gICAgIC0Jc3RydWN0IHZteG5ldDNfaHcgKmh3ID0gZXRoX2Rldi0+ZGF0YS0+ZGV2X3ByaXZh dGU7DQogICAgPiAgICAgLQ0KICAgID4gICAgICAJUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KICAg ID4gICAgICANCiAgICA+ICAgICAgCWlmIChydGVfZWFsX3Byb2Nlc3NfdHlwZSgpICE9IFJURV9Q Uk9DX1BSSU1BUlkpDQogICAgPiAgICAgIAkJcmV0dXJuIDA7DQogICAgPiAgICAgIA0KICAgID4g ICAgIC0JaWYgKGh3LT5hZGFwdGVyX3N0b3BwZWQgPT0gMCkNCiAgICA+ICAgICAtCQl2bXhuZXQz X2Rldl9jbG9zZShldGhfZGV2KTsNCiAgICA+ICAgICAtDQogICAgPiAgICAgIAlldGhfZGV2LT5k ZXZfb3BzID0gTlVMTDsNCiAgICA+ICAgICAgCWV0aF9kZXYtPnJ4X3BrdF9idXJzdCA9IE5VTEw7 DQogICAgPiAgICAgIAlldGhfZGV2LT50eF9wa3RfYnVyc3QgPSBOVUxMOw0KICAgID4gICAgIEBA IC04MDMsNyArNzk4LDcgQEAgdm14bmV0M19kZXZfc3RvcChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl dikNCiAgICA+ICAgICAgCVBNRF9JTklUX0ZVTkNfVFJBQ0UoKTsNCiAgICA+ICAgICAgDQogICAg PiAgICAgIAlpZiAoaHctPmFkYXB0ZXJfc3RvcHBlZCA9PSAxKSB7DQogICAgPiAgICAgLQkJUE1E X0lOSVRfTE9HKERFQlVHLCAiRGV2aWNlIGFscmVhZHkgY2xvc2VkLiIpOw0KICAgID4gICAgICsJ CVBNRF9JTklUX0xPRyhERUJVRywgIkRldmljZSBhbHJlYWR5IHN0b3BwZWQuIik7DQogICAgPiAg ICAgIAkJcmV0dXJuOw0KICAgID4gICAgICAJfQ0KICAgID4gICAgICANCiAgICA+ICAgICBAQCAt ODI3LDcgKzgyMiw2IEBAIHZteG5ldDNfZGV2X3N0b3Aoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYp DQogICAgPiAgICAgIAkvKiByZXNldCB0aGUgZGV2aWNlICovDQogICAgPiAgICAgIAlWTVhORVQz X1dSSVRFX0JBUjFfUkVHKGh3LCBWTVhORVQzX1JFR19DTUQsDQogICAgPiBWTVhORVQzX0NNRF9S RVNFVF9ERVYpOw0KICAgID4gICAgICAJUE1EX0lOSVRfTE9HKERFQlVHLCAiRGV2aWNlIHJlc2V0 LiIpOw0KICAgID4gICAgIC0JaHctPmFkYXB0ZXJfc3RvcHBlZCA9IDA7DQogICAgPiAgICAgIA0K ICAgID4gICAgICAJdm14bmV0M19kZXZfY2xlYXJfcXVldWVzKGRldik7DQogICAgPiAgICAgIA0K ICAgID4gICAgIEBAIC04MzcsNiArODMxLDMwIEBAIHZteG5ldDNfZGV2X3N0b3Aoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYpDQogICAgPiAgICAgIAlsaW5rLmxpbmtfc3BlZWQgPSBFVEhfU1BFRURf TlVNXzEwRzsNCiAgICA+ICAgICAgCWxpbmsubGlua19hdXRvbmVnID0gRVRIX0xJTktfRklYRUQ7 DQogICAgPiAgICAgIAlydGVfZXRoX2xpbmtzdGF0dXNfc2V0KGRldiwgJmxpbmspOw0KICAgID4g ICAgICsNCiAgICA+ICAgICArCWh3LT5hZGFwdGVyX3N0b3BwZWQgPSAxOw0KICAgID4gICAgICt9 DQogICAgPiAgICAgKw0KICAgID4gICAgICtzdGF0aWMgdm9pZA0KICAgID4gICAgICt2bXhuZXQz X2ZyZWVfcXVldWVzKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KICAgID4gICAgICt7DQogICAg PiAgICAgKwlpbnQgaTsNCiAgICA+ICAgICArDQogICAgPiAgICAgKwlQTURfSU5JVF9GVU5DX1RS QUNFKCk7DQogICAgPiAgICAgKw0KICAgID4gICAgICsJZm9yIChpID0gMDsgaSA8IGRldi0+ZGF0 YS0+bmJfcnhfcXVldWVzOyBpKyspIHsNCiAgICA+ICAgICArCQl2b2lkICpyeHEgPSBkZXYtPmRh dGEtPnJ4X3F1ZXVlc1tpXTsNCiAgICA+ICAgICArDQogICAgPiAgICAgKwkJdm14bmV0M19kZXZf cnhfcXVldWVfcmVsZWFzZShyeHEpOw0KICAgID4gICAgICsJfQ0KICAgID4gICAgICsJZGV2LT5k YXRhLT5uYl9yeF9xdWV1ZXMgPSAwOw0KICAgID4gICAgICsNCiAgICA+ICAgICArCWZvciAoaSA9 IDA7IGkgPCBkZXYtPmRhdGEtPm5iX3R4X3F1ZXVlczsgaSsrKSB7DQogICAgPiAgICAgKwkJdm9p ZCAqdHhxID0gZGV2LT5kYXRhLT50eF9xdWV1ZXNbaV07DQogICAgPiAgICAgKw0KICAgID4gICAg ICsJCXZteG5ldDNfZGV2X3R4X3F1ZXVlX3JlbGVhc2UodHhxKTsNCiAgICA+ICAgICArCX0NCiAg ICA+ICAgICArCWRldi0+ZGF0YS0+bmJfdHhfcXVldWVzID0gMDsNCiAgICA+ICAgICAgfQ0KICAg ID4gICAgICANCiAgICA+ICAgICAgLyoNCiAgICA+ICAgICBAQCAtODQ1LDEyICs4NjMsMTAgQEAg dm14bmV0M19kZXZfc3RvcChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCiAgICA+ICAgICAgc3Rh dGljIHZvaWQNCiAgICA+ICAgICAgdm14bmV0M19kZXZfY2xvc2Uoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYpDQogICAgPiAgICAgIHsNCiAgICA+ICAgICAtCXN0cnVjdCB2bXhuZXQzX2h3ICpodyA9 IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQogICAgPiAgICAgLQ0KICAgID4gICAgICAJUE1EX0lO SVRfRlVOQ19UUkFDRSgpOw0KICAgID4gICAgICANCiAgICA+ICAgICAgCXZteG5ldDNfZGV2X3N0 b3AoZGV2KTsNCiAgICA+ICAgICAtCWh3LT5hZGFwdGVyX3N0b3BwZWQgPSAxOw0KICAgID4gICAg ICsJdm14bmV0M19mcmVlX3F1ZXVlcyhkZXYpOw0KICAgID4gICAgICB9DQogICAgPiAgICAgIA0K ICAgID4gICAgICBzdGF0aWMgdm9pZA0KICAgID4gICAgIC0tIA0KICAgID4gICAgIDIuMTguMA0K ICAgID4gICAgIA0KICAgID4gICAgIA0KICAgID4gDQogICAgDQogICAgLS0gDQogICAgS2luZCBy ZWdhcmRzLA0KICAgIEx1Y2EgQm9jY2Fzc2kNCg0K