From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 09B3B7CDE; Tue, 12 Dec 2017 06:25:11 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Dec 2017 21:25:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,394,1508828400"; d="scan'208";a="2060411" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga008.jf.intel.com with ESMTP; 11 Dec 2017 21:25:10 -0800 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 11 Dec 2017 21:25:10 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 11 Dec 2017 21:25:09 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.152]) with mapi id 14.03.0319.002; Tue, 12 Dec 2017 13:25:08 +0800 From: "Tan, Jianfeng" To: Maxime Coquelin , Victor Kaplansky , "dev@dpdk.org" , "yliu@fridaylinux.org" , "Bie, Tiwei" CC: "stable@dpdk.org" , "jfreiman@redhat.com" Thread-Topic: [PATCH] vhost_user: protect active rings from async ring changes Thread-Index: AQHTbpnxJQ34Q0Trw06BgnNCg0sNi6M3lqyw//+K7wCAAYTXcP//9U4AgACJ7ZD//5DjAADPZSrA Date: Tue, 12 Dec 2017 05:25:07 +0000 Message-ID: References: <20171206135329.652-1-vkaplans@redhat.com> <00a522dc-2287-b3ed-7ca4-e666f6217c91@redhat.com> <7352a09d-f90d-5b3a-51f9-bfc82faf744e@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-stable] [PATCH] vhost_user: protect active rings from async ring changes X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Dec 2017 05:25:12 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF4aW1lIENvcXVlbGlu IFttYWlsdG86bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb21dDQo+IFNlbnQ6IEZyaWRheSwgRGVj ZW1iZXIgOCwgMjAxNyA2OjEyIFBNDQo+IFRvOiBUYW4sIEppYW5mZW5nOyBWaWN0b3IgS2FwbGFu c2t5OyBkZXZAZHBkay5vcmc7IHlsaXVAZnJpZGF5bGludXgub3JnOyBCaWUsDQo+IFRpd2VpDQo+ IENjOiBzdGFibGVAZHBkay5vcmc7IGpmcmVpbWFuQHJlZGhhdC5jb20NCj4gU3ViamVjdDogUmU6 IFtQQVRDSF0gdmhvc3RfdXNlcjogcHJvdGVjdCBhY3RpdmUgcmluZ3MgZnJvbSBhc3luYyByaW5n DQo+IGNoYW5nZXMNCj4gDQo+IEhpIEppYW5mZW5nLA0KPiANCj4gT24gMTIvMDgvMjAxNyAwOTo1 MSBBTSwgVGFuLCBKaWFuZmVuZyB3cm90ZToNCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IE1heGltZSBDb3F1ZWxpbiBbbWFpbHRvOm1heGltZS5j b3F1ZWxpbkByZWRoYXQuY29tXQ0KPiA+PiBTZW50OiBGcmlkYXksIERlY2VtYmVyIDgsIDIwMTcg NDozNiBQTQ0KPiA+PiBUbzogVGFuLCBKaWFuZmVuZzsgVmljdG9yIEthcGxhbnNreTsgZGV2QGRw ZGsub3JnOyB5bGl1QGZyaWRheWxpbnV4Lm9yZzsNCj4gQmllLA0KPiA+PiBUaXdlaQ0KPiA+PiBD Yzogc3RhYmxlQGRwZGsub3JnOyBqZnJlaW1hbkByZWRoYXQuY29tDQo+ID4+IFN1YmplY3Q6IFJl OiBbUEFUQ0hdIHZob3N0X3VzZXI6IHByb3RlY3QgYWN0aXZlIHJpbmdzIGZyb20gYXN5bmMgcmlu Zw0KPiA+PiBjaGFuZ2VzDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IE9uIDEyLzA4LzIwMTcgMDM6 MTQgQU0sIFRhbiwgSmlhbmZlbmcgd3JvdGU6DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IE1heGltZSBDb3F1ZWxpbiBbbWFpbHRv Om1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tXQ0KPiA+Pj4+IFNlbnQ6IFRodXJzZGF5LCBEZWNl bWJlciA3LCAyMDE3IDY6MDIgUE0NCj4gPj4+PiBUbzogVGFuLCBKaWFuZmVuZzsgVmljdG9yIEth cGxhbnNreTsgZGV2QGRwZGsub3JnOw0KPiB5bGl1QGZyaWRheWxpbnV4Lm9yZzsNCj4gPj4gQmll LA0KPiA+Pj4+IFRpd2VpDQo+ID4+Pj4gQ2M6IHN0YWJsZUBkcGRrLm9yZzsgamZyZWltYW5AcmVk aGF0LmNvbQ0KPiA+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIHZob3N0X3VzZXI6IHByb3RlY3Qg YWN0aXZlIHJpbmdzIGZyb20gYXN5bmMgcmluZw0KPiA+Pj4+IGNoYW5nZXMNCj4gPj4+Pg0KPiA+ Pj4+DQo+ID4+Pj4NCj4gPj4+PiBPbiAxMi8wNy8yMDE3IDEwOjMzIEFNLCBUYW4sIEppYW5mZW5n IHdyb3RlOg0KPiA+Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPj4+Pj4+IEZyb206IFZpY3RvciBLYXBsYW5za3kgW21haWx0bzp2a2FwbGFuc0By ZWRoYXQuY29tXQ0KPiA+Pj4+Pj4gU2VudDogV2VkbmVzZGF5LCBEZWNlbWJlciA2LCAyMDE3IDk6 NTYgUE0NCj4gPj4+Pj4+IFRvOiBkZXZAZHBkay5vcmc7IHlsaXVAZnJpZGF5bGludXgub3JnOyBC aWUsIFRpd2VpOyBUYW4sIEppYW5mZW5nOw0KPiA+Pj4+Pj4gdmthcGxhbnNAcmVkaGF0LmNvbQ0K PiA+Pj4+Pj4gQ2M6IHN0YWJsZUBkcGRrLm9yZzsgamZyZWltYW5AcmVkaGF0LmNvbTsgTWF4aW1l IENvcXVlbGluDQo+ID4+Pj4+PiBTdWJqZWN0OiBbUEFUQ0hdIHZob3N0X3VzZXI6IHByb3RlY3Qg YWN0aXZlIHJpbmdzIGZyb20gYXN5bmMgcmluZw0KPiA+PiBjaGFuZ2VzDQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4gV2hlbiBwZXJmb3JtaW5nIGxpdmUgbWlncmF0aW9uIG9yIG1lbW9yeSBob3QtcGx1Z2dp bmcsDQo+ID4+Pj4+PiB0aGUgY2hhbmdlcyB0byB0aGUgZGV2aWNlIGFuZCB2cmluZ3MgbWFkZSBi eSBtZXNzYWdlIGhhbmRsZXINCj4gPj4+Pj4+IGRvbmUgaW5kZXBlbmRlbnRseSBmcm9tIHZyaW5n IHVzYWdlIGJ5IFBNRCB0aHJlYWRzLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFRoaXMgY2F1c2VzIGZv ciBleGFtcGxlIHNlZ2ZhdWxzIGR1cmluZyBsaXZlLW1pZ3JhdGlvbg0KPiA+Pj4+Pg0KPiA+Pj4+ PiBzZWdmYXVscyAtPnNlZ2ZhdWx0cz8NCj4gPj4+Pj4NCj4gPj4+Pj4+IHdpdGggTVEgZW5hYmxl LCBidXQgaW4gZ2VuZXJhbCB2aXJ0dWFsbHkgYW55IHJlcXVlc3QNCj4gPj4+Pj4+IHNlbnQgYnkg cWVtdSBjaGFuZ2luZyB0aGUgc3RhdGUgb2YgZGV2aWNlIGNhbiBjYXVzZQ0KPiA+Pj4+Pj4gcHJv YmxlbXMuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlc2UgcGF0Y2hlcyBmaXhlcyBhbGwgYWJvdmUg aXNzdWVzIGJ5IGFkZGluZyBhIHNwaW5sb2NrDQo+ID4+Pj4+PiB0byBldmVyeSB2cmluZyBhbmQg cmVxdWlyaW5nIG1lc3NhZ2UgaGFuZGxlciB0byBzdGFydCBvcGVyYXRpb24NCj4gPj4+Pj4+IG9u bHkgYWZ0ZXIgZW5zdXJpbmcgdGhhdCBhbGwgUE1EIHRocmVhZHMgcmVsYXRlZCB0byB0aGUgZGl2 ZWNlDQo+ID4+Pj4+DQo+ID4+Pj4+IEFub3RoZXIgdHlwbzogZGl2ZWNlLg0KPiA+Pj4+Pg0KPiA+ Pj4+Pj4gYXJlIG91dCBvZiBjcml0aWNhbCBzZWN0aW9uIGFjY2Vzc2luZyB0aGUgdnJpbmcgZGF0 YS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBFYWNoIHZyaW5nIGhhcyBpdHMgb3duIGxvY2sgaW4gb3Jk ZXIgdG8gbm90IGNyZWF0ZSBjb250ZW50aW9uDQo+ID4+Pj4+PiBiZXR3ZWVuIFBNRCB0aHJlYWRz IG9mIGRpZmZlcmVudCB2cmluZ3MgYW5kIHRvIHByZXZlbnQNCj4gPj4+Pj4+IHBlcmZvcm1hbmNl IGRlZ3JhZGF0aW9uIGJ5IHNjYWxpbmcgcXVldWUgcGFpciBudW1iZXIuDQo+ID4+Pj4+DQo+ID4+ Pj4+IEFsc28gd29uZGVyIGhvdyBtdWNoIG92ZXJoZWFkIGl0IGJyaW5ncy4NCj4gPj4+Pj4NCj4g Pj4+Pj4gSW5zdGVhZCBvZiBsb2NraW5nIGVhY2ggdnJpbmcsIGNhbiB3ZSBqdXN0LCB3YWl0aW5n IGEgd2hpbGUgKDEwdXMgZm9yDQo+ID4+IGV4YW1wbGUpDQo+ID4+Pj4gYWZ0ZXIgY2FsbCBkZXN0 cm95X2RldmljZSgpIGNhbGxiYWNrIHNvIHRoYXQgZXZlcnkgUE1EIHRocmVhZCBoYXMNCj4gZW5v dWdoDQo+ID4+Pj4gdGltZSB0byBza2lwIG91dCB0aGUgY3JpdGVyaWFsIGFyZWE/DQo+ID4+Pj4N Cj4gPj4+PiBObywgYmVjYXVzZSB3ZSBhcmUgbm90IGRlc3Ryb3lpbmcgdGhlIGRldmljZSB3aGVu IGl0IGlzIG5lZWRlZC4NCj4gPj4+PiBBY3R1YWxseSwgb25jZSBkZXN0cm95X2RldmljZSgpIGlz IGNhbGxlZCwgaXQgaXMgbGlrZWx5IHRoYXQgdGhlDQo+ID4+Pj4gYXBwbGljYXRpb24gaGFzIHRh a2VuIGNhcmUgdGhlIHJpbmcgYXJlbid0IGJlaW5nIHByb2Nlc3NlZCBhbnltb3JlDQo+ID4+Pj4g YmVmb3JlIHJldHVybmluZyBmcm9tIHRoZSBjYWxsYmFjayAoVGhpcyBpcyBhdCBsZWFzdCB0aGUg Y2FzZSB3aXRoIFZob3N0DQo+ID4+Pj4gUE1EKS4NCj4gPj4+DQo+ID4+PiBPSywgSSBkaWQgbm90 IHB1dCBpdCByaWdodCB3YXkgYXMgdGhlcmUgYXJlIG11bHRpcGxlIGNhc2VzIGFib3ZlOiBtaWdy YXRpb24NCj4gPj4gYW5kIG1lbW9yeSBob3QgcGx1Zy4gTGV0IG1lIHRyeSBhZ2FpbjoNCj4gPj4+ DQo+ID4+PiBXaGVuZXZlciBhIHZob3N0IHRocmVhZCBoYW5kbGVzIGEgbWVzc2FnZSBhZmZlY3Rp bmcgUE1EIHRocmVhZHMsDQo+IChsaWtlDQo+ID4+IFNFVF9NRU1fVEFCTEUsIEdFVF9WUklOR19C QVNFLCBldGMpIHdlIGNhbiByZW1vdmUgdGhlIGRldiBmbGFnIC0NCj4gPj4gVklSVElPX0RFVl9S VU5OSU5HLCBhbmQgd2FpdCBmb3IgYSB3aGlsZSBzbyB0aGF0IFBNRCB0aHJlYWRzIHNraXAgb3V0 DQo+IG9mDQo+ID4+IHRob3NlIGNyaXRlcmlhbCBhcmVhLiBBZnRlciBtZXNzYWdlIGhhbmRsaW5n LCByZXNldCB0aGUgZmxhZyAtDQo+ID4+IFZJUlRJT19ERVZfUlVOTklORy4NCj4gPj4NCj4gPj4g SSB0aGluayB5b3UgbWVhbiBjbGVhcmluZyB2cSdzIGVuYWJsZWQgZmxhZywgYmVjYXVzZSBQTUQg dGhyZWFkcyBuZXZlcg0KPiA+PiBjaGVjayB0aGUgVklSVElPX0RFVl9SVU5OSU5HIGZsYWcuDQo+ ID4NCj4gPiBBaCwgeWVzLg0KPiA+DQo+ID4+DQo+ID4+PiBJIHN1cHBvc2UgaXQgY2FuIHdvcmss IGJhc2luZyBvbiBhbiBhc3N1bXB0aW9uIHRoYXQgUE1EIHRocmVhZHMgd29yaw0KPiBpbg0KPiA+ PiBwb2xsaW5nIG1vZGUgYW5kIGNhbiBza2lwIGNyaXRlcmlhbCBhcmVhIHF1aWNrbHkgYW5kIGlu ZXZpdGFibHkuDQo+ID4+DQo+ID4+IFRoYXQgc291bmRzIHZlcnkgZnJhZ2lsZSwgYmVjYXVzZSBp ZiB0aGUgQ1BVIGFyZW4ndCBwZXJmZWN0bHkgaXNvbGF0ZWQsDQo+ID4+IHlvdXIgUE1EIHRocmVh ZCBjYW4gYmUgcHJlZW1wdGVkIGZvciBpbnRlcnJ1cHQgaGFuZGxpbmcgZm9yIGV4YW1wbGUuDQo+ ID4+DQo+ID4+IE9yIHdoYXQgaWYgZm9yIHNvbWUgcmVhc29uIHRoZSBQTUQgdGhyZWFkIENQVSBz dGFsbHMgZm9yIGEgc2hvcnQgd2hpbGU/DQo+ID4+DQo+ID4+IFRoZSBsYXRlciBpcyB1bmxpa2Vs eSwgYnV0IGlmIGl0IGhhcHBlbnMsIGl0IHdpbGwgYmUgaGFyZCB0byBkZWJ1Zy4NCj4gPj4NCj4g Pj4gTGV0J3Mgc2VlIGZpcnN0IHRoZSBwZXJmb3JtYW5jZSBpbXBhY3Qgb2YgdXNpbmcgdGhlIHNw aW5sb2NrLiBJdCBtaWdodA0KPiA+PiBub3QgYmUgdGhhdCBpbXBvcnRhbnQgYmVjYXVzZSA5OS45 OTk5JSBvZiB0aGUgdGltZXMsIGl0IHdpbGwgbm90IGV2ZW4NCj4gPj4gc3Bpbi4NCj4gPg0KPiA+ IEZhaXIgZW5vdWdoLg0KPiANCj4gSSBkaWQgc29tZSBiZW5jaG1hcmtzIG9uIG15IEJyb2Fkd2Vs bCB0ZXN0IGJlbmNoIChzZWUgcGF0Y2ggYmVsb3cpLCBhbmQNCj4gaXQgc2VlbXMgdGhhdCBkZXBl bmRpbmcgb24gdGhlIGJlbmNobWFyaywgcGVyZnMgYXJlIG9uIHBhciwgb3IgYmV0dGVyDQo+IHdp dGggdGhlIHNwaW5sb2NrISBJIGd1ZXNzIGl0IGV4cGxhaW5zIGJlY2F1c2Ugd2l0aCB0aGUgc3Bp bmxvY2sgdGhlcmUNCj4gaXMgYSBiZXR0ZXIgYmF0Y2hpbmcgYW5kIGxlc3MgY29uY3VycmVudCBh Y2Nlc3NlcyBvbiB0aGUgcmluZ3MsIGJ1dCBJJ20NCj4gbm90IHN1cmUuDQo+IA0KPiBQbGVhc2Ug ZmluZCBteSByZXN1bHRzIGJlbG93IChDUFUgRTUtMjY2NyB2NCBAIDMuMjBHSHopOg0KPiANCj4g ICAgICAgIEJlbmNoICAgICAgICAgdjE3LjExICAgICB2MTcuMTEgKyBzcGlubG9jaw0KPiAgIC0t LS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgICBQVlAg QmlkaXIgcnVuMSAgIDE5LjI5TXBwcyAgIDE5LjI2TXBwcw0KPiAgICBQVlAgQmlkaXIgcnVuMiAg IDE5LjI2TXBwcyAgIDE5LjI4TXBwcw0KPiAgICBUeE9ubHkgICAgICAgICAgIDE4LjQ3TXBwcyAg IDE4LjgzTXBwcw0KPiAgICBSeE9ubHkgICAgICAgICAgIDEzLjgzTXBwcyAgIDEzLjgzTXBwcw0K PiAgICBJTyBMb29wYmFjayAgICAgIDcuOTRNcHBzICAgIDcuOTdNcHBzDQo+IA0KDQpUaGlzIG51 bWJlciBzZWVtcyByZWFsbHkgZ29vZCBmb3IgdGhyb3VnaHB1dC4NCg0KRllJLCB3ZSBhcmUgcmVj ZW50bHkgZG9pbmcgYSB0ZXN0IHRvIG1lYXN1cmUgaG93IGxvbmcgaXQgdGFrZXMgZm9yIGEgbm9v cCAobWVhbnMgdGhlcmUgaXMgbm8gcGFja2V0cyBvbiB0aGUgdmlydHF1ZXVlKSB2aG9zdCBkZXF1 ZXVlIG9wZXJhdGlvbi4gSXQncyBsaWtlOg0KDQogICAgc3RhcnRfdHNjID0gcnRlX3JkdHNjKCk7 DQogICAgZm9yIChqID0gMDsgaiA8IDEwMDAwMDAwOyArK2opIA0KICAgICAgICAgICAgbmJfcngg PSBydGVfZXRoX3J4X2J1cnN0KHBvcnRfaWQsIHF1ZXVlX2lkLCBwa3RzX2J1cnN0LCBuYl9wa3Rf cGVyX2J1cnN0KTsNCiAgICBlbmRfdHNjID0gcnRlX3JkdHNjKCk7DQogICAgcHJpbnRmKCIlIlBS SXU2NCJcbiIsIChlbmRfdHNjIC0gc3RhcnRfdHNjKSAvIDEwMDAwMDAwKTsNCg0KVHVybnMgb3V0 IHRoYXQgdGhpcyBwYXRjaCB3aWxsIG1ha2UgaXQgZnJvbSA1MCBjeWNsZXMgLT4gODAgY3ljbGVz IGZvciBlYWNoIG5vb3AgcnRlX2V0aF9yeF9idXJzdCgpIG9wZXJhdGlvbiBvbiB2aG9zdCBwb3J0 LiBNeSBzZXJ2ZXIgaXMgSGFzd2VsbCAyLjNHSHouDQoNCk5vdGUgdGhhdCBJJ20gbm90IGFnYWlu c3QgdGhpcyBwYXRjaC4gSnVzdCB0aGF0IGlmIHN1Y2ggb3BlcmF0aW9uIHRha2VzIHNvIG1hbnkg Y3ljbGVzLCB3ZSBtaWdodCBjb25zaWRlciB0byBpbnRyb2R1Y2UgaW50ZXJydXB0IG1vZGUgZm9y IHZob3N0IHBvcnRzLg0KDQpUaGFua3MsDQpKaWFuZmVuZw0KDQoNCj4gDQo+IA0KPiBQYXRjaDoN Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+IA0KPiAgRnJvbSA3ZTE4Y2VmY2U2ODIyMzU1NThmZWQ2NmExZmI4N2FiOTM3ZWM5Mjk3 IE1vbiBTZXAgMTcgMDA6MDA6MDANCj4gMjAwMQ0KPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBEYXRlOiBGcmksIDggRGVjIDIwMTcgMDQ6MjE6 MjUgLTA1MDANCj4gU3ViamVjdDogW1BBVENIXSB2aG9zdDogc3BpbmxvY2sgYmVuY2htYXJraW5n DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkBy ZWRoYXQuY29tPg0KPiAtLS0NCj4gICBsaWIvbGlicnRlX3Zob3N0L3Zob3N0LmMgICAgICB8ICAy ICsrDQo+ICAgbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oICAgICAgfCAgMiArKw0KPiAgIGxpYi9s aWJydGVfdmhvc3QvdmlydGlvX25ldC5jIHwgMTIgKysrKysrKysrKysrDQo+ICAgMyBmaWxlcyBj aGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV92 aG9zdC92aG9zdC5jIGIvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5jDQo+IGluZGV4IDRmOGI3M2Eu LmQ5NzUyY2YgMTAwNjQ0DQo+IC0tLSBhL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuYw0KPiArKysg Yi9saWIvbGlicnRlX3Zob3N0L3Zob3N0LmMNCj4gQEAgLTIxOSw2ICsyMTksOCBAQCBzdHJ1Y3Qg dmlydGlvX25ldCAqDQo+ICAgCXZxLT5raWNrZmQgPSBWSVJUSU9fVU5JTklUSUFMSVpFRF9FVkVO VEZEOw0KPiAgIAl2cS0+Y2FsbGZkID0gVklSVElPX1VOSU5JVElBTElaRURfRVZFTlRGRDsNCj4g DQo+ICsJcnRlX3NwaW5sb2NrX2luaXQoJnZxLT5hY2Nlc3NfbG9jayk7DQo+ICsNCj4gICAJdmhv c3RfdXNlcl9pb3RsYl9pbml0KGRldiwgdnJpbmdfaWR4KTsNCj4gICAJLyogQmFja2VuZHMgYXJl IHNldCB0byAtMSBpbmRpY2F0aW5nIGFuIGluYWN0aXZlIGRldmljZS4gKi8NCj4gICAJdnEtPmJh Y2tlbmQgPSAtMTsNCj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaCBiL2xp Yi9saWJydGVfdmhvc3Qvdmhvc3QuaA0KPiBpbmRleCAxY2M4MWMxLi41NjI0MmE4IDEwMDY0NA0K PiAtLS0gYS9saWIvbGlicnRlX3Zob3N0L3Zob3N0LmgNCj4gKysrIGIvbGliL2xpYnJ0ZV92aG9z dC92aG9zdC5oDQo+IEBAIC0xMzEsNiArMTMxLDggQEAgc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSB7 DQo+ICAgCXN0cnVjdCBiYXRjaF9jb3B5X2VsZW0JKmJhdGNoX2NvcHlfZWxlbXM7DQo+ICAgCXVp bnQxNl90CQliYXRjaF9jb3B5X25iX2VsZW1zOw0KPiANCj4gKwlydGVfc3BpbmxvY2tfdCBhY2Nl c3NfbG9jazsNCj4gKw0KPiAgIAlydGVfcndsb2NrX3QJaW90bGJfbG9jazsNCj4gICAJcnRlX3J3 bG9ja190CWlvdGxiX3BlbmRpbmdfbG9jazsNCj4gICAJc3RydWN0IHJ0ZV9tZW1wb29sICppb3Rs Yl9wb29sOw0KPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmMgYi9s aWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYw0KPiBpbmRleCA2ZmVlMTZlLi41MGNjM2RlIDEw MDY0NA0KPiAtLS0gYS9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYw0KPiArKysgYi9saWIv bGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYw0KPiBAQCAtMzI5LDYgKzMyOSw4IEBADQo+ICAgCWlm ICh1bmxpa2VseSh2cS0+ZW5hYmxlZCA9PSAwKSkNCj4gICAJCXJldHVybiAwOw0KPiANCj4gKwly dGVfc3BpbmxvY2tfbG9jaygmdnEtPmFjY2Vzc19sb2NrKTsNCj4gKw0KPiAgIAlpZiAoZGV2LT5m ZWF0dXJlcyAmICgxVUxMIDw8IFZJUlRJT19GX0lPTU1VX1BMQVRGT1JNKSkNCj4gICAJCXZob3N0 X3VzZXJfaW90bGJfcmRfbG9jayh2cSk7DQo+IA0KPiBAQCAtNDE5LDYgKzQyMSw4IEBADQo+ICAg CWlmIChkZXYtPmZlYXR1cmVzICYgKDFVTEwgPDwgVklSVElPX0ZfSU9NTVVfUExBVEZPUk0pKQ0K PiAgIAkJdmhvc3RfdXNlcl9pb3RsYl9yZF91bmxvY2sodnEpOw0KPiANCj4gKwlydGVfc3Bpbmxv Y2tfdW5sb2NrKCZ2cS0+YWNjZXNzX2xvY2spOw0KPiArDQo+ICAgCXJldHVybiBjb3VudDsNCj4g ICB9DQo+IA0KPiBAQCAtNjU0LDYgKzY1OCw4IEBADQo+ICAgCWlmICh1bmxpa2VseSh2cS0+ZW5h YmxlZCA9PSAwKSkNCj4gICAJCXJldHVybiAwOw0KPiANCj4gKwlydGVfc3BpbmxvY2tfbG9jaygm dnEtPmFjY2Vzc19sb2NrKTsNCj4gKw0KPiAgIAlpZiAoZGV2LT5mZWF0dXJlcyAmICgxVUxMIDw8 IFZJUlRJT19GX0lPTU1VX1BMQVRGT1JNKSkNCj4gICAJCXZob3N0X3VzZXJfaW90bGJfcmRfbG9j ayh2cSk7DQo+IA0KPiBAQCAtNzE1LDYgKzcyMSw4IEBADQo+ICAgCWlmIChkZXYtPmZlYXR1cmVz ICYgKDFVTEwgPDwgVklSVElPX0ZfSU9NTVVfUExBVEZPUk0pKQ0KPiAgIAkJdmhvc3RfdXNlcl9p b3RsYl9yZF91bmxvY2sodnEpOw0KPiANCj4gKwlydGVfc3BpbmxvY2tfdW5sb2NrKCZ2cS0+YWNj ZXNzX2xvY2spOw0KPiArDQo+ICAgCXJldHVybiBwa3RfaWR4Ow0KPiAgIH0NCj4gDQo+IEBAIC0x MTgzLDYgKzExOTEsOCBAQA0KPiAgIAlpZiAodW5saWtlbHkodnEtPmVuYWJsZWQgPT0gMCkpDQo+ ICAgCQlyZXR1cm4gMDsNCj4gDQo+ICsJcnRlX3NwaW5sb2NrX2xvY2soJnZxLT5hY2Nlc3NfbG9j ayk7DQo+ICsNCj4gICAJdnEtPmJhdGNoX2NvcHlfbmJfZWxlbXMgPSAwOw0KPiANCj4gICAJaWYg KGRldi0+ZmVhdHVyZXMgJiAoMVVMTCA8PCBWSVJUSU9fRl9JT01NVV9QTEFURk9STSkpDQo+IEBA IC0xMzU2LDYgKzEzNjYsOCBAQA0KPiAgIAlpZiAoZGV2LT5mZWF0dXJlcyAmICgxVUxMIDw8IFZJ UlRJT19GX0lPTU1VX1BMQVRGT1JNKSkNCj4gICAJCXZob3N0X3VzZXJfaW90bGJfcmRfdW5sb2Nr KHZxKTsNCj4gDQo+ICsJcnRlX3NwaW5sb2NrX3VubG9jaygmdnEtPmFjY2Vzc19sb2NrKTsNCj4g Kw0KPiAgIAlpZiAodW5saWtlbHkocmFycF9tYnVmICE9IE5VTEwpKSB7DQo+ICAgCQkvKg0KPiAg IAkJICogSW5qZWN0IGl0IHRvIHRoZSBoZWFkIG9mICJwa3RzIiBhcnJheSwgc28gdGhhdCBzd2l0 Y2gncyBtYWMNCj4gLS0NCj4gMS44LjMuMQ0K