From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754568AbdBPLMW (ORCPT ); Thu, 16 Feb 2017 06:12:22 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:33220 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753837AbdBPLMU (ORCPT ); Thu, 16 Feb 2017 06:12:20 -0500 X-AuditID: b6c32a58-f79746d0000012a9-b8-58a58911571f MIME-version: 1.0 Subject: RE: RE: Re: Re: Re: Subject: [PATCH v2] USB:Core: BugFix: Proper handling of Race Condition when two USB class drivers try to call init_usb_class simultaneously Reply-to: ajay.kaher@samsung.com From: Ajay Kaher To: Alan Stern , "gregkh@linuxfoundation.org" Cc: "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" , AMAN DEEP , HEMANSHU SRIVASTAVA X-Priority: 3 X-Content-Kind-Code: NORMAL X-Drm-Type: Y,confirm X-EPLocale: en_US.EUC-KR X-EPWebmail-Msg-Type: personal X-Msg-Generator: Mail X-Msg-Type: PERSONAL X-Reply-Demand: N Illegal-Object: Syntax error in X-Sender: address found on vger.kernel.org: X-Sender: =?utf-8?B?7IK87ISx7KCE7J6QG1NSSS1EZWxoaS1TeXN0ZW0g?= ^-Extraneous program text X-Sender-IP: 107.109.226.47 X-Local-Sender: =?UTF-8?B?QWpheSBLYWhlchtTUkktRGVsaGktU3lzdGVtIFMvVyBUZWFtG+yCvOyEsQ==?= =?UTF-8?B?7KCE7J6QG0xlYWQgRW5naW5lZXI=?= X-Global-Sender: =?UTF-8?B?QWpheSBLYWhlchtTUkktRGVsaGktU3lzdGVtIFMvVyBUZWFtG1NhbXN1?= =?UTF-8?B?bmcgRWxlY3Ryb25pY3MbTGVhZCBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwGxtDMTBJRDAySUQwMjgxMTI=?= Message-id: <20170216094237epcms5p8011a4505ccfdd718bc66a7a62df2f8f4@epcms5p8> Date: Thu, 16 Feb 2017 09:42:37 +0000 X-CMS-MailID: 20170216094237epcms5p8011a4505ccfdd718bc66a7a62df2f8f4 Content-type: multipart/related; boundary="----=_Part_430095_1530405160.1487238157234" X-MTR: 20170216094237epcms5p8011a4505ccfdd718bc66a7a62df2f8f4 X-EPHeader: Mail X-ConfirmMail: Y,confirm CMS-TYPE: 105P X-Brightmail-Tracker: H4sIAAAAAAAAA02Se0hTYRjG+Tzz7JitPuelN4NYB8syXNvcdFZG0IXRBaz+aBiyTnrYxF1k Z0oWlGApXrIMqTDDtDTvC52lBlkLugi1kXajNLtYYoVdNDKz2jwb9d/zPfye773wUoS4goyk Msw21mpmjDQ5R3Dl1oqY2JCiOq2szRGn7h13CNT5F+ykesz1kVD391SR6tr6o4T6xLSbXE9q es+1CDVnB38gTZmjCWm+tS9OFqSwaw0sk85aJaw5zZKeYdYn0Vt36TboVPEyeaw8UZ1AS8yM iU2iN25Ljt2cYfQUpyU5jDHbYyUzHEevWrfWasm2sRKDhbMl0XvkcoVULkuQKhQKqVKVulqh 8iB7WcOt0UYy67Jm/zV3JZGHujcXoyAKsBKe9XcLeR0B7iE7WYzmUGJch2Dq3kxgMaIoEQ6B ma5Qrx+KWxG8ap0gvAExlkBRoV3g1aF4Jfws/RDo1SReAd0lnbN+GNbDyJOvyBsmsAtBnbOC 5KuJ4EzhiIDXi+DqpU7E63D4lef3AZpr3vv4xXBqsoXwM+O3q318GBwduu/zQ2B46prPN0Hx n+9C///9beWEtwnA+QhK+58h/lGKYLTveSBPJUDvnckArxbh7dDzuGy2CwFeCq8f2H1dbITj DR2zPIG18OZKjy+bBJ+K8n3VMLTcrSL8E7gfOAmenwfHpt8G8H4UNNysFp5AUZX/Nlz536+8 XgIVJa+EXoTwLNXes+o8EjShCDaLM+lZTpWllHKMics266VpFlM7mr3IGG0X+n1mpxNhCtFz RQZjnVYcyORwuSYnAoqgw0SNhR5LlM7kHmCtFp0128hyTqTyDFpORIanWTz3bbbp5Mp4uVKR GKeKT5Cp6QWiFFm5Voz1jI3NZNks1urPBVBBkXkoemDSNX96yvFJMzG/a93QsPjGxYMv3s18 +TJ3X1/03tLaU4/sv14WXI92vdu2Sb/bNDA6crj9AvNww/5DqetPNicWjC2LyPmeGjVVs6XM HdQX/jEYVeHMktbH9Z1rykzisYIOYe74U1dK5+fg1zscrUcmBgt0p5ObKuzG5XmK9qKFObSA MzDyGMLKMX8BOwZaCKcDAAA= DLP-Filter: Pass X-CFilter-Loop: Reflected X-Auth-Email: ajay.kaher@samsung.com X-HopCount: 6 X-CMS-RootMailID: 20170214154008epcas4p2f23830ede97f41d4570ebbf7d3fd7828 X-RootMTR: 20170214154008epcas4p2f23830ede97f41d4570ebbf7d3fd7828 References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ------=_Part_430095_1530405160.1487238157234 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8" DQrCoA0KPiA+Pj4+PsKgQXTCoGJvb3TCoHRpbWUswqBwcm9iZcKgZnVuY3Rpb27CoG9mwqBtdWx0 aXBsZcKgY29ubmVjdGVkwqBkZXZpY2VzDQo+ID4+Pj4+wqAocHJvcHJpZXRhcnnCoGRldmljZXMp wqBleGVjdXRlwqBzaW11bHRhbmVvdXNseS4NCj4gPj4+Pg0KPiA+Pj4+wqBXaGF0wqBleGFjdGx5 wqBkb8KgeW91wqBtZWFuwqBoZXJlP8KgwqBIb3fCoGNhbsKgcHJvYmXCoGhhcHBlbsKgInNpbXVs dGFuZW91c2x5Ij8NCj4gPj4+PsKgVGhlwqBVU0LCoGNvcmXCoHByZXZlbnRzwqB0aGlzLMKgcmln aHQ/DQo+ID4+Pj7CoA0KPj4gPj4+wqBJwqBoYXZlwqBvYnNlcnZlZMKgdHdvwqBzY2VuYXJpb3PC oHRvwqBjYWxswqBwcm9iZcKgZnVuY3Rpb246DQo+PiA+Pj7CoA0KPj4gPj4+wqBTY2VuYXJpb8Kg IzE6wqBEcml2ZXLCoGluc2VydGVkwqBhbmTCoGF0dGFjaGluZ8KgVVNCwqBEZXZpY2U6DQo+PiA+ Pj7CoFllcyzCoHlvdcKgYXJlwqByaWdodCzCoHR3b8KgcHJvYmVzwqBhdMKgc2FtZcKgdGltZcKg aXPCoG5vdMKgaGFwcGVuaW5nDQo+PsKgPj7CoGluwqB0aGlzwqBzY2VuYXJpby4NCj4+wqA+PsKg DQo+PsKgPj7CoFNjZW5hcmlvwqAjMjrCoFVTQsKgRGV2aWNlwqBhdHRhY2hlZMKgYW5kwqBpbnNl cnRpbmfCoERyaXZlcjoNCj4+wqA+PsKgSW7CoHRoaXPCoGNhc2XCoHByb2JlwqBoYXPCoGJlZW7C oGNhbGxlZMKgaW7CoGNvbnRleHTCoG9mwqBpbnNtb2QsDQo+PsKgPj7CoHJlZmVywqBmb2xsb3dp bmfCoGNvZGXCoGZsb3c6DQo+PsKgPj7CoGluaXTCoC0+wqB1c2JfcmVnaXN0ZXJfZHJpdmVywqAt PsKgZHJpdmVyX3JlZ2lzdGVywqAtPsKgYnVzX2FkZF9kcml2ZXLCoC0+DQo+PsKgPj7CoGRyaXZl cl9hdHRhY2jCoC0+wqBidXNfZm9yX2VhY2hfZGV2wqAtPsKgX19kcml2ZXJfYXR0YWNowqAtPg0K Pj7CoD4+wqBkcml2ZXJfcHJvYmVfZGV2aWNlwqAtPsKgdXNiX3Byb2JlX2ludGVyZmFjZcKgLT7C oHByb2JlwqAtPsKgdXNiX3JlZ2lzdGVyX2Rldg0KPj7CoD4+wqANCj4+wqA+PsKgScKgaGF2ZcKg b2JzZXJ2ZWTCoHRoZcKgY3Jhc2jCoGluwqBTY2VuYXJpb8KgIzIswqBhc8KgdHdvwqBwcm9iZXPC oGV4ZWN1dGVzwqBhdA0KPj7CoD4+wqBzYW1lwqB0aW1lwqBpbsKgdGhpc8Kgc2NlbmFyaW8uwqBB bmTCoGluaXRfdXNiX2NsYXNzX211dGV4wqBsb2NrwqByZXF1aXJlwqB0bw0KPj7CoD4+wqBwcmV2 ZW50wqByYWNlwqBjb25kaXRpb24uDQo+PsKgPsKgDQo+PsKgPsKgV2hhdMKgYWJvdXTCoHRoZcKg ZmFjdMKgdGhhdMKgaW7CoF9fZHJpdmVyX2F0dGFjaCgpwqB3ZcKgY2FsbMKgZGV2aWNlX2xvY2so KcKgc28NCj4+wqA+wqB0aGF0wqBwcm9iZcKgbmV2ZXLCoGdldHPCoGNhbGxlZMKgYXTCoHRoZcKg c2FtZcKgdGltZcKgZm9ywqB0aGXCoHNhbWXCoGRldmljZT8NCj4+wqANCj4+wqBEZXZpY2VzwqBh cmXCoGRpZmZlcmVudC4NCj4+wqANCj4+wqA+wqBPcsKgYXJlwqB5b3XCoHNheWluZ8KgdGhhdMKg eW91wqBjYW7CoGxvYWTCoG11bHRpcGxlwqBVU0LCoG1vZHVsZXPCoGF0wqB0aGXCoHNhbWUNCj4+ wqA+wqB0aW1lP8KgwqBJZsKgc28swqBob3fCoGlzwqBpbnNtb2TCoHJ1bm5pbmfCoG9uwqBtdWx0 aXBsZcKgY3B1c8KgYXTCoHRoZcKgc2FtZcKgdGltZT8NCj4+wqA+wqBJwqB0aG91Z2h0wqB3ZcKg aGFkwqBhwqBnbG9iYWzCoGxvY2vCoHRoZXJlwqB0b8KgcHJldmVudMKgdGhhdMKgZnJvbcKgaGFw cGVuaW5nDQo+PsKgPsKgKGkuZS7CoG9ubHnCoG9uZcKgbW9kdWxlwqBjYW7CoGJlwqBsb2FkZWTC oGF0wqBhwqB0aW1lLinCoMKgT3LCoGlzwqB0aGF0wqB3aGF0wqBoYXMNCj4+wqA+wqByZWNlbnRs ecKgY2hhbmdlZD8NCj4+wqANCj4+wqBZZXMswqB3ZcKgY2FuwqBsb2FkwqBtdWx0aXBsZcKgVVNC wqBtb2R1bGVzwqBhdMKgdGhlwqBzYW1lwqB0aW1lwqB1c2luZ8KgaW5zbW9kLg0KPj7CoFRlc3Rl ZMKgb27CoEFSTcKgQXJjaGl0ZWN0dXJlwqB3aXRowqBMaW51eMKga2VybmVswqA0LjEuMTAswqB0 aGF0wqB3ZcKgY2FuwqBoYXZlwqANCj4+wqBtdWx0aXBsZcKgaW5zbW9kwqBvbsKgbXVsdGlwbGXC oGNwdXPCoGF0wqBzYW1lwqB0aW1lLsKgQWxzb8KgcmV2aWV3ZWTCoGxvYWRfbW9kdWxlwqBhbmTC oA0KPj7CoGRvX2luaXRfbW9kdWxlwqBmdW5jdGlvbnPCoGFuZMKgY291bGRuJ3TCoGZpbmTCoGFu ecKgZ2xvYmFswqBsb2NrLg0KPj7CoA0KPj7CoD7CoA0KPj7CoD7CoFdoYXTCoGlzwqBjYXVzaW5n wqB5b3VywqBtb2R1bGVzwqB0b8KgYmXCoGxvYWRlZMKgZnJvbcKgdXNlcnNwYWNlP8KgwqBXaGF0 wqB0eXBlwqBvZg0KPj7CoD7CoGRldmljZcKgaXPCoHRoaXPCoGhhcHBlbmluZ8KgZm9yP8KgwqBB bmTCoHdoecKgaGF2ZW4ndMKgd2XCoHNlZW7CoHRoaXPCoGJlZm9yZT8NCj4+wqA+wqBXaGF0wqBr ZXJuZWzCoHZlcnNpb25zwqBoYXZlwqB5b3XCoGhhZMKgYcKgcHJvYmxlbcKgd2l0aMKgdGhpcz8N Cj4+wqANCj4+wqBFYXJsaWVywqB3ZcKgZXhlY3V0ZcKgaW5zbW9kwqBpbsKgZm9yZWdyb3VuZMKg YXPCoCJpbnNtb2TCoGFhYS5rb8KgO8KgaW5zbW9kwqBiYmIua28iDQo+PsKgYW5kwqB0aGF0J3PC oHdoecKgaW5zbW9kwqBleGVjdXRlZMKgc2VxdWVudGlhbGx5LsKgTm93wqB3ZcKgbW9kaWZpZWTC oHRvwqBleGVjdXRlwqBpbsKgDQo+PsKgcGFyYWxsZWwvYmFja2dyb3VuZMKgYXPCoCJpbnNtb2TC oGFhYS5rb8KgJsKgO8KgaW5zbW9kwqBiYmIua2/CoCYiLsKgDQo+PsKgDQo+PsKgPsKgQW5kwqB3 aGF0wqBmb3LCoHdoYXTCoGRyaXZlcnPCoHNwZWNpZmljYWxseT8NCj4+wqANCj4+wqBUaGlzwqBw cm9ibGVtwqBvYnNlcnZlZMKgZm9ywqBkcml2ZXJzwqBpbsKgd2hpY2jCoHVzYl9yZWdpc3Rlcl9k ZXbCoGNhbGxlZMKgZnJvbcKgdGhlaXINCj4+wqBwcm9iZcKgZnVuY3Rpb24swqBhbmTCoHRoZXJl wqBhcmXCoG1hbnnCoHN1Y2jCoGRyaXZlcnMuDQo+PsKgDQo+PsKgQXPCoHBlcsKgbXnCoG9waW5p b24swqB1c2JfY2xhc3PCoHN0cnVjdHVyZcKgaXPCoGdsb2JhbMKgYW5kwqBhbGxvY2F0ZWTCoCvC oGluaXRpYWxpemVkDQo+PsKgaW7CoHVzYl9yZWdpc3Rlcl9kZXYtPmluaXRfdXNiX2NsYXNzwqBm dW5jdGlvbi7CoEFsc2/CoGFzwqBwZXLCoHNjZW5hcmlvwqAjMg0KPj7CoGNvbmN1cnJlbmN5wqBp c8KgcG9zc2libGUswqBzb8KgcHJvdGVjdGlvbsKgdXNpbmfCoGluaXRfdXNiX2NsYXNzX211dGV4 wqBsb2NrwqByZXF1aXJlcy4NCj4+wqBEb24ndMKgeW91wqB0aGlua8Kgc28/DQo+PsKgDQo+PsKg Pj4+PsKgQW5kwqBiZWNhdXNlwqBvZsKgdGhlwqBmb2xsb3dpbmfCoGNvZGXCoHBhdGjCoHJhY2XC oGNvbmRpdGlvbsKgaGFwcGVuczoNCj4+wqA+Pj4+wqBwcm9iZS0+dXNiX3JlZ2lzdGVyX2Rldi0+ aW5pdF91c2JfY2xhc3MNCj4+wqA+Pj4NCj4+wqA+Pj7CoFdoecKgaXPCoHRoaXPCoGp1c3TCoHNo b3dpbmfCoHVwwqBub3cswqBhbmTCoGhhc24ndMKgYmVlbsKgYW7CoGlzc3VlwqBmb3LCoHRoZcKg ZGVjYWRlDQo+PsKgPj4+wqBvcsKgc2/CoHRoaXPCoGNvZGXCoGhhc8KgYmVlbsKgYXJvdW5kP8Kg wqBXaGF0wqBjaGFuZ2VkPw0KPj7CoD4+Pg0KPj7CoD4+Pj7CoFRlc3RlZMKgd2l0aMKgdGhlc2XC oGNoYW5nZXMswqBhbmTCoHByb2JsZW3CoGhhc8KgYmVlbsKgc29sdmVkLg0KPj7CoD4+Pg0KPj7C oD4+PsKgV2hhdMKgY2hhbmdlcz8NCj4+wqA+PsKgDQo+PsKgPj7CoFRlc3RlZMKgd2l0aMKgbXnC oHBhdGNowqAoaS5lLsKgbG9ja2luZ8Kgd2l0aMKgaW5pdF91c2JfY2xhc3NfbXV0ZXgpLg0KPj7C oD7CoA0KPj7CoD7CoEnCoGRvbid0wqBzZWXCoGHCoHBhdGNowqBoZXJlwqA6KA0KPj7CoA0KPj7C oFNvcnJ5LMKgYXBwZW5kaW5nwqB0aGXCoHBhdGNowqBhZ2FpbsKgd2l0aMKgdGhpc8KgbWFpbC4N Cj4+wqDCoA0KPj7CoHRoYW5rcywNCj4+wqDCoA0KPj7CoGFqYXnCoGthaGVyDQo+PsKgDQo+PsKg DQo+DQo+IE9uIFRodSwgMTQgRmViIDIwMTcsIEFsYW4gU3Rlcm4gd3JvdGU6DQo+wqANCj4gScKg dGhpbmvCoEFqYXknc8KgYXJndW1lbnTCoGlzwqBjb3JyZWN0wqBhbmTCoGHCoHBhdGNowqBpc8Kg bmVlZGVkLsKgwqBCdXTCoHRoaXMNCj4gcGF0Y2jCoG1pc3Nlc8KgdGhlwqByYWNlwqBiZXR3ZWVu wqBpbml0X3VzYl9jbGFzcygpwqBhbmTCoHJlbGVhc2VfdXNiX2NsYXNzKCkuwqDCoA0KDQpUaGFu a3MgQWxhbiBmb3IgeW91ciBjb21tZW50cywgaW4gcGF0Y2ggdjIgSSBoYXZlIHRha2VuIGNhcmUg Zm9yDQpyZWxlYXNlX3VzYl9jbGFzcygpIGFsc28uIFBsZWFzZSByZXZpZXcgYWdhaW4uDQoNCj4g VGhlwqBiYXNpY8KgcHJvYmxlbcKgaXPCoHRoYXTCoHJlZmVyZW5jZcKgY291bnRpbmfCoGRvZXNu J3TCoHdvcmvCoHdoZW7CoHlvdcKgdHJ5DQo+IHRvwqB1c2XCoHRoZcKgc2FtZcKgZ2xvYmFswqBw b2ludGVywqAodXNiX2NsYXNzKcKgdG/CoHJlZmVywqB0b8KgbXVsdGlwbGUNCj4gZ2VuZXJhdGlv bnPCoG9mwqBhwqBkeW5hbWljYWxsecKgYWxsb2NhdGVkwqBlbnRpdHkuwqDCoFdlwqBoYWTCoHRo ZcKgc2FtZcKgc29ydMKgb2YNCj4gcHJvYmxlbcKgbWFuecKgeWVhcnPCoGFnb8Kgd2l0aMKgdGhl wqB1c2JfaW50ZXJmYWNlwqBzdHJ1Y3R1cmXCoChhbmTCoHdlDQo+IHVsdGltYXRlbHnCoGZpeGVk wqBpdMKgYnnCoGNyZWF0aW5nwqBhwqBzZXBhcmF0ZcKgdXNiX2ludGVyZmFjZV9jYWNoZQ0KPiBz dHJ1Y3R1cmUpLg0KPiDCoA0KPiBUaGXCoGJlc3TCoGFwcHJvYWNowqBoZXJlwqB3b3VsZMKgYmXC oHRvwqBmb3JnZXTCoGFib3V0wqBhbGzCoHRoZcKgcmVmZXJlbmNlDQo+IGNvdW50aW5nLsKgwqBH ZXTCoHJpZMKgb2bCoHVzYl9jbGFzc8KgZW50aXJlbHkswqBhbmTCoGNyZWF0ZcKgdGhlwqAidXNi bWlzYyINCj4gY2xhc3PCoHN0cnVjdHVyZcKganVzdMKgb25jZSzCoHdoZW7CoHVzYmNvcmXCoGlu aXRpYWxpemVzLsKgwqBPcizCoGlmwqB5b3UNCj4gcHJlZmVyLMKgdXNlwqBhwqBtdXRleMKgdG/C oHByb3RlY3TCoGHCoHJvdXRpbmXCoHRoYXTCoGFsbG9jYXRlc8KgdGhlwqBjbGFzcw0KPiBzdHJ1 Y3R1cmXCoGR5bmFtaWNhbGx5LMKganVzdMKgb25jZS7CoMKgRWl0aGVywqB3YXkswqBkb24ndMKg ZGVhbGxvY2F0ZcKgaXQNCj4gdW50aWzCoHVzYmNvcmXCoGlzwqB1bmxvYWRlZC4NCg0KdXNibWlz YyBjbGFzcyBjcmVhdGlvbiBzaG91bGQgbm90IHJlcXVpcmUgZXZlcnl0aW1lIHdoZW4gVVNCIGNv cmUNCmluaXRpYWxpemVzLiBTbyBiZXR0ZXIgdG8ga2VlcCB1c2JtaXNjIGNsYXNzIGNyZWF0aW9u IGFzIGl0IGlzLiANCkFuZCB0byBwcmV2ZW50IHRoZSByYWNlIGNvbmRpdGlvbnMganVzdCBwcm90 ZWN0IGl0IHdpdGggTXV0ZXggbG9ja2luZw0KYXMgcGVyIHBhdGNoIHYyLg0KDQp0aGFua3MsDQph amF5IGthaGVyDQoNClNpZ25lZC1vZmYtYnk6IEFqYXkgS2FoZXINCg0KLS0tDQoNCiBkcml2ZXJz L3VzYi9jb3JlL2ZpbGUuYyB8ICAgIDYgKysrKysrDQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0 aW9ucygrKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9maWxlLmMgYi9kcml2ZXJz L3VzYi9jb3JlL2ZpbGUuYw0KaW5kZXggODIyY2VkOS4uNTZhMTUxYiAxMDA2NDQNCi0tLSBhL2Ry aXZlcnMvdXNiL2NvcmUvZmlsZS5jDQorKysgYi9kcml2ZXJzL3VzYi9jb3JlL2ZpbGUuYw0KQEAg LTI3LDYgKzI3LDcgQEANCiAjZGVmaW5lIE1BWF9VU0JfTUlOT1JTIDI1Ng0KIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICp1c2JfbWlub3JzW01BWF9VU0JfTUlOT1JTXTsNCiBz dGF0aWMgREVDTEFSRV9SV1NFTShtaW5vcl9yd3NlbSk7DQorc3RhdGljIERFRklORV9NVVRFWChp bml0X3VzYl9jbGFzc19tdXRleCk7DQoNCiBzdGF0aWMgaW50IHVzYl9vcGVuKHN0cnVjdCBpbm9k ZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQ0KIHsNCkBAIC0xMDIsOSArMTAzLDExIEBAIHN0 YXRpYyBpbnQgaW5pdF91c2JfY2xhc3Modm9pZCkNCiBzdGF0aWMgdm9pZCByZWxlYXNlX3VzYl9j bGFzcyhzdHJ1Y3Qga3JlZiAqa3JlZikNCiB7DQogICAgICAgIC8qIE9rLCB3ZSBjaGVhdCBhcyB3 ZSBrbm93IHdlIG9ubHkgaGF2ZSBvbmUgdXNiX2NsYXNzICovDQorICAgICAgIG11dGV4X2xvY2so JmluaXRfdXNiX2NsYXNzX211dGV4KTsNCiAgICAgICAgY2xhc3NfZGVzdHJveSh1c2JfY2xhc3Mt PmNsYXNzKTsNCiAgICAgICAga2ZyZWUodXNiX2NsYXNzKTsNCiAgICAgICAgdXNiX2NsYXNzID0g TlVMTDsNCisgICAgICAgbXV0ZXhfdW5sb2NrKCZpbml0X3VzYl9jbGFzc19tdXRleCk7DQogfQ0K DQogc3RhdGljIHZvaWQgZGVzdHJveV91c2JfY2xhc3Modm9pZCkNCkBAIC0xNzEsNyArMTc0LDEw IEBAIGludCB1c2JfcmVnaXN0ZXJfZGV2KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLA0KICAg ICAgICBpZiAoaW50Zi0+bWlub3IgPj0gMCkNCiAgICAgICAgICAgICAgICByZXR1cm4gLUVBRERS SU5VU0U7DQoNCisgICAgICAgbXV0ZXhfbG9jaygmaW5pdF91c2JfY2xhc3NfbXV0ZXgpOw0KICAg ICAgICByZXR2YWwgPSBpbml0X3VzYl9jbGFzcygpOw0KKyAgICAgICBtdXRleF91bmxvY2soJmlu aXRfdXNiX2NsYXNzX211dGV4KTsNCisNCiAgICAgICAgaWYgKHJldHZhbCkNCiAgICAgICAgICAg ICAgICByZXR1cm4gcmV0dmFsOw0KDQoNCg0KDQo= ------=_Part_430095_1530405160.1487238157234--