From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3327C4360C for ; Fri, 27 Sep 2019 09:44:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 631F9207E0 for ; Fri, 27 Sep 2019 09:44:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726118AbfI0Jn7 (ORCPT ); Fri, 27 Sep 2019 05:43:59 -0400 Received: from szxga08-in.huawei.com ([45.249.212.255]:46224 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725946AbfI0Jn7 (ORCPT ); Fri, 27 Sep 2019 05:43:59 -0400 Received: from DGGEMM403-HUB.china.huawei.com (unknown [172.30.72.53]) by Forcepoint Email with ESMTP id F1F166777C8C6B497EA6; Fri, 27 Sep 2019 17:43:55 +0800 (CST) Received: from dggeme751-chm.china.huawei.com (10.3.19.97) by DGGEMM403-HUB.china.huawei.com (10.3.20.211) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 27 Sep 2019 17:43:55 +0800 Received: from dggeme753-chm.china.huawei.com (10.3.19.99) by dggeme751-chm.china.huawei.com (10.3.19.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Fri, 27 Sep 2019 17:43:55 +0800 Received: from dggeme753-chm.china.huawei.com ([10.7.64.70]) by dggeme753-chm.china.huawei.com ([10.7.64.70]) with mapi id 15.01.1713.004; Fri, 27 Sep 2019 17:43:55 +0800 From: "zhangsha (A)" To: Aleksei Zakharov , Jay Vosburgh CC: "netdev@vger.kernel.org" Subject: RE: Fwd: [PATCH] bonding/802.3ad: fix slave initialization states race Thread-Topic: Fwd: [PATCH] bonding/802.3ad: fix slave initialization states race Thread-Index: AQHVcziMvtnQiGMxPEm6rrJtAW1Cvac7tLUAgAOLJ1A= Date: Fri, 27 Sep 2019 09:43:55 +0000 Message-ID: <55be49f1d5f9402990ac87bed12d7621@huawei.com> References: <20190918130545.GA11133@yandex.ru> <31893.1568817274@nyx> <9357.1568880036@nyx> <7236.1568906827@nyx> <7154.1568987531@nyx> <10497.1569049560@nyx> <16538.1569371467@famine> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.177.220.209] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWxla3NlaSBaYWtoYXJv diBbbWFpbHRvOnphaGFyb3ZAc2VsZWN0ZWwucnVdDQo+IFNlbnQ6IDIwMTnlubQ55pyIMjXml6Ug MTk6MDINCj4gVG86IEpheSBWb3NidXJnaCA8amF5LnZvc2J1cmdoQGNhbm9uaWNhbC5jb20+DQo+ IENjOiBuZXRkZXZAdmdlci5rZXJuZWwub3JnOyB6aGFuZ3NoYSAoQSkgPHpoYW5nc2hhLnpoYW5n QGh1YXdlaS5jb20+DQo+IFN1YmplY3Q6IFJlOiBGd2Q6IFtQQVRDSF0gYm9uZGluZy84MDIuM2Fk OiBmaXggc2xhdmUgaW5pdGlhbGl6YXRpb24gc3RhdGVzIHJhY2UNCj4gDQo+INGB0YAsIDI1INGB 0LXQvdGCLiAyMDE5INCzLiDQsiAwMzozMSwgSmF5IFZvc2J1cmdoIDxqYXkudm9zYnVyZ2hAY2Fu b25pY2FsLmNvbT46DQo+ID4NCj4gPiDQkNC70LXQutGB0LXQuSDQl9Cw0YXQsNGA0L7QsiB3cm90 ZToNCj4gPiBbLi4uXQ0KPiA+ID5SaWdodCBhZnRlciByZWJvb3Qgb25lIG9mIHRoZSBzbGF2ZXMg aGFuZ3Mgd2l0aCBhY3RvciBwb3J0IHN0YXRlIDcxDQo+ID4gPmFuZCBwYXJ0bmVyIHBvcnQgc3Rh dGUgMS4NCj4gPiA+SXQgZG9lc24ndCBzZW5kIGxhY3BkdSBhbmQgc2VlbXMgdG8gYmUgYnJva2Vu Lg0KPiA+ID5TZXR0aW5nIGxpbmsgZG93biBhbmQgdXAgYWdhaW4gZml4ZXMgc2xhdmUgc3RhdGUu DQo+ID4gWy4uLl0NCj4gPg0KPiA+ICAgICAgICAgSSB0aGluayBJIHNlZSB3aGF0IGZhaWxlZCBp biB0aGUgZmlyc3QgcGF0Y2gsIGNvdWxkIHlvdSB0ZXN0DQo+ID4gdGhlIGZvbGxvd2luZyBwYXRj aD8gIFRoaXMgb25lIGlzIGZvciBuZXQtbmV4dCwgc28geW91J2QgbmVlZCB0byBhZ2Fpbg0KPiA+ IHN3YXAgc2xhdmVfZXJyIC8gbmV0ZGV2X2VyciBmb3IgdGhlIFVidW50dSA0LjE1IGtlcm5lbC4N Cj4gPg0KPiBJJ3ZlIHRlc3RlZCBuZXcgcGF0Y2guIEl0IHNlZW1zIHRvIHdvcmsuIEkgY2FuJ3Qg cmVwcm9kdWNlIHRoZSBidWcgd2l0aCB0aGlzDQo+IHBhdGNoLg0KPiBUaGVyZSBhcmUgdHdvIHR5 cGVzIG9mIG1lc3NhZ2VzIHdoZW4gbGluayBiZWNvbWVzIHVwOg0KPiBGaXJzdDoNCj4gYm9uZC1z YW46IEVWRU5UIDEgbGx1IDQyOTQ4OTU5MTEgc2xhdmUgZXRoMg0KPiA4MDIxcTogYWRkaW5nIFZM QU4gMCB0byBIVyBmaWx0ZXIgb24gZGV2aWNlIGV0aDINCj4gYm9uZC1zYW46IGxpbmsgc3RhdHVz IGRlZmluaXRlbHkgZG93biBmb3IgaW50ZXJmYWNlIGV0aDIsIGRpc2FibGluZyBpdA0KPiBtbHg0 X2VuOiBldGgyOiBMaW5rIFVwDQo+IGJvbmQtc2FuOiBFVkVOVCA0IGxsdSA0Mjk0ODk1OTExIHNs YXZlIGV0aDINCj4gYm9uZC1zYW46IGxpbmsgc3RhdHVzIHVwIGZvciBpbnRlcmZhY2UgZXRoMiwg ZW5hYmxpbmcgaXQgaW4gNTAwIG1zDQo+IGJvbmQtc2FuOiBpbnZhbGlkIG5ldyBsaW5rIDMgb24g c2xhdmUgZXRoMg0KPiBib25kLXNhbjogbGluayBzdGF0dXMgZGVmaW5pdGVseSB1cCBmb3IgaW50 ZXJmYWNlIGV0aDIsIDEwMDAwIE1icHMgZnVsbCBkdXBsZXgNCj4gU2Vjb25kOg0KPiBib25kLXNh bjogRVZFTlQgMSBsbHUgNDI5NTE0NzU5NCBzbGF2ZSBldGgyDQo+IDgwMjFxOiBhZGRpbmcgVkxB TiAwIHRvIEhXIGZpbHRlciBvbiBkZXZpY2UgZXRoMg0KPiBtbHg0X2VuOiBldGgyOiBMaW5rIFVw DQo+IGJvbmQtc2FuOiBFVkVOVCA0IGxsdSA0Mjk1MTQ3NTk0IHNsYXZlIGV0aDINCj4gYm9uZC1z YW46IGxpbmsgc3RhdHVzIHVwIGFnYWluIGFmdGVyIDAgbXMgZm9yIGludGVyZmFjZSBldGgyDQo+ IGJvbmQtc2FuOiBsaW5rIHN0YXR1cyBkZWZpbml0ZWx5IHVwIGZvciBpbnRlcmZhY2UgZXRoMiwg MTAwMDAgTWJwcyBmdWxsIGR1cGxleA0KPiANCj4gVGhlc2UgbWVzc2FnZXMgKGVzcGVjaWFsbHkg ImludmFsaWQgbmV3IGxpbmsiKSBsb29rIGEgYml0IHVuY2xlYXIgZnJvbSBzeXNhZG1pbg0KPiBw b2ludCBvZiB2aWV3Lg0KPiBCdXQgbGFjcCBzZWVtcyB0byB3b3JrIGZpbmUsIHRoYW5rIHlvdSEN Cj4gDQoNCkkgdGVzdHMgdGhlIHBhdGNoIGJ5IHNraXBwaW5nIHRoZSBib25kX3VwZGF0ZV9zcGVl ZF9kdXBsZXgoKSBmdW5jdGlvbiB3aGVuDQp0aGUgYm9uZCByZWNlaXZpbmcgYSAnTkVUREVWX1VQ JyBldmVudCwgc28gdGhhdCBJIGNhbiBmb3JjZSB0aGUgYm9uZCBlbnRlcmluZyBzdGF0dXMNCkJP TkRfTElOS19GQUlMLiBJbiB0aGlzIHNjZW5hcmlvLCBteSBsYWNwIHNlZW1zIHRvIHdvcmsgZmlu ZS4gDQoNCk1lc3NhZ2VzIEkgZ290Og0KWzI0NjYyLjA4MTg3N10gYm9uZDA6IGxpbmsgc3RhdHVz IGRlZmluaXRlbHkgZG93biBmb3IgaW50ZXJmYWNlIGV0aDIsIGRpc2FibGluZyBpdA0KWzI0NjYy LjA4MTg4MV0gYm9uZDA6IGZpcnN0IGFjdGl2ZSBpbnRlcmZhY2UgdXAhDQpbMjQ2ODQuMTUzODcx XSBib25kMDogbGluayBzdGF0dXMgdXAgYWdhaW4gYWZ0ZXIgMCBtcyBmb3IgaW50ZXJmYWNlIGV0 aDINClsyNDY4NC4xNTY4NDZdIGJvbmQwOiBsaW5rIHN0YXR1cyBkZWZpbml0ZWx5IHVwIGZvciBp bnRlcmZhY2UgZXRoMiwgMTAwMDAgTWJwcyBmdWxsIGR1cGxleA0KWzI0Njg0LjE1Njg1MV0gYm9u ZDA6IGZpcnN0IGFjdGl2ZSBpbnRlcmZhY2UgdXAhDQoNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvYm9uZGluZy9ib25kX21haW4uYw0KPiA+IGIvZHJpdmVycy9uZXQvYm9uZGluZy9ib25k X21haW4uYyBpbmRleCA5MzFkOWQ5MzU2ODYuLjVlMjQ4NTg4MjU5YQ0KPiA+IDEwMDY0NA0KPiA+ IC0tLSBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9tYWluLmMNCj4gPiArKysgYi9kcml2ZXJz L25ldC9ib25kaW5nL2JvbmRfbWFpbi5jDQo+ID4gQEAgLTE2MTcsNiArMTYxNyw3IEBAIGludCBi b25kX2Vuc2xhdmUoc3RydWN0IG5ldF9kZXZpY2UgKmJvbmRfZGV2LA0KPiBzdHJ1Y3QgbmV0X2Rl dmljZSAqc2xhdmVfZGV2LA0KPiA+ICAgICAgICAgaWYgKGJvbmQtPnBhcmFtcy5taWltb24pIHsN Cj4gPiAgICAgICAgICAgICAgICAgaWYgKGJvbmRfY2hlY2tfZGV2X2xpbmsoYm9uZCwgc2xhdmVf ZGV2LCAwKSA9PSBCTVNSX0xTVEFUVVMpIHsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAoYm9uZC0+cGFyYW1zLnVwZGVsYXkpIHsNCj4gPiArLypYWFgqL3NsYXZlX2luZm8oYm9uZF9k ZXYsIHNsYXZlX2RldiwgIkJPTkRfTElOS19CQUNLIGluaXRpYWwNCj4gPiArc3RhdGVcbiIpOw0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9uZF9zZXRfc2xhdmVfbGlua19z dGF0ZShuZXdfc2xhdmUsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJPTkRfTElOS19CQUNLLA0KPiA+DQo+ID4gQk9ORF9TTEFW RV9OT1RJRllfTk9XKTsgQEAgLTIwODYsOCArMjA4Nyw3IEBAIHN0YXRpYyBpbnQNCj4gYm9uZF9t aWltb25faW5zcGVjdChzdHJ1Y3QgYm9uZGluZyAqYm9uZCkNCj4gPiAgICAgICAgIGlnbm9yZV91 cGRlbGF5ID0gIXJjdV9kZXJlZmVyZW5jZShib25kLT5jdXJyX2FjdGl2ZV9zbGF2ZSk7DQo+ID4N Cj4gPiAgICAgICAgIGJvbmRfZm9yX2VhY2hfc2xhdmVfcmN1KGJvbmQsIHNsYXZlLCBpdGVyKSB7 DQo+ID4gLSAgICAgICAgICAgICAgIHNsYXZlLT5uZXdfbGluayA9IEJPTkRfTElOS19OT0NIQU5H RTsNCj4gPiAtICAgICAgICAgICAgICAgc2xhdmUtPmxpbmtfbmV3X3N0YXRlID0gc2xhdmUtPmxp bms7DQo+ID4gKyAgICAgICAgICAgICAgIGJvbmRfcHJvcG9zZV9saW5rX3N0YXRlKHNsYXZlLCBC T05EX0xJTktfTk9DSEFOR0UpOw0KPiA+DQo+ID4gICAgICAgICAgICAgICAgIGxpbmtfc3RhdGUg PSBib25kX2NoZWNrX2Rldl9saW5rKGJvbmQsIHNsYXZlLT5kZXYsIDApOw0KPiA+DQo+ID4gQEAg LTIwOTYsOCArMjA5Niw2IEBAIHN0YXRpYyBpbnQgYm9uZF9taWltb25faW5zcGVjdChzdHJ1Y3Qg Ym9uZGluZw0KPiAqYm9uZCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlua19z dGF0ZSkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiA+ DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgYm9uZF9wcm9wb3NlX2xpbmtfc3RhdGUoc2xh dmUsIEJPTkRfTElOS19GQUlMKTsNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBjb21taXQr KzsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZS0+ZGVsYXkgPSBib25kLT5wYXJh bXMuZG93bmRlbGF5Ow0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzbGF2ZS0+ZGVs YXkpIHsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlX2luZm8oYm9u ZC0+ZGV2LCBzbGF2ZS0+ZGV2LA0KPiA+ICJsaW5rIHN0YXR1cyBkb3duIGZvciAlc2ludGVyZmFj ZSwgZGlzYWJsaW5nIGl0IGluICVkIG1zXG4iLCBAQCAtMjEwNiw2DQo+ICsyMTA0LDcgQEAgc3Rh dGljIGludCBib25kX21paW1vbl9pbnNwZWN0KHN0cnVjdCBib25kaW5nICpib25kKQ0KPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvbmRfaXNfYWN0aXZl X3NsYXZlKHNsYXZlKSA/DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImFjdGl2ZSAiIDogImJhY2t1cCAiKSA6ICIiLA0KPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib25kLT5wYXJhbXMuZG93bmRlbGF5ICoNCj4g PiBib25kLT5wYXJhbXMubWlpbW9uKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNsYXZlLT5saW5rID0gQk9ORF9MSU5LX0ZBSUw7DQo+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIC8qRkFMTFRIUlUqLw0KPiA+ICAg ICAgICAgICAgICAgICBjYXNlIEJPTkRfTElOS19GQUlMOg0KPiA+IEBAIC0yMTIxLDcgKzIxMjAs NyBAQCBzdGF0aWMgaW50IGJvbmRfbWlpbW9uX2luc3BlY3Qoc3RydWN0IGJvbmRpbmcNCj4gKmJv bmQpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+DQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgaWYgKHNsYXZlLT5kZWxheSA8PSAwKSB7DQo+ID4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzbGF2ZS0+bmV3X2xpbmsgPSBCT05EX0xJTktfRE9XTjsNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvbmRfcHJvcG9zZV9saW5rX3N0YXRlKHNs YXZlLA0KPiA+ICsgQk9ORF9MSU5LX0RPV04pOw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29tbWl0Kys7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250aW51ZTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4gQEAgLTIxMzMsMTUg KzIxMzIsMTMgQEAgc3RhdGljIGludCBib25kX21paW1vbl9pbnNwZWN0KHN0cnVjdCBib25kaW5n DQo+ICpib25kKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbGlua19zdGF0ZSkN Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiA+DQo+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgYm9uZF9wcm9wb3NlX2xpbmtfc3RhdGUoc2xhdmUsIEJP TkRfTElOS19CQUNLKTsNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBjb21taXQrKzsNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZS0+ZGVsYXkgPSBib25kLT5wYXJhbXMudXBk ZWxheTsNCj4gPiAtDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNsYXZlLT5kZWxh eSkgew0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVfaW5mbyhib25k LT5kZXYsIHNsYXZlLT5kZXYsICJsaW5rIHN0YXR1cyB1cCwgZW5hYmxpbmcNCj4gaXQgaW4gJWQg bXNcbiIsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGln bm9yZV91cGRlbGF5ID8gMCA6DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvbmQtPnBhcmFtcy51cGRlbGF5ICoNCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYm9uZC0+cGFyYW1zLm1paW1vbik7DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZS0+bGluayA9IEJPTkRfTElOS19CQUNLOw0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAvKkZBTExUSFJVKi8NCj4gPiAgICAgICAgICAgICAgICAgY2FzZSBCT05EX0xJTktfQkFDSzoN Cj4gPiBAQCAtMjE1OCw3ICsyMTU1LDcgQEAgc3RhdGljIGludCBib25kX21paW1vbl9pbnNwZWN0 KHN0cnVjdCBib25kaW5nDQo+ICpib25kKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2xhdmUtPmRlbGF5ID0gMDsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAg IGlmIChzbGF2ZS0+ZGVsYXkgPD0gMCkgew0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2xhdmUtPm5ld19saW5rID0gQk9ORF9MSU5LX1VQOw0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9uZF9wcm9wb3NlX2xpbmtfc3RhdGUoc2xhdmUsDQo+ID4gKyBC T05EX0xJTktfVVApOw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWl0 Kys7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVfdXBkZWxheSA9 IGZhbHNlOw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7IEBA IC0yMTk2LDcgKzIxOTMsNyBAQCBzdGF0aWMNCj4gPiB2b2lkIGJvbmRfbWlpbW9uX2NvbW1pdChz dHJ1Y3QgYm9uZGluZyAqYm9uZCkNCj4gPiAgICAgICAgIHN0cnVjdCBzbGF2ZSAqc2xhdmUsICpw cmltYXJ5Ow0KPiA+DQo+ID4gICAgICAgICBib25kX2Zvcl9lYWNoX3NsYXZlKGJvbmQsIHNsYXZl LCBpdGVyKSB7DQo+ID4gLSAgICAgICAgICAgICAgIHN3aXRjaCAoc2xhdmUtPm5ld19saW5rKSB7 DQo+ID4gKyAgICAgICAgICAgICAgIHN3aXRjaCAoc2xhdmUtPmxpbmtfbmV3X3N0YXRlKSB7DQo+ ID4gICAgICAgICAgICAgICAgIGNhc2UgQk9ORF9MSU5LX05PQ0hBTkdFOg0KPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIEZvciA4MDIuM2FkIG1vZGUsIGNoZWNrIGN1cnJlbnQgc2xhdmUg c3BlZWQgYW5kDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICogZHVwbGV4IGFnYWluIGlu IGNhc2UgaXRzIHBvcnQgd2FzIGRpc2FibGVkDQo+ID4gYWZ0ZXIgQEAgLTIyNjgsOCArMjI2NSw4 IEBAIHN0YXRpYyB2b2lkIGJvbmRfbWlpbW9uX2NvbW1pdChzdHJ1Y3QNCj4gPiBib25kaW5nICpi b25kKQ0KPiA+DQo+ID4gICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgc2xhdmVfZXJyKGJvbmQtPmRldiwgc2xhdmUtPmRldiwgImludmFsaWQgbmV3 IGxpbmsgJWQgb24NCj4gc2xhdmVcbiIsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNsYXZlLT5uZXdfbGluayk7DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgc2xh dmUtPm5ld19saW5rID0gQk9ORF9MSU5LX05PQ0hBTkdFOw0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzbGF2ZS0+bGlua19uZXdfc3RhdGUpOw0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIGJvbmRfcHJvcG9zZV9saW5rX3N0YXRlKHNsYXZlLA0KPiA+ICsgQk9ORF9M SU5LX05PQ0hBTkdFKTsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl Ow0KPiA+ICAgICAgICAgICAgICAgICB9DQo+ID4gQEAgLTI2NzcsMTMgKzI2NzQsMTMgQEAgc3Rh dGljIHZvaWQgYm9uZF9sb2FkYmFsYW5jZV9hcnBfbW9uKHN0cnVjdA0KPiBib25kaW5nICpib25k KQ0KPiA+ICAgICAgICAgYm9uZF9mb3JfZWFjaF9zbGF2ZV9yY3UoYm9uZCwgc2xhdmUsIGl0ZXIp IHsNCj4gPiAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB0cmFuc19zdGFydCA9DQo+ID4g ZGV2X3RyYW5zX3N0YXJ0KHNsYXZlLT5kZXYpOw0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgIHNs YXZlLT5uZXdfbGluayA9IEJPTkRfTElOS19OT0NIQU5HRTsNCj4gPiArICAgICAgICAgICAgICAg Ym9uZF9wcm9wb3NlX2xpbmtfc3RhdGUoc2xhdmUsIEJPTkRfTElOS19OT0NIQU5HRSk7DQo+ID4N Cj4gPiAgICAgICAgICAgICAgICAgaWYgKHNsYXZlLT5saW5rICE9IEJPTkRfTElOS19VUCkgew0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChib25kX3RpbWVfaW5faW50ZXJ2YWwoYm9u ZCwgdHJhbnNfc3RhcnQsIDEpICYmDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv bmRfdGltZV9pbl9pbnRlcnZhbChib25kLA0KPiA+IHNsYXZlLT5sYXN0X3J4LCAxKSkgew0KPiA+ DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZS0+bmV3X2xpbmsgPSBC T05EX0xJTktfVVA7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib25kX3By b3Bvc2VfbGlua19zdGF0ZShzbGF2ZSwNCj4gPiArIEJPTkRfTElOS19VUCk7DQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZV9zdGF0ZV9jaGFuZ2VkID0gMTsNCj4gPg0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcHJpbWFyeV9zbGF2ZSBoYXMg bm8gbWVhbmluZyBpbg0KPiA+IHJvdW5kLXJvYmluIEBAIC0yNzA4LDcgKzI3MDUsNyBAQCBzdGF0 aWMgdm9pZA0KPiBib25kX2xvYWRiYWxhbmNlX2FycF9tb24oc3RydWN0IGJvbmRpbmcgKmJvbmQp DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFib25kX3RpbWVfaW5faW50ZXJ2YWwo Ym9uZCwgdHJhbnNfc3RhcnQsIDIpIHx8DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICFib25kX3RpbWVfaW5faW50ZXJ2YWwoYm9uZCwNCj4gPiBzbGF2ZS0+bGFzdF9yeCwgMikpIHsN Cj4gPg0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmUtPm5ld19saW5r ID0gQk9ORF9MSU5LX0RPV047DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi b25kX3Byb3Bvc2VfbGlua19zdGF0ZShzbGF2ZSwNCj4gPiArIEJPTkRfTElOS19ET1dOKTsNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlX3N0YXRlX2NoYW5nZWQgPSAx Ow0KPiA+DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2xhdmUtPmxp bmtfZmFpbHVyZV9jb3VudCA8DQo+ID4gVUlOVF9NQVgpIEBAIC0yNzM5LDggKzI3MzYsOCBAQCBz dGF0aWMgdm9pZA0KPiBib25kX2xvYWRiYWxhbmNlX2FycF9tb24oc3RydWN0IGJvbmRpbmcgKmJv bmQpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZV9hcm07DQo+ID4NCj4gPiAg ICAgICAgICAgICAgICAgYm9uZF9mb3JfZWFjaF9zbGF2ZShib25kLCBzbGF2ZSwgaXRlcikgew0K PiA+IC0gICAgICAgICAgICAgICAgICAgICAgIGlmIChzbGF2ZS0+bmV3X2xpbmsgIT0gQk9ORF9M SU5LX05PQ0hBTkdFKQ0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmUt PmxpbmsgPSBzbGF2ZS0+bmV3X2xpbms7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYg KHNsYXZlLT5saW5rX25ld19zdGF0ZSAhPSBCT05EX0xJTktfTk9DSEFOR0UpDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZS0+bGluayA9IHNsYXZlLT5saW5rX25ld19z dGF0ZTsNCj4gPiAgICAgICAgICAgICAgICAgfQ0KPiA+DQo+ID4gICAgICAgICAgICAgICAgIGlm IChzbGF2ZV9zdGF0ZV9jaGFuZ2VkKSB7IEBAIC0yNzYzLDkgKzI3NjAsOSBAQA0KPiA+IHN0YXRp YyB2b2lkIGJvbmRfbG9hZGJhbGFuY2VfYXJwX21vbihzdHJ1Y3QgYm9uZGluZyAqYm9uZCkgIH0N Cj4gPg0KPiA+ICAvKiBDYWxsZWQgdG8gaW5zcGVjdCBzbGF2ZXMgZm9yIGFjdGl2ZS1iYWNrdXAg bW9kZSBBUlAgbW9uaXRvciBsaW5rDQo+ID4gc3RhdGUNCj4gPiAtICogY2hhbmdlcy4gIFNldHMg bmV3X2xpbmsgaW4gc2xhdmVzIHRvIHNwZWNpZnkgd2hhdCBhY3Rpb24gc2hvdWxkDQo+ID4gdGFr ZQ0KPiA+IC0gKiBwbGFjZSBmb3IgdGhlIHNsYXZlLiAgUmV0dXJucyAwIGlmIG5vIGNoYW5nZXMg YXJlIGZvdW5kLCA+MCBpZg0KPiA+IGNoYW5nZXMNCj4gPiAtICogdG8gbGluayBzdGF0ZXMgbXVz dCBiZSBjb21taXR0ZWQuDQo+ID4gKyAqIGNoYW5nZXMuICBTZXRzIHByb3Bvc2VkIGxpbmsgc3Rh dGUgaW4gc2xhdmVzIHRvIHNwZWNpZnkgd2hhdA0KPiA+ICsgYWN0aW9uDQo+ID4gKyAqIHNob3Vs ZCB0YWtlIHBsYWNlIGZvciB0aGUgc2xhdmUuICBSZXR1cm5zIDAgaWYgbm8gY2hhbmdlcyBhcmUN Cj4gPiArIGZvdW5kLCA+MA0KPiA+ICsgKiBpZiBjaGFuZ2VzIHRvIGxpbmsgc3RhdGVzIG11c3Qg YmUgY29tbWl0dGVkLg0KPiA+ICAgKg0KPiA+ICAgKiBDYWxsZWQgd2l0aCByY3VfcmVhZF9sb2Nr IGhlbGQuDQo+ID4gICAqLw0KPiA+IEBAIC0yNzc3LDEyICsyNzc0LDEyIEBAIHN0YXRpYyBpbnQg Ym9uZF9hYl9hcnBfaW5zcGVjdChzdHJ1Y3QgYm9uZGluZw0KPiAqYm9uZCkNCj4gPiAgICAgICAg IGludCBjb21taXQgPSAwOw0KPiA+DQo+ID4gICAgICAgICBib25kX2Zvcl9lYWNoX3NsYXZlX3Jj dShib25kLCBzbGF2ZSwgaXRlcikgew0KPiA+IC0gICAgICAgICAgICAgICBzbGF2ZS0+bmV3X2xp bmsgPSBCT05EX0xJTktfTk9DSEFOR0U7DQo+ID4gKyAgICAgICAgICAgICAgIGJvbmRfcHJvcG9z ZV9saW5rX3N0YXRlKHNsYXZlLCBCT05EX0xJTktfTk9DSEFOR0UpOw0KPiA+ICAgICAgICAgICAg ICAgICBsYXN0X3J4ID0gc2xhdmVfbGFzdF9yeChib25kLCBzbGF2ZSk7DQo+ID4NCj4gPiAgICAg ICAgICAgICAgICAgaWYgKHNsYXZlLT5saW5rICE9IEJPTkRfTElOS19VUCkgew0KPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgIGlmIChib25kX3RpbWVfaW5faW50ZXJ2YWwoYm9uZCwgbGFzdF9y eCwgMSkpIHsNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlLT5uZXdf bGluayA9IEJPTkRfTElOS19VUDsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvbmRfcHJvcG9zZV9saW5rX3N0YXRlKHNsYXZlLA0KPiA+ICsgQk9ORF9MSU5LX1VQKTsNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1pdCsrOw0KPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgIH0NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsN Cj4gPiBAQCAtMjgxMCw3ICsyODA3LDcgQEAgc3RhdGljIGludCBib25kX2FiX2FycF9pbnNwZWN0 KHN0cnVjdCBib25kaW5nDQo+ICpib25kKQ0KPiA+ICAgICAgICAgICAgICAgICBpZiAoIWJvbmRf aXNfYWN0aXZlX3NsYXZlKHNsYXZlKSAmJg0KPiA+ICAgICAgICAgICAgICAgICAgICAgIXJjdV9h Y2Nlc3NfcG9pbnRlcihib25kLT5jdXJyZW50X2FycF9zbGF2ZSkgJiYNCj4gPiAgICAgICAgICAg ICAgICAgICAgICFib25kX3RpbWVfaW5faW50ZXJ2YWwoYm9uZCwgbGFzdF9yeCwgMykpIHsNCj4g PiAtICAgICAgICAgICAgICAgICAgICAgICBzbGF2ZS0+bmV3X2xpbmsgPSBCT05EX0xJTktfRE9X TjsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBib25kX3Byb3Bvc2VfbGlua19zdGF0ZShz bGF2ZSwNCj4gPiArIEJPTkRfTElOS19ET1dOKTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICBjb21taXQrKzsNCj4gPiAgICAgICAgICAgICAgICAgfQ0KPiA+DQo+ID4gQEAgLTI4MjMsNyAr MjgyMCw3IEBAIHN0YXRpYyBpbnQgYm9uZF9hYl9hcnBfaW5zcGVjdChzdHJ1Y3QgYm9uZGluZw0K PiAqYm9uZCkNCj4gPiAgICAgICAgICAgICAgICAgaWYgKGJvbmRfaXNfYWN0aXZlX3NsYXZlKHNs YXZlKSAmJg0KPiA+ICAgICAgICAgICAgICAgICAgICAgKCFib25kX3RpbWVfaW5faW50ZXJ2YWwo Ym9uZCwgdHJhbnNfc3RhcnQsIDIpIHx8DQo+ID4gICAgICAgICAgICAgICAgICAgICAgIWJvbmRf dGltZV9pbl9pbnRlcnZhbChib25kLCBsYXN0X3J4LCAyKSkpIHsNCj4gPiAtICAgICAgICAgICAg ICAgICAgICAgICBzbGF2ZS0+bmV3X2xpbmsgPSBCT05EX0xJTktfRE9XTjsNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICBib25kX3Byb3Bvc2VfbGlua19zdGF0ZShzbGF2ZSwNCj4gPiArIEJP TkRfTElOS19ET1dOKTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBjb21taXQrKzsNCj4g PiAgICAgICAgICAgICAgICAgfQ0KPiA+ICAgICAgICAgfQ0KPiA+IEBAIC0yODQzLDcgKzI4NDAs NyBAQCBzdGF0aWMgdm9pZCBib25kX2FiX2FycF9jb21taXQoc3RydWN0IGJvbmRpbmcNCj4gKmJv bmQpDQo+ID4gICAgICAgICBzdHJ1Y3Qgc2xhdmUgKnNsYXZlOw0KPiA+DQo+ID4gICAgICAgICBi b25kX2Zvcl9lYWNoX3NsYXZlKGJvbmQsIHNsYXZlLCBpdGVyKSB7DQo+ID4gLSAgICAgICAgICAg ICAgIHN3aXRjaCAoc2xhdmUtPm5ld19saW5rKSB7DQo+ID4gKyAgICAgICAgICAgICAgIHN3aXRj aCAoc2xhdmUtPmxpbmtfbmV3X3N0YXRlKSB7DQo+ID4gICAgICAgICAgICAgICAgIGNhc2UgQk9O RF9MSU5LX05PQ0hBTkdFOg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0K PiA+DQo+ID4gQEAgLTI4OTMsOCArMjg5MCw5IEBAIHN0YXRpYyB2b2lkIGJvbmRfYWJfYXJwX2Nv bW1pdChzdHJ1Y3QgYm9uZGluZw0KPiAqYm9uZCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICBjb250aW51ZTsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KPiA+IC0gICAg ICAgICAgICAgICAgICAgICAgIHNsYXZlX2Vycihib25kLT5kZXYsIHNsYXZlLT5kZXYsICJpbXBv c3NpYmxlOiBuZXdfbGluayAlZCBvbg0KPiBzbGF2ZVxuIiwNCj4gPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2xhdmUtPm5ld19saW5rKTsNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICBzbGF2ZV9lcnIoYm9uZC0+ZGV2LCBzbGF2ZS0+ZGV2LA0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiaW1wb3NzaWJsZTogbGlua19uZXdfc3RhdGUgJWQgb24g c2xhdmVcbiIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlLT5s aW5rX25ld19zdGF0ZSk7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+ ID4gICAgICAgICAgICAgICAgIH0NCj4gPg0KPiA+IEBAIC0zMTMzLDYgKzMxMzEsNyBAQCBzdGF0 aWMgaW50IGJvbmRfc2xhdmVfbmV0ZGV2X2V2ZW50KHVuc2lnbmVkIGxvbmcNCj4gZXZlbnQsDQo+ ID4gICAgICAgICAgICAgICAgICAqIGxldCBsaW5rLW1vbml0b3JpbmcgKG1paW1vbikgc2V0IGl0 IHJpZ2h0IHdoZW4gY29ycmVjdA0KPiA+ICAgICAgICAgICAgICAgICAgKiBzcGVlZHMvZHVwbGV4 IGFyZSBhdmFpbGFibGUuDQo+ID4gICAgICAgICAgICAgICAgICAqLw0KPiA+ICsvKlhYWCovc2xh dmVfaW5mbyhib25kX2Rldiwgc2xhdmVfZGV2LCAiRVZFTlQgJWx1IGxsdSAlbHVcbiIsIGV2ZW50 LA0KPiA+ICtzbGF2ZS0+bGFzdF9saW5rX3VwKTsNCj4gPiAgICAgICAgICAgICAgICAgaWYgKGJv bmRfdXBkYXRlX3NwZWVkX2R1cGxleChzbGF2ZSkgJiYNCj4gPiAgICAgICAgICAgICAgICAgICAg IEJPTkRfTU9ERShib25kKSA9PSBCT05EX01PREVfODAyM0FEKSB7DQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgaWYgKHNsYXZlLT5sYXN0X2xpbmtfdXApIGRpZmYgLS1naXQNCj4gPiBhL2lu Y2x1ZGUvbmV0L2JvbmRpbmcuaCBiL2luY2x1ZGUvbmV0L2JvbmRpbmcuaCBpbmRleA0KPiA+IGY3 ZmU0NTY4OTE0Mi4uZDQxNmFmNzI0MDRiIDEwMDY0NA0KPiA+IC0tLSBhL2luY2x1ZGUvbmV0L2Jv bmRpbmcuaA0KPiA+ICsrKyBiL2luY2x1ZGUvbmV0L2JvbmRpbmcuaA0KPiA+IEBAIC0xNTksNyAr MTU5LDYgQEAgc3RydWN0IHNsYXZlIHsNCj4gPiAgICAgICAgIHVuc2lnbmVkIGxvbmcgdGFyZ2V0 X2xhc3RfYXJwX3J4W0JPTkRfTUFYX0FSUF9UQVJHRVRTXTsNCj4gPiAgICAgICAgIHM4ICAgICBs aW5rOyAgICAgICAgICAgIC8qIG9uZSBvZiBCT05EX0xJTktfWFhYWCAqLw0KPiA+ICAgICAgICAg czggICAgIGxpbmtfbmV3X3N0YXRlOyAgLyogb25lIG9mIEJPTkRfTElOS19YWFhYICovDQo+ID4g LSAgICAgICBzOCAgICAgbmV3X2xpbms7DQo+ID4gICAgICAgICB1OCAgICAgYmFja3VwOjEsICAg LyogaW5kaWNhdGVzIGJhY2t1cCBzbGF2ZS4gVmFsdWUgY29ycmVzcG9uZHMgd2l0aA0KPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJPTkRfU1RBVEVfQUNUSVZFIGFuZCBCT05EX1NU QVRFX0JBQ0tVUCAqLw0KPiA+ICAgICAgICAgICAgICAgIGluYWN0aXZlOjEsIC8qIGluZGljYXRl cyBpbmFjdGl2ZSBzbGF2ZSAqLyBAQCAtNTQ5LDcNCj4gPiArNTQ4LDcgQEAgc3RhdGljIGlubGlu ZSB2b2lkIGJvbmRfcHJvcG9zZV9saW5rX3N0YXRlKHN0cnVjdCBzbGF2ZQ0KPiA+ICpzbGF2ZSwg aW50IHN0YXRlKQ0KPiA+DQo+ID4gIHN0YXRpYyBpbmxpbmUgdm9pZCBib25kX2NvbW1pdF9saW5r X3N0YXRlKHN0cnVjdCBzbGF2ZSAqc2xhdmUsIGJvb2wNCj4gPiBub3RpZnkpICB7DQo+ID4gLSAg ICAgICBpZiAoc2xhdmUtPmxpbmsgPT0gc2xhdmUtPmxpbmtfbmV3X3N0YXRlKQ0KPiA+ICsgICAg ICAgaWYgKHNsYXZlLT5saW5rX25ld19zdGF0ZSA9PSBCT05EX0xJTktfTk9DSEFOR0UpDQo+ID4g ICAgICAgICAgICAgICAgIHJldHVybjsNCj4gPg0KPiA+ICAgICAgICAgc2xhdmUtPmxpbmsgPSBz bGF2ZS0+bGlua19uZXdfc3RhdGU7DQo+ID4NCj4gPg0KPiA+IC0tLQ0KPiA+ICAgICAgICAgLUph eSBWb3NidXJnaCwgamF5LnZvc2J1cmdoQGNhbm9uaWNhbC5jb20NCj4gDQo+IA0KPiANCj4gLS0N Cj4gQmVzdCBSZWdhcmRzLA0KPiBBbGVrc2VpIFpha2hhcm92DQo+IFN5c3RlbSBhZG1pbmlzdHJh dG9yDQo+IFNlbGVjdGVsIC0gaG9zdGluZyBmb3IgcHJvZmVzc2lvbmFscw0KPiB0ZWw6ICs3ICg4 MTIpIDY3Ny04MC0zNg0KPiANCj4gd3d3LnNlbGVjdGVsLmNvbQ0K