From owner-svn-src-all@freebsd.org Wed Apr 13 10:50:10 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 41AF9B0F86C; Wed, 13 Apr 2016 10:50:10 +0000 (UTC) (envelope-from david.somayajulu@qlogic.com) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0113.outbound.protection.outlook.com [157.56.110.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 772AF12EA; Wed, 13 Apr 2016 10:50:08 +0000 (UTC) (envelope-from david.somayajulu@qlogic.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qlgc.onmicrosoft.com; s=selector1-qlogic-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=R4v3MqYBmSP/x3Bj79vjIPuIZsMkQ0nM5IvdQSKlhl8=; b=HYGULAZIPh/1JShcH/7bdCJaJfX8mSqYe88rG4o7l1VGVnsUT7xTj3/t/o3KRVM/yJzVQA+wevSKTkQ4mcB9WspML6t2c+ydcpXRG2frEMP3F6uX3SucpnAZ9xa0BG5go16nl1NrTQjXZ5E51lmXgRJqkSkqhd6g56NGmWSjjl0= Received: from DM2PR11MB0222.namprd11.prod.outlook.com (10.160.132.25) by DM2PR11MB0222.namprd11.prod.outlook.com (10.160.132.25) with Microsoft SMTP Server (TLS) id 15.1.447.15; Wed, 13 Apr 2016 04:15:28 +0000 Received: from DM2PR11MB0222.namprd11.prod.outlook.com ([10.160.132.25]) by DM2PR11MB0222.namprd11.prod.outlook.com ([10.160.132.25]) with mapi id 15.01.0447.029; Wed, 13 Apr 2016 04:15:28 +0000 From: David Somayajulu To: Sepherosa Ziehau CC: David C Somayajulu , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: RE: svn commit: r297898 - head/sys/dev/bxe Thread-Topic: svn commit: r297898 - head/sys/dev/bxe Thread-Index: AQHRlR7gZkcLIRMKxkKpNDFNWcc+NZ+HQwGAgAAAXNCAAAE3gIAABbwA Date: Wed, 13 Apr 2016 04:15:28 +0000 Message-ID: References: <201604130053.u3D0r4g4016759@repo.freebsd.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=qlogic.com; x-originating-ip: [2602:306:3449:6010:ac8b:84d7:78af:f5d4] x-ms-office365-filtering-correlation-id: 9da125e2-f5f3-4b49-f8b2-08d363523f27 x-microsoft-exchange-diagnostics: 1; DM2PR11MB0222; 5:G3NsPevUFpvtcJwuTJSPrNrXTI8Sf0GqPS6KnEXjIguLbWxrZ2Rz9qv9gqTQ6gRN/lmu7YKuS1JoE+FAH0pLcnWIxjLLbDn41KWzz6wiVcJ9PcPPDOe8xOc//LGhYeIqe4m6MGLonQKwABndoi+Omg==; 24:7qcTA83xl+HQF9j3Xt3ymSq6XqWhHUwVjvhl3a8+k6kvhgNXAkpaLlZWzveEkoaq8q55X64qT2ed4aKKiyrjwL5Qby9Q/w5Mt+UJiIvraTQ=; 20:zDSG+slfxXZTdsL6m9rRDpU8M6dY8Znaj+CT5A1d07qHPR6E0lXieHF6PYW9VnETp24gnZfRTZZg0q0ZR4zBlEQyUC3K5aRW24TodLee/T1fgmW1uS75L6szL/MZxN2e23Y4xPINoQeyRC/LAIgMuj35ea6QwDUwvBKgD5Fnbzs= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR11MB0222; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:DM2PR11MB0222; BCL:0; PCL:0; RULEID:; SRVR:DM2PR11MB0222; x-forefront-prvs: 0911D5CE78 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(377454003)(24454002)(13464003)(93886004)(86362001)(5004730100002)(77096005)(9686002)(3660700001)(54356999)(189998001)(92566002)(10400500002)(5003600100002)(99286002)(76576001)(81166005)(74316001)(5002640100001)(50986999)(110136002)(76176999)(3280700002)(15975445007)(106116001)(102836003)(2906002)(122556002)(19580405001)(1220700001)(2950100001)(2900100001)(11100500001)(6116002)(1096002)(4326007)(586003)(5008740100001)(19580395003)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM2PR11MB0222; H:DM2PR11MB0222.namprd11.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: qlogic.com X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2016 04:15:28.4767 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d68a1f9-1490-4d0e-8767-a87dab3ef2ba X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR11MB0222 X-Mailman-Approved-At: Wed, 13 Apr 2016 11:53:39 +0000 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Apr 2016 10:50:10 -0000 SEkgU2VwaGVyb3NhLA0KSSBoYXZlIGNoZWNrZWQgaW4gdGhlIGZpeC4gaHR0cHM6Ly9zdm53ZWIu ZnJlZWJzZC5vcmcvY2hhbmdlc2V0L2Jhc2UvMjk3OTA5DQoNCkFwb2xvZ2llcyBmb3IgdGhlIHNj cmV3IHVwIGVhcmxpZXIuIFNvcnJ5IGZvciB0aGUgaW5jb252ZW5pZW5jZS4NCg0KQ2hlZXJzDQpE YXZpZCBTLg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogU2VwaGVyb3NhIFpp ZWhhdSBbbWFpbHRvOnNlcGhlcm9zYUBnbWFpbC5jb21dIA0KU2VudDogVHVlc2RheSwgQXByaWwg MTIsIDIwMTYgODo0OSBQTQ0KVG86IERhdmlkIFNvbWF5YWp1bHUgPGRhdmlkLnNvbWF5YWp1bHVA cWxvZ2ljLmNvbT4NCkNjOiBEYXZpZCBDIFNvbWF5YWp1bHUgPGRhdmlkY3NAZnJlZWJzZC5vcmc+ OyBzcmMtY29tbWl0dGVyc0BmcmVlYnNkLm9yZzsgc3ZuLXNyYy1hbGxAZnJlZWJzZC5vcmc7IHN2 bi1zcmMtaGVhZEBmcmVlYnNkLm9yZw0KU3ViamVjdDogUmU6IHN2biBjb21taXQ6IHIyOTc4OTgg LSBoZWFkL3N5cy9kZXYvYnhlDQoNCkdyZWF0ISAgVGhhbmtzIQ0KDQpPbiBXZWQsIEFwciAxMywg MjAxNiBhdCAxMTo0OCBBTSwgRGF2aWQgU29tYXlhanVsdSA8ZGF2aWQuc29tYXlhanVsdUBxbG9n aWMuY29tPiB3cm90ZToNCj4gSGkgU2VwaGVyb3NhLA0KPiBJIGp1c3Qgc2F3IGl0IGFuZCBhbSB0 YWtpbmcgYSBsb29rIGF0IGl0LiBHaXZlIG1lIGEgZmV3IG1pbnV0ZXMgYW5kIEkgd2lsbCBnZXQg YmFjay4NCj4gVGhhbmtzDQo+IERhdmlkIFMuDQo+DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IFNlcGhlcm9zYSBaaWVoYXUgW21haWx0bzpzZXBoZXJvc2FAZ21haWwuY29t XQ0KPiBTZW50OiBUdWVzZGF5LCBBcHJpbCAxMiwgMjAxNiA4OjQzIFBNDQo+IFRvOiBEYXZpZCBD IFNvbWF5YWp1bHUgPGRhdmlkY3NAZnJlZWJzZC5vcmc+DQo+IENjOiBzcmMtY29tbWl0dGVyc0Bm cmVlYnNkLm9yZzsgc3ZuLXNyYy1hbGxAZnJlZWJzZC5vcmc7IA0KPiBzdm4tc3JjLWhlYWRAZnJl ZWJzZC5vcmcNCj4gU3ViamVjdDogUmU6IHN2biBjb21taXQ6IHIyOTc4OTggLSBoZWFkL3N5cy9k ZXYvYnhlDQo+DQo+IEhpIERhdmlkLA0KPg0KPiAgICAgICAgIEJMT0dJKHNjLCAiY2R1X2NvbnRl eHQgaSAlZCBwYWRkciAlI2p4IHZhZGRyICVwIHNpemUgMHglenhcbiIsIGksDQo+ICAgICAgICAg ICAgIHNjLT5jb250ZXh0W2ldLnZjeHRfZG1hLnBhZGRyLCBzYy0+Y29udGV4dFtpXS52Y3h0X2Rt YS52YWRkciwNCj4gICAgICAgICAgICAgc2MtPmNvbnRleHRbaV0uc2l6ZSk7DQo+DQo+IFRoaXMg YnJlYWtzIGkzODYgYnVpbGRpbmcuICBJIHRoaW5rIHlvdSBuZWVkIHRvIGRvICh1aW50bWF4X3Qp cGFkZHIgZm9yICVqeDoNCj4NCj4gL3Vzci9mcmVlYnNkLXN2bi9zeXMvZGV2L2J4ZS9ieGUuYzox ODc0NjoxMzogZXJyb3I6IGZvcm1hdCBzcGVjaWZpZXMgdHlwZSAndWludG1heF90JyAoYWthICd1 bnNpZ25lZCBsb25nIGxvbmcnKSBidXQgdGhlIGFyZ3VtZW50IGhhcyB0eXBlICdidXNfYWRkcl90 JyAoYWthICd1bnNpZ25lZCBpbnQnKSBbLVdlcnJvciwtV2Zvcm1hdF0NCj4gICAgICAgICAgICAg c2MtPmNvbnRleHRbaV0udmN4dF9kbWEucGFkZHIsIHNjLT5jb250ZXh0W2ldLnZjeHRfZG1hLnZh ZGRyLA0KPiAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPg0KPg0K PiBPbiBXZWQsIEFwciAxMywgMjAxNiBhdCA4OjUzIEFNLCBEYXZpZCBDIFNvbWF5YWp1bHUgPGRh dmlkY3NAZnJlZWJzZC5vcmc+IHdyb3RlOg0KPj4gQXV0aG9yOiBkYXZpZGNzDQo+PiBEYXRlOiBX ZWQgQXByIDEzIDAwOjUzOjA0IDIwMTYNCj4+IE5ldyBSZXZpc2lvbjogMjk3ODk4DQo+PiBVUkw6 IGh0dHBzOi8vc3Zud2ViLmZyZWVic2Qub3JnL2NoYW5nZXNldC9iYXNlLzI5Nzg5OA0KPj4NCj4+ IExvZzoNCj4+ICAgMS4gbW9kaWZ5IGZ3ZHVtcCAoYS5rLmEgZ3JjZHVtcCkgbWVtb3J5IGlzIGFs bG9jYXRlZCBhbmQgZnJlZWQgb24gYXMgbmVlZGVkDQo+PiAgICAgIGJhc2lzLg0KPj4gICAyLiBn cmNkdW1wIGNhbiBiZSB0YWtlbiBhdCBmYWlsdXJlIHBvaW50cyBieSBpbnZva2luZyBieGVfZ3Jj X2R1bXAoKSB3aGVuDQo+PiAgICAgIHRyaWdnZXJfZ3JjZHVtcCBzeXNjdGwgZmxhZyBpcyBzZXQu IFdoZW4gZ3JjZHVtcCBpcyB0YWtlbiBncmNkdW1wX2RvbmUNCj4+ICAgICAgc3lzY3RsIGZsYWcg aXMgc2V0Lg0KPj4gICAzLiBncmNkdW1wX2RvbmUgY2FuIGJlIG1vbml0b3JlZCBieSB0aGUgdXNl ciB0byByZXRyaWV2ZSB0aGUgZ3JjZHVtcC4NCj4+DQo+PiAgIFN1Ym1pdHRlZCBieTp2YWlzaGFs aS5rdWxrYXJuaUBxbG9naWMuY29tDQo+PiAgIEFwcHJvdmVkIGJ5OmRhdmlkY3NAZnJlZWJzZC5v cmcNCj4+ICAgTUZDIGFmdGVyOjUgZGF5cw0KPj4NCj4+IE1vZGlmaWVkOg0KPj4gICBoZWFkL3N5 cy9kZXYvYnhlL2J4ZS5jDQo+PiAgIGhlYWQvc3lzL2Rldi9ieGUvYnhlLmgNCj4+ICAgaGVhZC9z eXMvZGV2L2J4ZS9ieGVfc3RhdHMuYw0KPj4NCj4+IE1vZGlmaWVkOiBoZWFkL3N5cy9kZXYvYnhl L2J4ZS5jDQo+PiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4+IC0tLSBoZWFkL3N5cy9kZXYvYnhl L2J4ZS5jICAgICAgV2VkIEFwciAxMyAwMDozMDo0MiAyMDE2ICAgICAgICAocjI5Nzg5NykNCj4+ ICsrKyBoZWFkL3N5cy9kZXYvYnhlL2J4ZS5jICAgICAgV2VkIEFwciAxMyAwMDo1MzowNCAyMDE2 ICAgICAgICAocjI5Nzg5OCkNCj4+IEBAIC02NzIsNyArNjcyLDYgQEAgc3RhdGljIHZvaWQgYnhl X2hhbmRsZV9mcF90cSh2b2lkICpjb250ZQ0KPj4NCj4+ICBzdGF0aWMgaW50IGJ4ZV9hZGRfY2Rl dihzdHJ1Y3QgYnhlX3NvZnRjICpzYyk7ICBzdGF0aWMgdm9pZCANCj4+IGJ4ZV9kZWxfY2Rldihz dHJ1Y3QgYnhlX3NvZnRjICpzYyk7IC1zdGF0aWMgaW50IGJ4ZV9ncmNfZHVtcChzdHJ1Y3QgDQo+ PiBieGVfc29mdGMgKnNjKTsgIHN0YXRpYyBpbnQgYnhlX2FsbG9jX2J1Zl9yaW5ncyhzdHJ1Y3Qg YnhlX3NvZnRjIA0KPj4gKnNjKTsgc3RhdGljIHZvaWQgYnhlX2ZyZWVfYnVmX3JpbmdzKHN0cnVj dCBieGVfc29mdGMgKnNjKTsNCj4+DQo+PiBAQCAtMzQ0OSw2ICszNDQ4LDEwIEBAIGJ4ZV93YXRj aGRvZyhzdHJ1Y3QgYnhlX3NvZnRjICAgICpzYywNCj4+ICAgICAgfQ0KPj4NCj4+ICAgICAgQkxP R0Uoc2MsICJUWCB3YXRjaGRvZyB0aW1lb3V0IG9uIGZwWyUwMmRdLCByZXNldHRpbmchXG4iLA0K Pj4gZnAtPmluZGV4KTsNCj4+ICsgICAgaWYoc2MtPnRyaWdnZXJfZ3JjZHVtcCkgew0KPj4gKyAg ICAgICAgIC8qIHRha2luZyBncmNkdW1wICovDQo+PiArICAgICAgICAgYnhlX2dyY19kdW1wKHNj KTsNCj4+ICsgICAgfQ0KPj4NCj4+ICAgICAgQlhFX0ZQX1RYX1VOTE9DSyhmcCk7DQo+Pg0KPj4g QEAgLTE1NjM3LDMwICsxNTY0MCw2IEBAIGJ4ZV9zeXNjdGxfc3RhdGUoU1lTQ1RMX0hBTkRMRVJf QVJHUykNCj4+ICB9DQo+Pg0KPj4gIHN0YXRpYyBpbnQNCj4+IC1ieGVfc3lzY3RsX3RyaWdnZXJf Z3JjZHVtcChTWVNDVExfSEFORExFUl9BUkdTKQ0KPj4gLXsNCj4+IC0gICAgc3RydWN0IGJ4ZV9z b2Z0YyAqc2M7DQo+PiAtICAgIGludCBlcnJvciwgcmVzdWx0Ow0KPj4gLQ0KPj4gLSAgICByZXN1 bHQgPSAwOw0KPj4gLSAgICBlcnJvciA9IHN5c2N0bF9oYW5kbGVfaW50KG9pZHAsICZyZXN1bHQs IDAsIHJlcSk7DQo+PiAtDQo+PiAtICAgIGlmIChlcnJvciB8fCAhcmVxLT5uZXdwdHIpIHsNCj4+ IC0gICAgICAgIHJldHVybiAoZXJyb3IpOw0KPj4gLSAgICB9DQo+PiAtDQo+PiAtICAgIGlmIChy ZXN1bHQgPT0gMSkgew0KPj4gLSAgICAgICAgc2MgPSAoc3RydWN0IGJ4ZV9zb2Z0YyAqKWFyZzE7 DQo+PiAtDQo+PiAtICAgICAgICBCTE9HSShzYywgIi4uLiBncmNkdW1wIHN0YXJ0IC4uLlxuIik7 DQo+PiAtICAgICAgICBieGVfZ3JjX2R1bXAoc2MpOw0KPj4gLSAgICAgICAgQkxPR0koc2MsICIu Li4gZ3JjZHVtcCBkb25lIC4uLlxuIik7DQo+PiAtICAgIH0NCj4+IC0NCj4+IC0gICAgcmV0dXJu IChlcnJvcik7DQo+PiAtfQ0KPj4gLQ0KPj4gLXN0YXRpYyBpbnQNCj4+ICBieGVfc3lzY3RsX2V0 aF9zdGF0KFNZU0NUTF9IQU5ETEVSX0FSR1MpDQo+PiAgew0KPj4gICAgICBzdHJ1Y3QgYnhlX3Nv ZnRjICpzYyA9IChzdHJ1Y3QgYnhlX3NvZnRjICopYXJnMTsgQEAgLTE1ODExLDE0DQo+PiArMTU3 OTAsMTYgQEAgYnhlX2FkZF9zeXNjdGxzKHN0cnVjdCBieGVfc29mdGMgKnNjKQ0KPj4gICAgICAg ICAgICAgICAgICAgICAgImRlYnVnIGxvZ2dpbmcgbW9kZSIpOyAgI2VuZGlmIC8qICNpZiANCj4+ IF9fRnJlZUJTRF92ZXJzaW9uID49IDkwMDAwMCAqLw0KPj4NCj4+IC0gICAgU1lTQ1RMX0FERF9Q Uk9DKGN0eCwgY2hpbGRyZW4sIE9JRF9BVVRPLCAidHJpZ2dlcl9ncmNkdW1wIiwNCj4+IC0gICAg ICAgICAgICAgICAgICAgIENUTFRZUEVfVUlOVCB8IENUTEZMQUdfUlcsIHNjLCAwLA0KPj4gLSAg ICAgICAgICAgICAgICAgICAgYnhlX3N5c2N0bF90cmlnZ2VyX2dyY2R1bXAsICJJVSIsDQo+PiAt ICAgICAgICAgICAgICAgICAgICAic2V0IGJ5IGRyaXZlciB3aGVuIGEgZ3JjZHVtcCBpcyBuZWVk ZWQiKTsNCj4+ICsgICAgc2MtPnRyaWdnZXJfZ3JjZHVtcCA9IDA7DQo+PiArICAgIFNZU0NUTF9B RERfVUlOVChjdHgsIGNoaWxkcmVuLCBPSURfQVVUTywgInRyaWdnZXJfZ3JjZHVtcCIsDQo+PiAr ICAgICAgICAgICAgICAgICAgIENUTEZMQUdfUlcsICZzYy0+dHJpZ2dlcl9ncmNkdW1wLCAwLA0K Pj4gKyAgICAgICAgICAgICAgICAgICAidHJpZ2dlciBncmNkdW1wIHNob3VsZCBiZSBpbnZva2Vk Ig0KPj4gKyAgICAgICAgICAgICAgICAgICAiICBiZWZvcmUgY29sbGVjdGluZyBncmNkdW1wIik7 DQo+Pg0KPj4gKyAgICBzYy0+Z3JjZHVtcF9zdGFydGVkID0gMDsNCj4+ICAgICAgc2MtPmdyY2R1 bXBfZG9uZSA9IDA7DQo+PiAgICAgIFNZU0NUTF9BRERfVUlOVChjdHgsIGNoaWxkcmVuLCBPSURf QVVUTywgImdyY2R1bXBfZG9uZSIsDQo+PiAtICAgICAgICAgICAgICAgICAgIENUTEZMQUdfUlcs ICZzYy0+Z3JjZHVtcF9kb25lLCAwLA0KPj4gKyAgICAgICAgICAgICAgICAgICBDVExGTEFHX1JE LCAmc2MtPmdyY2R1bXBfZG9uZSwgMCwNCj4+ICAgICAgICAgICAgICAgICAgICAgInNldCBieSBk cml2ZXIgd2hlbiBncmNkdW1wIGlzIGRvbmUiKTsNCj4+DQo+PiAgICAgIHNjLT5yeF9idWRnZXQg PSBieGVfcnhfYnVkZ2V0Ow0KPj4gQEAgLTE4NjUwLDcgKzE4NjMxLDcgQEAgYnhlX2dldF9wcmVz ZXRfcmVncyhzdHJ1Y3QgYnhlX3NvZnRjICpzYw0KPj4gICAgICByZXR1cm4gMDsNCj4+ICB9DQo+ Pg0KPj4gLXN0YXRpYyBpbnQNCj4+ICtpbnQNCj4+ICBieGVfZ3JjX2R1bXAoc3RydWN0IGJ4ZV9z b2Z0YyAqc2MpDQo+PiAgew0KPj4gICAgICBpbnQgcnZhbCA9IDA7DQo+PiBAQCAtMTg2NTgsMTIg KzE4NjM5LDUzIEBAIGJ4ZV9ncmNfZHVtcChzdHJ1Y3QgYnhlX3NvZnRjICpzYykNCj4+ICAgICAg dWludDhfdCAqYnVmOw0KPj4gICAgICB1aW50MzJfdCBzaXplOw0KPj4gICAgICBzdHJ1Y3QgIGR1 bXBfaGVhZGVyICpkX2hkcjsNCj4+ICsgICAgdWludDMyX3QgaTsNCj4+ICsgICAgdWludDMyX3Qg cmVnX3ZhbDsNCj4+ICsgICAgdWludDMyX3QgcmVnX2FkZHI7DQo+PiArICAgIHVpbnQzMl90IGNt ZF9vZmZzZXQ7DQo+PiArICAgIGludCBjb250ZXh0X3NpemU7DQo+PiArICAgIGludCBhbGxvY2F0 ZWQ7DQo+PiArICAgIHN0cnVjdCBlY29yZV9pbHQgKmlsdCA9IFNDX0lMVChzYyk7DQo+PiArICAg IHN0cnVjdCBieGVfZmFzdHBhdGggKmZwOw0KPj4gKyAgICBzdHJ1Y3QgaWx0X2NsaWVudF9pbmZv ICppbHRfY2xpOw0KPj4gKyAgICBpbnQgZ3JjX2R1bXBfc2l6ZTsNCj4+DQo+PiAtICAgIGlmIChz Yy0+Z3JjZHVtcF9kb25lKQ0KPj4gKw0KPj4gKyAgICBpZiAoc2MtPmdyY2R1bXBfZG9uZSB8fCBz Yy0+Z3JjZHVtcF9zdGFydGVkKQ0KPj4gICAgICAgICByZXR1cm4gKHJ2YWwpOw0KPj4NCj4+ICsg ICAgc2MtPmdyY2R1bXBfc3RhcnRlZCA9IDE7DQo+PiArICAgIEJMT0dJKHNjLCAiU3RhcnRlZCBj b2xsZWN0aW5nIGdyY2R1bXBcbiIpOw0KPj4gKw0KPj4gKyAgICBncmNfZHVtcF9zaXplID0gKGJ4 ZV9nZXRfdG90YWxfcmVnc19sZW4zMihzYykgKiBzaXplb2YodWludDMyX3QpKSArDQo+PiArICAg ICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgIGR1bXBfaGVhZGVyKTsNCj4+ICsNCj4+ICsgICAg c2MtPmdyY19kdW1wID0gbWFsbG9jKGdyY19kdW1wX3NpemUsIE1fREVWQlVGLCBNX05PV0FJVCk7 DQo+PiArDQo+PiArICAgIGlmIChzYy0+Z3JjX2R1bXAgPT0gTlVMTCkgew0KPj4gKyAgICAgICAg QkxPR1coc2MsICJVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBncmNkdW1wIGNvbGxlY3Rp b25cbiIpOw0KPj4gKyAgICAgICAgcmV0dXJuKEVOT01FTSk7DQo+PiArICAgIH0NCj4+ICsNCj4+ ICsNCj4+ICsNCj4+ICsgICAgLyogRGlzYWJsZSBwYXJpdHkgYXR0ZW50aW9ucyBhcyBsb25nIGFz IGZvbGxvd2luZyBkdW1wIG1heQ0KPj4gKyAgICAgKiBjYXVzZSBmYWxzZSBhbGFybXMgYnkgcmVh ZGluZyBuZXZlciB3cml0dGVuIHJlZ2lzdGVycy4gV2UNCj4+ICsgICAgICogd2lsbCByZS1lbmFi bGUgcGFyaXR5IGF0dGVudGlvbnMgcmlnaHQgYWZ0ZXIgdGhlIGR1bXAuDQo+PiArICAgICAqLw0K Pj4gKw0KPj4gKyAgICAvKiBEaXNhYmxlIHBhcml0eSBvbiBwYXRoIDAgKi8NCj4+ICsgICAgYnhl X3ByZXRlbmRfZnVuYyhzYywgMCk7DQo+PiArDQo+PiAgICAgIGVjb3JlX2Rpc2FibGVfYmxvY2tz X3Bhcml0eShzYyk7DQo+Pg0KPj4gKyAgICAvKiBEaXNhYmxlIHBhcml0eSBvbiBwYXRoIDEgKi8N Cj4+ICsgICAgYnhlX3ByZXRlbmRfZnVuYyhzYywgMSk7DQo+PiArICAgIGVjb3JlX2Rpc2FibGVf YmxvY2tzX3Bhcml0eShzYyk7DQo+PiArDQo+PiArICAgIC8qIFJldHVybiB0byBjdXJyZW50IGZ1 bmN0aW9uICovDQo+PiArICAgIGJ4ZV9wcmV0ZW5kX2Z1bmMoc2MsIFNDX0FCU19GVU5DKHNjKSk7 DQo+PiArDQo+PiAgICAgIGJ1ZiA9IHNjLT5ncmNfZHVtcDsNCj4+ICAgICAgZF9oZHIgPSBzYy0+ Z3JjX2R1bXA7DQo+Pg0KPj4gQEAgLTE4Njk1LDcgKzE4NzE3LDcgQEAgYnhlX2dyY19kdW1wKHN0 cnVjdCBieGVfc29mdGMgKnNjKQ0KPj4gICAgICAgICAgICAgIChwcmVzZXRfaWR4ID09IDExKSkN Cj4+ICAgICAgICAgICAgICBjb250aW51ZTsNCj4+DQo+PiAtICAgICAgICBydmFsID0gYnhlX2dl dF9wcmVzZXRfcmVncyhzYywgc2MtPmdyY19kdW1wLCBwcmVzZXRfaWR4KTsNCj4+ICsgICAgICAg IHJ2YWwgPSBieGVfZ2V0X3ByZXNldF9yZWdzKHNjLCAodWludDMyX3QgKilidWYsIHByZXNldF9p ZHgpOw0KPj4NCj4+ICAgICAgICAgaWYgKHJ2YWwpDQo+PiAgICAgICAgICAgICAgYnJlYWs7DQo+ PiBAQCAtMTg3MDUsOSArMTg3MjcsNzggQEAgYnhlX2dyY19kdW1wKHN0cnVjdCBieGVfc29mdGMg KnNjKQ0KPj4gICAgICAgICAgYnVmICs9IHNpemU7DQo+PiAgICAgIH0NCj4+DQo+PiArICAgIGJ4 ZV9wcmV0ZW5kX2Z1bmMoc2MsIDApOw0KPj4gKyAgICBlY29yZV9jbGVhcl9ibG9ja3NfcGFyaXR5 KHNjKTsNCj4+ICsgICAgZWNvcmVfZW5hYmxlX2Jsb2Nrc19wYXJpdHkoc2MpOw0KPj4gKw0KPj4g KyAgICBieGVfcHJldGVuZF9mdW5jKHNjLCAxKTsNCj4+ICAgICAgZWNvcmVfY2xlYXJfYmxvY2tz X3Bhcml0eShzYyk7DQo+PiAgICAgIGVjb3JlX2VuYWJsZV9ibG9ja3NfcGFyaXR5KHNjKTsNCj4+ DQo+PiArICAgIC8qIFJldHVybiB0byBjdXJyZW50IGZ1bmN0aW9uICovDQo+PiArICAgIGJ4ZV9w cmV0ZW5kX2Z1bmMoc2MsIFNDX0FCU19GVU5DKHNjKSk7DQo+PiArDQo+PiArDQo+PiArICAgIGNv bnRleHRfc2l6ZSA9IChzaXplb2YodW5pb24gY2R1X2NvbnRleHQpICogQlhFX0wyX0NJRF9DT1VO VChzYykpOw0KPj4gKyAgICBmb3IgKGkgPSAwLCBhbGxvY2F0ZWQgPSAwOyBhbGxvY2F0ZWQgPCBj b250ZXh0X3NpemU7IGkrKykgew0KPj4gKw0KPj4gKyAgICAgICAgQkxPR0koc2MsICJjZHVfY29u dGV4dCBpICVkIHBhZGRyICUjanggdmFkZHIgJXAgc2l6ZSAweCV6eFxuIiwgaSwNCj4+ICsgICAg ICAgICAgICBzYy0+Y29udGV4dFtpXS52Y3h0X2RtYS5wYWRkciwgc2MtPmNvbnRleHRbaV0udmN4 dF9kbWEudmFkZHIsDQo+PiArICAgICAgICAgICAgc2MtPmNvbnRleHRbaV0uc2l6ZSk7DQo+PiAr ICAgICAgICBhbGxvY2F0ZWQgKz0gc2MtPmNvbnRleHRbaV0uc2l6ZTsNCj4+ICsgICAgfQ0KPj4g KyAgICBCTE9HSShzYywgImZ3IHN0YXRzIHN0YXJ0X3BhZGRyICUjanggZW5kX3BhZGRyICUjangg dmFkZHIgJXAgc2l6ZSAweCV4XG4iLA0KPj4gKyAgICAgICAgKHVpbnRtYXhfdClzYy0+Zndfc3Rh dHNfcmVxX21hcHBpbmcsDQo+PiArICAgICAgICAodWludG1heF90KXNjLT5md19zdGF0c19kYXRh X21hcHBpbmcsDQo+PiArICAgICAgICBzYy0+Zndfc3RhdHNfcmVxLCAoc2MtPmZ3X3N0YXRzX3Jl cV9zaXplICsgc2MtPmZ3X3N0YXRzX2RhdGFfc2l6ZSkpOw0KPj4gKyAgICBCTE9HSShzYywgImRl Zl9zdGF0dXNfYmxvY2sgcGFkZHIgJXAgdmFkZHIgJXAgc2l6ZSAweCVseFxuIiwNCj4+ICsgICAg ICAgICh2b2lkICopc2MtPmRlZl9zYl9kbWEucGFkZHIsIHNjLT5kZWZfc2IsDQo+PiArICAgICAg ICBzaXplb2Yoc3RydWN0IGhvc3Rfc3Bfc3RhdHVzX2Jsb2NrKSk7DQo+PiArICAgIEJMT0dJKHNj LCAiZXZlbnRfcXVldWUgcGFkZHIgJSNqeCB2YWRkciAlcCBzaXplIDB4JXhcbiIsDQo+PiArICAg ICAgICBzYy0+ZXFfZG1hLnBhZGRyLCBzYy0+ZXFfZG1hLnZhZGRyLCBCQ01fUEFHRV9TSVpFKTsN Cj4+ICsgICAgQkxPR0koc2MsICJzbG93IHBhdGggcGFkZHIgJSNqeCB2YWRkciAlcCBzaXplIDB4 JWx4XG4iLA0KPj4gKyAgICAgICAgc2MtPnNwX2RtYS5wYWRkciwgc2MtPnNwX2RtYS52YWRkciwg c2l6ZW9mKHN0cnVjdCBieGVfc2xvd3BhdGgpKTsNCj4+ICsgICAgQkxPR0koc2MsICJzbG93IHBh dGggcXVldWUgcGFkZHIgJSNqeCB2YWRkciAlcCBzaXplIDB4JXhcbiIsDQo+PiArICAgICAgICBz Yy0+c3BxX2RtYS5wYWRkciwgc2MtPnNwcV9kbWEudmFkZHIsIEJDTV9QQUdFX1NJWkUpOw0KPj4g KyAgICBCTE9HSShzYywgImZ3X2J1ZiBwYWRkciAlI2p4IHZhZGRyICVwIHNpemUgMHgleFxuIiwN Cj4+ICsgICAgICAgIHNjLT5nel9idWZfZG1hLnBhZGRyLCBzYy0+Z3pfYnVmX2RtYS52YWRkciwg RldfQlVGX1NJWkUpOw0KPj4gKyAgICBmb3IgKGkgPSAwOyBpIDwgc2MtPm51bV9xdWV1ZXM7IGkr Kykgew0KPj4gKyAgICAgICAgZnAgPSAmc2MtPmZwW2ldOw0KPj4gKyAgICAgICAgQkxPR0koc2Ms ICJGUCBzdGF0dXMgYmxvY2sgZnAgJWQgcGFkZHIgJSNqeCB2YWRkciAlcCBzaXplIDB4JWx4XG4i LCBpLA0KPj4gKyAgICAgICAgICAgIGZwLT5zYl9kbWEucGFkZHIsIGZwLT5zYl9kbWEudmFkZHIs DQo+PiArICAgICAgICAgICAgc2l6ZW9mKHVuaW9uIGJ4ZV9ob3N0X2hjX3N0YXR1c19ibG9jaykp Ow0KPj4gKyAgICAgICAgQkxPR0koc2MsICJUWCBCRCBDSEFJTiBmcCAlZCBwYWRkciAlI2p4IHZh ZGRyICVwIHNpemUgMHgleFxuIiwgaSwNCj4+ICsgICAgICAgICAgICBmcC0+dHhfZG1hLnBhZGRy LCBmcC0+dHhfZG1hLnZhZGRyLA0KPj4gKyAgICAgICAgICAgIChCQ01fUEFHRV9TSVpFICogVFhf QkRfTlVNX1BBR0VTKSk7DQo+PiArICAgICAgICBCTE9HSShzYywgIlJYIEJEIENIQUlOIGZwICVk IHBhZGRyICUjanggdmFkZHIgJXAgc2l6ZSAweCV4XG4iLCBpLA0KPj4gKyAgICAgICAgICAgIGZw LT5yeF9kbWEucGFkZHIsIGZwLT5yeF9kbWEudmFkZHIsDQo+PiArICAgICAgICAgICAgKEJDTV9Q QUdFX1NJWkUgKiBSWF9CRF9OVU1fUEFHRVMpKTsNCj4+ICsgICAgICAgIEJMT0dJKHNjLCAiUlgg UkNRIENIQUlOIGZwICVkIHBhZGRyICUjanggdmFkZHIgJXAgc2l6ZSAweCVseFxuIiwgaSwNCj4+ ICsgICAgICAgICAgICBmcC0+cmNxX2RtYS5wYWRkciwgZnAtPnJjcV9kbWEudmFkZHIsDQo+PiAr ICAgICAgICAgICAgKEJDTV9QQUdFX1NJWkUgKiBSQ1FfTlVNX1BBR0VTKSk7DQo+PiArICAgICAg ICBCTE9HSShzYywgIlJYIFNHRSBDSEFJTiBmcCAlZCBwYWRkciAlI2p4IHZhZGRyICVwIHNpemUg MHgleFxuIiwgaSwNCj4+ICsgICAgICAgICAgICBmcC0+cnhfc2dlX2RtYS5wYWRkciwgZnAtPnJ4 X3NnZV9kbWEudmFkZHIsDQo+PiArICAgICAgICAgICAgKEJDTV9QQUdFX1NJWkUgKiBSWF9TR0Vf TlVNX1BBR0VTKSk7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAgaWx0X2NsaSA9ICZpbHQtPmNs aWVudHNbMV07DQo+PiArICAgIGZvciAoaSA9IGlsdF9jbGktPnN0YXJ0OyBpIDw9IGlsdF9jbGkt PmVuZDsgaSsrKSB7DQo+PiArICAgICAgICBCTE9HSShzYywgIkVDT1JFX0lMVCBwYWRkciAlI2p4 IHZhZGRyICVwIHNpemUgMHgleFxuIiwNCj4+ICsgICAgICAgICAgICAoKHN0cnVjdCBieGVfZG1h ICopKCgmaWx0LT5saW5lc1tpXSktPnBhZ2UpKS0+cGFkZHIsDQo+PiArICAgICAgICAgICAgKChz dHJ1Y3QgYnhlX2RtYSAqKSgoJmlsdC0+bGluZXNbaV0pLT5wYWdlKSktPnZhZGRyLCBCQ01fUEFH RV9TSVpFKTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKw0KPj4gKyAgICBjbWRfb2Zmc2V0ID0gRE1B RV9SRUdfQ01EX01FTTsNCj4+ICsgICAgZm9yIChpID0gMDsgaSA8IDIyNDsgaSsrKSB7DQo+PiAr ICAgICAgICByZWdfYWRkciA9IChjbWRfb2Zmc2V0ICsoaSAqIDQpKTsNCj4+ICsgICAgICAgIHJl Z192YWwgPSBSRUdfUkQoc2MsIHJlZ19hZGRyKTsNCj4+ICsgICAgICAgIEJMT0dJKHNjLCAiRE1B RV9SRUdfQ01EX01FTSBpPSVkIHJlZ19hZGRyIDB4JXggcmVnX3ZhbCAweCUwOHhcbiIsaSwNCj4+ ICsgICAgICAgICAgICByZWdfYWRkciwgcmVnX3ZhbCk7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsN Cj4+ICsgICAgQkxPR0koc2MsICJDb2xsZWN0aW9uIG9mIGdyY2R1bXAgZG9uZVxuIik7DQo+PiAg ICAgIHNjLT5ncmNkdW1wX2RvbmUgPSAxOw0KPj4gICAgICByZXR1cm4ocnZhbCk7DQo+PiAgfQ0K Pj4gQEAgLTE4NzE1LDIxICsxODgwNiwxMCBAQCBieGVfZ3JjX2R1bXAoc3RydWN0IGJ4ZV9zb2Z0 YyAqc2MpICBzdGF0aWMgDQo+PiBpbnQgIGJ4ZV9hZGRfY2RldihzdHJ1Y3QgYnhlX3NvZnRjICpz YykgIHsNCj4+IC0gICAgaW50IGdyY19kdW1wX3NpemU7DQo+PiAtDQo+PiAtICAgIGdyY19kdW1w X3NpemUgPSAoYnhlX2dldF90b3RhbF9yZWdzX2xlbjMyKHNjKSAqIHNpemVvZih1aW50MzJfdCkp ICsNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCAgZHVt cF9oZWFkZXIpOw0KPj4gLQ0KPj4gLSAgICBzYy0+Z3JjX2R1bXAgPSBtYWxsb2MoZ3JjX2R1bXBf c2l6ZSwgTV9ERVZCVUYsIE1fTk9XQUlUKTsNCj4+IC0NCj4+IC0gICAgaWYgKHNjLT5ncmNfZHVt cCA9PSBOVUxMKQ0KPj4gLSAgICAgICAgcmV0dXJuICgtMSk7DQo+PiAtDQo+PiAgICAgIHNjLT5l ZXByb20gPSBtYWxsb2MoQlhFX0VFUFJPTV9NQVhfREFUQV9MRU4sIE1fREVWQlVGLCANCj4+IE1f Tk9XQUlUKTsNCj4+DQo+PiAgICAgIGlmIChzYy0+ZWVwcm9tID09IE5VTEwpIHsNCj4+ICAgICAg ICAgIEJMT0dXKHNjLCAiVW5hYmxlIHRvIGFsbG9jIGZvciBlZXByb20gc2l6ZSBidWZmZXJcbiIp Ow0KPj4gLSAgICAgICAgZnJlZShzYy0+Z3JjX2R1bXAsIE1fREVWQlVGKTsgc2MtPmdyY19kdW1w ID0gTlVMTDsNCj4+ICAgICAgICAgIHJldHVybiAoLTEpOw0KPj4gICAgICB9DQo+Pg0KPj4gQEAg LTE4NzQyLDExICsxODgyMiw4IEBAIGJ4ZV9hZGRfY2RldihzdHJ1Y3QgYnhlX3NvZnRjICpzYykN Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZfbmFtZShzYy0+aWZwKSk7DQo+Pg0K Pj4gICAgICBpZiAoc2MtPmlvY3RsX2RldiA9PSBOVUxMKSB7DQo+PiAtDQo+PiAtICAgICAgICBm cmVlKHNjLT5ncmNfZHVtcCwgTV9ERVZCVUYpOw0KPj4gICAgICAgICAgZnJlZShzYy0+ZWVwcm9t LCBNX0RFVkJVRik7DQo+PiAgICAgICAgICBzYy0+ZWVwcm9tID0gTlVMTDsNCj4+IC0NCj4+ICAg ICAgICAgIHJldHVybiAoLTEpOw0KPj4gICAgICB9DQo+Pg0KPj4gQEAgLTE4NzYxLDEzICsxODgz OCwxMSBAQCBieGVfZGVsX2NkZXYoc3RydWN0IGJ4ZV9zb2Z0YyAqc2MpDQo+PiAgICAgIGlmIChz Yy0+aW9jdGxfZGV2ICE9IE5VTEwpDQo+PiAgICAgICAgICBkZXN0cm95X2RldihzYy0+aW9jdGxf ZGV2KTsNCj4+DQo+PiAtICAgIGlmIChzYy0+Z3JjX2R1bXAgIT0gTlVMTCkNCj4+IC0gICAgICAg IGZyZWUoc2MtPmdyY19kdW1wLCBNX0RFVkJVRik7DQo+PiAtDQo+PiAgICAgIGlmIChzYy0+ZWVw cm9tICE9IE5VTEwpIHsNCj4+ICAgICAgICAgIGZyZWUoc2MtPmVlcHJvbSwgTV9ERVZCVUYpOw0K Pj4gICAgICAgICAgc2MtPmVlcHJvbSA9IE5VTEw7DQo+PiAgICAgIH0NCj4+ICsgICAgc2MtPmlv Y3RsX2RldiA9IE5VTEw7DQo+Pg0KPj4gICAgICByZXR1cm47DQo+PiAgfQ0KPj4gQEAgLTE4OTQ1 LDE1ICsxOTAyMCwyNiBAQCBieGVfZWlvY3RsKHN0cnVjdCBjZGV2ICpkZXYsIHVfbG9uZyBjbWQs DQo+Pg0KPj4gICAgICAgICAgICAgIGdyY19kdW1wX3NpemUgPSAoYnhlX2dldF90b3RhbF9yZWdz X2xlbjMyKHNjKSAqIHNpemVvZih1aW50MzJfdCkpICsNCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgIGR1bXBfaGVhZGVyKTsNCj4+IC0NCj4+IC0gICAg ICAgICAgICBpZiAoKHNjLT5ncmNfZHVtcCA9PSBOVUxMKSB8fCAoZHVtcC0+Z3JjZHVtcCA9PSBO VUxMKSB8fA0KPj4gLSAgICAgICAgICAgICAgICAoZHVtcC0+Z3JjZHVtcF9zaXplIDwgZ3JjX2R1 bXBfc2l6ZSkgfHwgKCFzYy0+Z3JjZHVtcF9kb25lKSkgew0KPj4gKyAgICAgICAgICAgIGlmICgo IXNjLT50cmlnZ2VyX2dyY2R1bXApIHx8IChkdW1wLT5ncmNkdW1wID09IE5VTEwpIHx8DQo+PiAr ICAgICAgICAgICAgICAgIChkdW1wLT5ncmNkdW1wX3NpemUgPCBncmNfZHVtcF9zaXplKSkgew0K Pj4gICAgICAgICAgICAgICAgICBydmFsID0gRUlOVkFMOw0KPj4gICAgICAgICAgICAgICAgICBi cmVhazsNCj4+ICAgICAgICAgICAgICB9DQo+PiAtICAgICAgICAgICBkdW1wLT5ncmNkdW1wX2R3 b3JkcyA9IGdyY19kdW1wX3NpemUgPj4gMjsNCj4+IC0gICAgICAgICAgICBydmFsID0gY29weW91 dChzYy0+Z3JjX2R1bXAsIGR1bXAtPmdyY2R1bXAsIGdyY19kdW1wX3NpemUpOw0KPj4gLSAgICAg ICAgICAgIHNjLT5ncmNkdW1wX2RvbmUgPSAwOw0KPj4gKw0KPj4gKyAgICAgICAgICAgIGlmKChz Yy0+dHJpZ2dlcl9ncmNkdW1wKSAmJiAoIXNjLT5ncmNkdW1wX2RvbmUpICYmDQo+PiArICAgICAg ICAgICAgICAgICghc2MtPmdyY2R1bXBfc3RhcnRlZCkpIHsNCj4+ICsgICAgICAgICAgICAgICAg cnZhbCA9ICBieGVfZ3JjX2R1bXAoc2MpOw0KPj4gKyAgICAgICAgICAgIH0NCj4+ICsNCj4+ICsg ICAgICAgICAgICBpZigoIXJ2YWwpICYmIChzYy0+Z3JjZHVtcF9kb25lKSAmJiAoc2MtPmdyY2R1 bXBfc3RhcnRlZCkgJiYNCj4+ICsgICAgICAgICAgICAgICAgKHNjLT5ncmNfZHVtcCAhPSBOVUxM KSkgIHsNCj4+ICsgICAgICAgICAgICAgICAgZHVtcC0+Z3JjZHVtcF9kd29yZHMgPSBncmNfZHVt cF9zaXplID4+IDI7DQo+PiArICAgICAgICAgICAgICAgIHJ2YWwgPSBjb3B5b3V0KHNjLT5ncmNf ZHVtcCwgZHVtcC0+Z3JjZHVtcCwgZ3JjX2R1bXBfc2l6ZSk7DQo+PiArICAgICAgICAgICAgICAg IGZyZWUoc2MtPmdyY19kdW1wLCBNX0RFVkJVRik7DQo+PiArICAgICAgICAgICAgICAgIHNjLT5n cmNfZHVtcCA9IE5VTEw7DQo+PiArICAgICAgICAgICAgICAgIHNjLT5ncmNkdW1wX3N0YXJ0ZWQg PSAwOw0KPj4gKyAgICAgICAgICAgICAgICBzYy0+Z3JjZHVtcF9kb25lID0gMDsNCj4+ICsgICAg ICAgICAgICB9DQo+Pg0KPj4gICAgICAgICAgICAgIGJyZWFrOw0KPj4NCj4+IEBAIC0xODk3Myw2 ICsxOTA1OSw3IEBAIGJ4ZV9laW9jdGwoc3RydWN0IGNkZXYgKmRldiwgdV9sb25nIGNtZCwNCj4+ ICAgICAgICAgICAgICBzbnByaW50ZihkcnZfaW5mb3AtPmJ1c19pbmZvLCBCWEVfQlVTX0lORk9f TEVOR1RILCAiJWQ6JWQ6JWQiLA0KPj4gICAgICAgICAgICAgICAgICBzYy0+cGNpZV9idXMsIHNj LT5wY2llX2RldmljZSwgc2MtPnBjaWVfZnVuYyk7DQo+PiAgICAgICAgICAgICAgYnJlYWs7DQo+ PiArDQo+PiAgICAgICAgICBjYXNlIEJYRV9ERVZfU0VUVElORzoNCj4+ICAgICAgICAgICAgICBk ZXZfcCA9IChieGVfZGV2X3NldHRpbmdfdCAqKWRhdGE7DQo+PiAgICAgICAgICAgICAgYnhlX2dl dF9zZXR0aW5ncyhzYywgJmRldl9zZXQpOyBAQCAtMTg5OTEsMjAgKzE5MDc4LDIwIA0KPj4gQEAg YnhlX2Vpb2N0bChzdHJ1Y3QgY2RldiAqZGV2LCB1X2xvbmcgY21kLA0KPj4gICAgICAgICAgICAg IHJlZ19wID0gKGJ4ZV9nZXRfcmVnc190ICopZGF0YTsNCj4+ICAgICAgICAgICAgICBncmNfZHVt cF9zaXplID0gcmVnX3AtPnJlZ19idWZfbGVuOw0KPj4NCj4+IC0gICAgICAgICAgICBpZiAoc2Mt PmdyY19kdW1wID09IE5VTEwpIHsNCj4+IC0gICAgICAgICAgICAgICAgcnZhbCA9IEVJTlZBTDsN Cj4+IC0gICAgICAgICAgICAgICAgYnJlYWs7DQo+PiAtICAgICAgICAgICAgfQ0KPj4gLQ0KPj4g LSAgICAgICAgICAgIGlmKCFzYy0+Z3JjZHVtcF9kb25lKSB7DQo+PiArICAgICAgICAgICAgaWYo KCFzYy0+Z3JjZHVtcF9kb25lKSAmJiAoIXNjLT5ncmNkdW1wX3N0YXJ0ZWQpKSB7DQo+PiAgICAg ICAgICAgICAgICAgIGJ4ZV9ncmNfZHVtcChzYyk7DQo+PiAgICAgICAgICAgICAgfQ0KPj4gLSAg ICAgICAgICAgIGlmKHNjLT5ncmNkdW1wX2RvbmUpIHsNCj4+ICsgICAgICAgICAgICBpZigoc2Mt PmdyY2R1bXBfZG9uZSkgJiYgKHNjLT5ncmNkdW1wX3N0YXJ0ZWQpICYmDQo+PiArICAgICAgICAg ICAgICAgIChzYy0+Z3JjX2R1bXAgIT0gTlVMTCkpICB7DQo+PiAgICAgICAgICAgICAgICAgIHJ2 YWwgPSBjb3B5b3V0KHNjLT5ncmNfZHVtcCwgcmVnX3AtPnJlZ19idWYsIA0KPj4gZ3JjX2R1bXBf c2l6ZSk7DQo+PiArICAgICAgICAgICAgICAgIGZyZWUoc2MtPmdyY19kdW1wLCBNX0RFVkJVRik7 DQo+PiArICAgICAgICAgICAgICAgIHNjLT5ncmNfZHVtcCA9IE5VTEw7DQo+PiArICAgICAgICAg ICAgICAgIHNjLT5ncmNkdW1wX3N0YXJ0ZWQgPSAwOw0KPj4gICAgICAgICAgICAgICAgICBzYy0+ Z3JjZHVtcF9kb25lID0gMDsNCj4+ICAgICAgICAgICAgICB9DQo+Pg0KPj4gICAgICAgICAgICAg IGJyZWFrOw0KPj4gKw0KPj4gICAgICAgICAgY2FzZSBCWEVfUkRXX1JFRzoNCj4+ICAgICAgICAg ICAgICByZWdfcmR3X3AgPSAoYnhlX3JlZ19yZHdfdCAqKWRhdGE7DQo+PiAgICAgICAgICAgICAg aWYoKHJlZ19yZHdfcC0+cmVnX2NtZCA9PSBCWEVfUkVBRF9SRUdfQ01EKSAmJg0KPj4NCj4+IE1v ZGlmaWVkOiBoZWFkL3N5cy9kZXYvYnhlL2J4ZS5oDQo+PiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N Cj4+IC0tLSBoZWFkL3N5cy9kZXYvYnhlL2J4ZS5oICAgICAgV2VkIEFwciAxMyAwMDozMDo0MiAy MDE2ICAgICAgICAocjI5Nzg5NykNCj4+ICsrKyBoZWFkL3N5cy9kZXYvYnhlL2J4ZS5oICAgICAg V2VkIEFwciAxMyAwMDo1MzowNCAyMDE2ICAgICAgICAocjI5Nzg5OCkNCj4+IEBAIC0xNzg2LDgg KzE3ODYsMTIgQEAgc3RydWN0IGJ4ZV9zb2Z0YyB7DQo+PiAgICAgIGludCBwYW5pYzsNCj4+DQo+ PiAgICAgIHN0cnVjdCBjZGV2ICppb2N0bF9kZXY7DQo+PiArDQo+PiAgICAgIHZvaWQgKmdyY19k dW1wOw0KPj4gLSAgICBpbnQgZ3JjZHVtcF9kb25lOw0KPj4gKyAgICB1bnNpZ25lZCBpbnQgdHJp Z2dlcl9ncmNkdW1wOw0KPj4gKyAgICB1bnNpZ25lZCBpbnQgIGdyY2R1bXBfZG9uZTsNCj4+ICsg ICAgdW5zaWduZWQgaW50IGdyY2R1bXBfc3RhcnRlZDsNCj4+ICsNCj4+ICAgICAgdm9pZCAqZWVw cm9tOw0KPj4gIH07IC8qIHN0cnVjdCBieGVfc29mdGMgKi8NCj4+DQo+PiBAQCAtMjI5Myw3ICsy Mjk3LDcgQEAgdm9pZCBieGVfZHVtcF9tZW0oc3RydWN0IGJ4ZV9zb2Z0YyAqc2MsDQo+PiAgICAg ICAgICAgICAgICAgICAgdWludDhfdCAqbWVtLCB1aW50MzJfdCBsZW4pOyAgdm9pZCANCj4+IGJ4 ZV9kdW1wX21idWZfZGF0YShzdHJ1Y3QgYnhlX3NvZnRjICpzYywgY2hhciAqcFRhZywNCj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbWJ1ZiAqbSwgdWludDhfdCBjb250ZW50cyk7 DQo+PiAtDQo+PiArZXh0ZXJuIGludCBieGVfZ3JjX2R1bXAoc3RydWN0IGJ4ZV9zb2Z0YyAqc2Mp Ow0KPj4NCj4+ICAjaWYgX19GcmVlQlNEX3ZlcnNpb24gPj0gODAwMDAwDQo+PiAgI2lmIF9fRnJl ZUJTRF92ZXJzaW9uID49IDEwMDAwMDANCj4+DQo+PiBNb2RpZmllZDogaGVhZC9zeXMvZGV2L2J4 ZS9ieGVfc3RhdHMuYyANCj4+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPj4gLS0tIGhlYWQvc3lz L2Rldi9ieGUvYnhlX3N0YXRzLmMgICAgICAgIFdlZCBBcHIgMTMgMDA6MzA6NDIgMjAxNiAgICAg ICAgKHIyOTc4OTcpDQo+PiArKysgaGVhZC9zeXMvZGV2L2J4ZS9ieGVfc3RhdHMuYyAgICAgICAg V2VkIEFwciAxMyAwMDo1MzowNCAyMDE2ICAgICAgICAocjI5Nzg5OCkNCj4+IEBAIC0yMzQsNiAr MjM0LDEwIEBAIGJ4ZV9zdGF0c19jb21wKHN0cnVjdCBieGVfc29mdGMgKnNjKQ0KPj4gICAgICB3 aGlsZSAoKnN0YXRzX2NvbXAgIT0gRE1BRV9DT01QX1ZBTCkgew0KPj4gICAgICAgICAgaWYgKCFj bnQpIHsNCj4+ICAgICAgICAgICAgICBCTE9HRShzYywgIlRpbWVvdXQgd2FpdGluZyBmb3Igc3Rh dHMgZmluaXNoZWRcbiIpOw0KPj4gKyAgICAgICAgICAgIGlmKHNjLT50cmlnZ2VyX2dyY2R1bXAp IHsNCj4+ICsgICAgICAgICAgICAgICAgLyogdGFraW5nIGdyY2R1bXAgKi8NCj4+ICsgICAgICAg ICAgICAgICAgYnhlX2dyY19kdW1wKHNjKTsNCj4+ICsgICAgICAgICAgICB9DQo+PiAgICAgICAg ICAgICAgYnJlYWs7DQo+PiAgICAgICAgICB9DQo+Pg0KPj4gQEAgLTEzMTAsOCArMTMxNCwxMiBA QCBieGVfc3RhdHNfdXBkYXRlKHN0cnVjdCBieGVfc29mdGMgKnNjKQ0KPj4gICAgICAgICAgaWYg KGJ4ZV9zdG9ybV9zdGF0c191cGRhdGUoc2MpKSB7DQo+PiAgICAgICAgICAgICAgaWYgKHNjLT5z dGF0c19wZW5kaW5nKysgPT0gMykgew0KPj4gICAgICAgICAgICAgICAgIGlmIChpZl9nZXRkcnZm bGFncyhzYy0+aWZwKSAmIElGRl9EUlZfUlVOTklORykgew0KPj4gLSAgICAgICAgICAgICAgICAg ICAgICAgYXRvbWljX3N0b3JlX3JlbF9sb25nKCZzYy0+Y2hpcF90cV9mbGFncywgQ0hJUF9UUV9S RUlOSVQpOw0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgdGFza3F1ZXVlX2VucXVldWUoc2Mt PmNoaXBfdHEsICZzYy0+Y2hpcF90cV90YXNrKTsNCj4+ICsgICAgICAgICAgICAgICAgICAgIGlm KHNjLT50cmlnZ2VyX2dyY2R1bXApIHsNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAvKiB0 YWtpbmcgZ3JjZHVtcCAqLw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGJ4ZV9ncmNfZHVt cChzYyk7DQo+PiArICAgICAgICAgICAgICAgICAgICB9DQo+PiArICAgICAgICAgICAgICAgICAg ICBhdG9taWNfc3RvcmVfcmVsX2xvbmcoJnNjLT5jaGlwX3RxX2ZsYWdzLCBDSElQX1RRX1JFSU5J VCk7DQo+PiArICAgICAgICAgICAgICAgICAgICB0YXNrcXVldWVfZW5xdWV1ZShzYy0+Y2hpcF90 cSwgDQo+PiArICZzYy0+Y2hpcF90cV90YXNrKTsNCj4+ICAgICAgICAgICAgICAgICB9DQo+PiAg ICAgICAgICAgICAgfQ0KPj4gICAgICAgICAgICAgIHJldHVybjsNCj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+PiBzdm4tc3JjLWFsbEBmcmVlYnNk Lm9yZyBtYWlsaW5nIGxpc3QNCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9zdm4tc3JjLWFsbA0KPj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYW55IG1haWwgdG8g InN2bi1zcmMtYWxsLXVuc3Vic2NyaWJlQGZyZWVic2Qub3JnIg0KPg0KPg0KPg0KPiAtLQ0KPiBU b21vcnJvdyBXaWxsIE5ldmVyIERpZQ0KDQoNCg0KLS0NClRvbW9ycm93IFdpbGwgTmV2ZXIgRGll DQo=