From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-0016ce01.pphosted.com (mx0a-0016ce01.pphosted.com [67.231.148.157]) by dpdk.org (Postfix) with ESMTP id 2FB58C4C4 for ; Thu, 28 Jan 2016 18:33:25 +0100 (CET) Received: from pps.filterd (m0045602.ppops.net [127.0.0.1]) by mx0a-0016ce01.pphosted.com (8.15.0.59/8.15.0.59) with SMTP id u0SHXOaL025193; Thu, 28 Jan 2016 09:33:24 -0800 Received: from avcashub1.qlogic.com ([198.186.0.117]) by mx0a-0016ce01.pphosted.com with ESMTP id 20qq9980hy-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 28 Jan 2016 09:33:23 -0800 Received: from AVMB1.qlogic.org ([fe80::b816:e739:5ab3:5221]) by avcashub3.qlogic.org ([::1]) with mapi id 14.03.0235.001; Thu, 28 Jan 2016 09:33:21 -0800 From: Harish Patil To: Marc Sune , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v5 3/4] ethdev: redesign link speed config API Thread-Index: AQHQ/umqVvGn7O1xR0+cC9fio3N+ap8R5h0A Date: Thu, 28 Jan 2016 17:33:20 +0000 Message-ID: References: <1440807373-24770-1-git-send-email-marc.sune@bisdn.de> <1443993167-1150-1-git-send-email-marcdevel@gmail.com> <1443993167-1150-4-git-send-email-marcdevel@gmail.com> In-Reply-To: <1443993167-1150-4-git-send-email-marcdevel@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.3.9.131030 x-originating-ip: [10.1.4.10] MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=5800 definitions=8058 signatures=670684 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1601100000 definitions=main-1601280281 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v5 3/4] ethdev: redesign link speed config API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Jan 2016 17:33:26 -0000 DQoNCkZyb206IE1hcmMgU3VuZSA8bWFyY2RldmVsQGdtYWlsLmNvbTxtYWlsdG86bWFyY2RldmVs QGdtYWlsLmNvbT4+DQpEYXRlOiBTdW5kYXksIE9jdG9iZXIgNCwgMjAxNSBhdCAyOjEyIFBNDQpU bzogImRldkBkcGRrLm9yZzxtYWlsdG86ZGV2QGRwZGsub3JnPiIgPGRldkBkcGRrLm9yZzxtYWls dG86ZGV2QGRwZGsub3JnPj4NClN1YmplY3Q6IFtkcGRrLWRldl0gW1BBVENIIHY1IDMvNF0gZXRo ZGV2OiByZWRlc2lnbiBsaW5rIHNwZWVkIGNvbmZpZyBBUEkNCg0KVGhpcyBwYXRjaCByZWRlc2ln bnMgdGhlIEFQSSB0byBzZXQgdGhlIGxpbmsgc3BlZWQvcyBjb25maWd1cmUNCmZvciBhbiBldGhl cm5ldCBwb3J0LiBTcGVjaWZpY2FsbHk6DQoNCi0gaXQgYWxsb3dzIHRvIGRlZmluZSBhIHNldCBv ZiBhZHZlcnRpc2VkIHNwZWVkcyBmb3INCiAgYXV0by1uZWdvY2lhdGlvbi4NCi0gaXQgYWxsb3dz IHRvIGRpc2FibGUgbGluayBhdXRvLW5lZ29jaWF0aW9uIChzaW5nbGUgZml4ZWQgc3BlZWQpLg0K LSBkZWZhdWx0OiBhdXRvLW5lZ29jaWF0ZSBhbGwgc3VwcG9ydGVkIHNwZWVkcy4NCg0KT3RoZXIg Y2hhbmdlczoNCg0KKiBBZGRlZCB1dGlsaXR5IE1BQ1JPcyBFVEhfU1BFRURfTlVNX1hYWCB3aXRo IHRoZSBudW1lcmljDQogIHZhbHVlcyBvZiBhbGwgc3VwcG9ydGVkIGxpbmsgc3BlZWRzLCBpbiBN YnBzLg0KKiBDb252ZXJ0ZWQgbGlua19zcGVlZCB0byB1aW50MzJfdCB0byBhY2NvbW9kYXRlIDEw MEcgc3BlZWRzDQogIChidWcpLg0KKiBBZGRlZCBhdXRvbmVnIGZsYWcgaW4gc3RydWN0IHJ0ZV9l dGhfbGluayB0byBpbmRpY2F0ZSBpZg0KICBsaW5rIHNwZWVkIHdhcyBhIHJlc3VsdCBvZiBhdXRv LW5lZ29jaWF0aW9uIG9yIHdhcyBmaXhlZA0KICBieSBjb25maWd1cmF0aW9uLg0KKiBBZGRlZCB1 dGlsaXR5IGZ1bmN0aW9uIHRvIGNvbnZlcnQgbnVtZXJpYyBzcGVlZHMgdG8gYml0bWFwDQogIGZp ZWxkcy4NCiogQWRhcHRlZCB0ZXN0cG1kIHRvIHRoZSBuZXcgbGluayBBUEkuDQoNClNpZ25lZC1v ZmYtYnk6IE1hcmMgU3VuZSA8bWFyY2RldmVsQGdtYWlsLmNvbTxtYWlsdG86bWFyY2RldmVsQGdt YWlsLmNvbT4+DQotLS0NCiBhcHAvdGVzdC1wbWQvY21kbGluZS5jICAgICAgICAgICAgICAgICAg ICAgfCAxMjQgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0NCiBhcHAvdGVzdC92aXJ0dWFs X3BtZC5jICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0NCiBkcml2ZXJzL25ldC9hZl9wYWNr ZXQvcnRlX2V0aF9hZl9wYWNrZXQuYyAgfCAgIDUgKy0NCiBkcml2ZXJzL25ldC9ib25kaW5nL3J0 ZV9ldGhfYm9uZF84MDIzYWQuYyAgfCAgMTQgKystLQ0KIGRyaXZlcnMvbmV0L2N4Z2JlL2Jhc2Uv dDRfaHcuYyAgICAgICAgICAgICB8ICAgOCArLQ0KIGRyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEw MDBfODAwMDNlczJsYW4uYyB8ICAgNiArLQ0KIGRyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBf ODI1NDEuYyAgICAgICB8ICAgOCArLQ0KIGRyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfODI1 NDMuYyAgICAgICB8ICAgNCArLQ0KIGRyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfODI1NzUu YyAgICAgICB8ICAxMSArLS0NCiBkcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX2FwaS5jICAg ICAgICAgfCAgIDIgKy0NCiBkcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX2FwaS5oICAgICAg ICAgfCAgIDIgKy0NCiBkcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX2RlZmluZXMuaCAgICAg fCAgIDQgKy0NCiBkcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX2h3LmggICAgICAgICAgfCAg IDIgKy0NCiBkcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX2ljaDhsYW4uYyAgICAgfCAgIDQg Ky0NCiBkcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX21hYy5jICAgICAgICAgfCAgIDkgKyst DQogZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF9tYWMuaCAgICAgICAgIHwgICA2ICstDQog ZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF92Zi5jICAgICAgICAgIHwgICA0ICstDQogZHJp dmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF92Zi5oICAgICAgICAgIHwgICAyICstDQogZHJpdmVy cy9uZXQvZTEwMDAvZW1fZXRoZGV2LmMgICAgICAgICAgICAgIHwgMTA4ICsrKysrKysrKysrKy0t LS0tLS0tLS0tLS0NCiBkcml2ZXJzL25ldC9lMTAwMC9pZ2JfZXRoZGV2LmMgICAgICAgICAgICAg fCAxMDMgKysrKysrKysrKysrLS0tLS0tLS0tLS0tDQogZHJpdmVycy9uZXQvZm0xMGsvZm0xMGtf ZXRoZGV2LmMgICAgICAgICAgIHwgICA4ICstDQogZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jICAgICAgICAgICAgIHwgIDcwICsrKysrKysrLS0tLS0tLS0NCiBkcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2X3ZmLmMgICAgICAgICAgfCAgMTEgKy0tDQogZHJpdmVycy9uZXQvaXhnYmUv aXhnYmVfZXRoZGV2LmMgICAgICAgICAgIHwgIDcyICsrKysrKysrLS0tLS0tLS0tDQogZHJpdmVy cy9uZXQvbWx4NC9tbHg0LmMgICAgICAgICAgICAgICAgICAgIHwgICAyICsNCiBkcml2ZXJzL25l dC9tcGlwZS9tcGlwZV90aWxlZ3guYyAgICAgICAgICAgfCAgIDYgKy0NCiBkcml2ZXJzL25ldC9u dWxsL3J0ZV9ldGhfbnVsbC5jICAgICAgICAgICAgfCAgIDUgKy0NCiBkcml2ZXJzL25ldC9wY2Fw L3J0ZV9ldGhfcGNhcC5jICAgICAgICAgICAgfCAgIDkgKystDQogZHJpdmVycy9uZXQvcmluZy9y dGVfZXRoX3JpbmcuYyAgICAgICAgICAgIHwgICA1ICstDQogZHJpdmVycy9uZXQvdm14bmV0My92 bXhuZXQzX2V0aGRldi5jICAgICAgIHwgICA1ICstDQogZHJpdmVycy9uZXQveGVudmlydC9ydGVf ZXRoX3hlbnZpcnQuYyAgICAgIHwgICA1ICstDQogZXhhbXBsZXMvaXBfcGlwZWxpbmUvY29uZmln X3BhcnNlLmMgICAgICAgIHwgICAzICstDQogbGliL2xpYnJ0ZV9ldGhlci9ydGVfZXRoZGV2LmMg ICAgICAgICAgICAgIHwgIDQ5ICsrKysrKysrKysrKw0KIGxpYi9saWJydGVfZXRoZXIvcnRlX2V0 aGRldi5oICAgICAgICAgICAgICB8IDExMyArKysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KIDM0 IGZpbGVzIGNoYW5nZWQsIDQzNyBpbnNlcnRpb25zKCspLCAzNTYgZGVsZXRpb25zKC0pDQoNCmRp ZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvY21kbGluZS5jIGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmUu Yw0KaW5kZXggMGY4ZjQ4Zi4uYzYyZjViZSAxMDA2NDQNCi0tLSBhL2FwcC90ZXN0LXBtZC9jbWRs aW5lLmMNCisrKyBiL2FwcC90ZXN0LXBtZC9jbWRsaW5lLmMNCkBAIC04OTcsMTQgKzg5Nyw2NSBA QCBzdHJ1Y3QgY21kX2NvbmZpZ19zcGVlZF9hbGwgew0KICAgICBjbWRsaW5lX2ZpeGVkX3N0cmlu Z190IHZhbHVlMjsNCiB9Ow0KDQorc3RhdGljIGludA0KK3BhcnNlX2FuZF9jaGVja19zcGVlZF9k dXBsZXgoY2hhciAqdmFsdWUxLCBjaGFyICp2YWx1ZTIsIHVpbnQzMl90ICpsaW5rX3NwZWVkKQ0K K3sNCisNCisgICAgaW50IGR1cGxleDsNCisNCisgICAgaWYgKCFzdHJjbXAodmFsdWUyLCAiaGFs ZiIpKSB7DQorICAgICAgICBkdXBsZXggPSAwOw0KKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAodmFs dWUyLCAiZnVsbCIpKSB7DQorICAgICAgICBkdXBsZXggPSAxOw0KKyAgICB9IGVsc2UgaWYgKCFz dHJjbXAodmFsdWUyLCAiYXV0byIpKSB7DQorICAgICAgICBkdXBsZXggPSAxOw0KKyAgICB9IGVs c2Ugew0KKyAgICAgICAgcHJpbnRmKCJVbmtub3duIHBhcmFtZXRlclxuIik7DQorICAgICAgICBy ZXR1cm4gLTE7DQorICAgIH0NCisNCisgICAgaWYgKCFzdHJjbXAodmFsdWUxLCAiMTAiKSkgew0K KyAgICAgICAgKmxpbmtfc3BlZWQgPSAoZHVwbGV4KSA/IEVUSF9MSU5LX1NQRUVEXzEwTSA6DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9MSU5LX1NQRUVEXzEwTV9IRDsNCisgICAg fSBlbHNlIGlmICghc3RyY21wKHZhbHVlMSwgIjEwMCIpKSB7DQorICAgICAgICAqbGlua19zcGVl ZCA9IChkdXBsZXgpID8gRVRIX0xJTktfU1BFRURfMTAwTSA6DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVUSF9MSU5LX1NQRUVEXzEwME1fSEQ7DQorICAgIH0gZWxzZSBpZiAoIXN0cmNt cCh2YWx1ZTEsICIxMDAwIikpIHsNCisgICAgICAgIGlmICghZHVwbGV4KQ0KKyAgICAgICAgICAg IGdvdG8gaW52YWxpZF9zcGVlZF9wYXJhbTsNCisgICAgICAgICpsaW5rX3NwZWVkID0gRVRIX0xJ TktfU1BFRURfMUc7DQorICAgIH0gZWxzZSBpZiAoIXN0cmNtcCh2YWx1ZTEsICIxMDAwMCIpKSB7 DQorICAgICAgICBpZiAoIWR1cGxleCkNCisgICAgICAgICAgICBnb3RvIGludmFsaWRfc3BlZWRf cGFyYW07DQorICAgICAgICAqbGlua19zcGVlZCA9IEVUSF9MSU5LX1NQRUVEXzEwRzsNCisgICAg fSBlbHNlIGlmICghc3RyY21wKHZhbHVlMSwgIjQwMDAwIikpIHsNCisgICAgICAgIGlmICghZHVw bGV4KQ0KKyAgICAgICAgICAgIGdvdG8gaW52YWxpZF9zcGVlZF9wYXJhbTsNCisgICAgICAgICps aW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURfNDBHOw0KKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAo dmFsdWUxLCAiYXV0byIpKSB7DQorICAgICAgICBpZiAoIWR1cGxleCkNCisgICAgICAgICAgICBn b3RvIGludmFsaWRfc3BlZWRfcGFyYW07DQorICAgICAgICAqbGlua19zcGVlZCA9IEVUSF9MSU5L X1NQRUVEX0FVVE9ORUc7DQorICAgIH0gZWxzZSB7DQorICAgICAgICBwcmludGYoIlVua25vd24g cGFyYW1ldGVyXG4iKTsNCisgICAgICAgIHJldHVybiAtMTsNCisgICAgfQ0KKw0KKyAgICByZXR1 cm4gMDsNCisNCitpbnZhbGlkX3NwZWVkX3BhcmFtOg0KKw0KKyAgICBwcmludGYoIkludmFsaWQg c3BlZWQgcGFyYW1ldGVyXG4iKTsNCisgICAgcmV0dXJuIC0xOw0KK30NCisNCiBzdGF0aWMgdm9p ZA0KIGNtZF9jb25maWdfc3BlZWRfYWxsX3BhcnNlZCh2b2lkICpwYXJzZWRfcmVzdWx0LA0KICAg ICAgICAgICAgIF9fYXR0cmlidXRlX18oKHVudXNlZCkpIHN0cnVjdCBjbWRsaW5lICpjbCwNCiAg ICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSB2b2lkICpkYXRhKQ0KIHsNCiAgICAg c3RydWN0IGNtZF9jb25maWdfc3BlZWRfYWxsICpyZXMgPSBwYXJzZWRfcmVzdWx0Ow0KLSAgICB1 aW50MTZfdCBsaW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURfQVVUT05FRzsNCi0gICAgdWludDE2 X3QgbGlua19kdXBsZXggPSAwOw0KKyAgICB1aW50MzJfdCBsaW5rX3NwZWVkOw0KICAgICBwb3J0 aWRfdCBwaWQ7DQoNCiAgICAgaWYgKCFhbGxfcG9ydHNfc3RvcHBlZCgpKSB7DQpAQCAtOTEyLDQw ICs5NjMsMTggQEAgY21kX2NvbmZpZ19zcGVlZF9hbGxfcGFyc2VkKHZvaWQgKnBhcnNlZF9yZXN1 bHQsDQogICAgICAgICByZXR1cm47DQogICAgIH0NCg0KLSAgICBpZiAoIXN0cmNtcChyZXMtPnZh bHVlMSwgIjEwIikpDQotICAgICAgICBsaW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURfMTA7DQot ICAgIGVsc2UgaWYgKCFzdHJjbXAocmVzLT52YWx1ZTEsICIxMDAiKSkNCi0gICAgICAgIGxpbmtf c3BlZWQgPSBFVEhfTElOS19TUEVFRF8xMDA7DQotICAgIGVsc2UgaWYgKCFzdHJjbXAocmVzLT52 YWx1ZTEsICIxMDAwIikpDQotICAgICAgICBsaW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURfMTAw MDsNCi0gICAgZWxzZSBpZiAoIXN0cmNtcChyZXMtPnZhbHVlMSwgIjEwMDAwIikpDQotICAgICAg ICBsaW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURfMTBHOw0KLSAgICBlbHNlIGlmICghc3RyY21w KHJlcy0+dmFsdWUxLCAiNDAwMDAiKSkNCi0gICAgICAgIGxpbmtfc3BlZWQgPSBFVEhfTElOS19T UEVFRF80MEc7DQotICAgIGVsc2UgaWYgKCFzdHJjbXAocmVzLT52YWx1ZTEsICJhdXRvIikpDQot ICAgICAgICBsaW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURfQVVUT05FRzsNCi0gICAgZWxzZSB7 DQotICAgICAgICBwcmludGYoIlVua25vd24gcGFyYW1ldGVyXG4iKTsNCisgICAgaWYgKHBhcnNl X2FuZF9jaGVja19zcGVlZF9kdXBsZXgocmVzLT52YWx1ZTEsDQorICAgICAgICAgICAgICAgICAg ICAgICAgcmVzLT52YWx1ZTIsDQorICAgICAgICAgICAgICAgICAgICAgICAgJmxpbmtfc3BlZWQp IDwgIDApDQogICAgICAgICByZXR1cm47DQotICAgIH0NCi0NCi0gICAgaWYgKCFzdHJjbXAocmVz LT52YWx1ZTIsICJoYWxmIikpDQotICAgICAgICBsaW5rX2R1cGxleCA9IEVUSF9MSU5LX0hBTEZf RFVQTEVYOw0KLSAgICBlbHNlIGlmICghc3RyY21wKHJlcy0+dmFsdWUyLCAiZnVsbCIpKQ0KLSAg ICAgICAgbGlua19kdXBsZXggPSBFVEhfTElOS19GVUxMX0RVUExFWDsNCi0gICAgZWxzZSBpZiAo IXN0cmNtcChyZXMtPnZhbHVlMiwgImF1dG8iKSkNCi0gICAgICAgIGxpbmtfZHVwbGV4ID0gRVRI X0xJTktfQVVUT05FR19EVVBMRVg7DQotICAgIGVsc2Ugew0KLSAgICAgICAgcHJpbnRmKCJVbmtu b3duIHBhcmFtZXRlclxuIik7DQotICAgICAgICByZXR1cm47DQotICAgIH0NCg0KICAgICBGT1JF QUNIX1BPUlQocGlkLCBwb3J0cykgew0KLSAgICAgICAgcG9ydHNbcGlkXS5kZXZfY29uZi5saW5r X3NwZWVkID0gbGlua19zcGVlZDsNCi0gICAgICAgIHBvcnRzW3BpZF0uZGV2X2NvbmYubGlua19k dXBsZXggPSBsaW5rX2R1cGxleDsNCisgICAgICAgIHBvcnRzW3BpZF0uZGV2X2NvbmYubGlua19z cGVlZHMgPSBsaW5rX3NwZWVkOw0KICAgICB9DQoNCiAgICAgY21kX3JlY29uZmlnX2RldmljZV9x dWV1ZShSVEVfUE9SVF9BTEwsIDEsIDEpOw0KKw0KKyAgICByZXR1cm47DQogfQ0KDQogY21kbGlu ZV9wYXJzZV90b2tlbl9zdHJpbmdfdCBjbWRfY29uZmlnX3NwZWVkX2FsbF9wb3J0ID0NCkBAIC0x MDAwLDggKzEwMjksNyBAQCBjbWRfY29uZmlnX3NwZWVkX3NwZWNpZmljX3BhcnNlZCh2b2lkICpw YXJzZWRfcmVzdWx0LA0KICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSB2 b2lkICpkYXRhKQ0KIHsNCiAgICAgc3RydWN0IGNtZF9jb25maWdfc3BlZWRfc3BlY2lmaWMgKnJl cyA9IHBhcnNlZF9yZXN1bHQ7DQotICAgIHVpbnQxNl90IGxpbmtfc3BlZWQgPSBFVEhfTElOS19T UEVFRF9BVVRPTkVHOw0KLSAgICB1aW50MTZfdCBsaW5rX2R1cGxleCA9IDA7DQorICAgIHVpbnQz Ml90IGxpbmtfc3BlZWQ7DQoNCiAgICAgaWYgKCFhbGxfcG9ydHNfc3RvcHBlZCgpKSB7DQogICAg ICAgICBwcmludGYoIlBsZWFzZSBzdG9wIGFsbCBwb3J0cyBmaXJzdFxuIik7DQpAQCAtMTAxMSwz NiArMTAzOSwxMiBAQCBjbWRfY29uZmlnX3NwZWVkX3NwZWNpZmljX3BhcnNlZCh2b2lkICpwYXJz ZWRfcmVzdWx0LA0KICAgICBpZiAocG9ydF9pZF9pc19pbnZhbGlkKHJlcy0+aWQsIEVOQUJMRURf V0FSTikpDQogICAgICAgICByZXR1cm47DQoNCi0gICAgaWYgKCFzdHJjbXAocmVzLT52YWx1ZTEs ICIxMCIpKQ0KLSAgICAgICAgbGlua19zcGVlZCA9IEVUSF9MSU5LX1NQRUVEXzEwOw0KLSAgICBl bHNlIGlmICghc3RyY21wKHJlcy0+dmFsdWUxLCAiMTAwIikpDQotICAgICAgICBsaW5rX3NwZWVk ID0gRVRIX0xJTktfU1BFRURfMTAwOw0KLSAgICBlbHNlIGlmICghc3RyY21wKHJlcy0+dmFsdWUx LCAiMTAwMCIpKQ0KLSAgICAgICAgbGlua19zcGVlZCA9IEVUSF9MSU5LX1NQRUVEXzEwMDA7DQot ICAgIGVsc2UgaWYgKCFzdHJjbXAocmVzLT52YWx1ZTEsICIxMDAwMCIpKQ0KLSAgICAgICAgbGlu a19zcGVlZCA9IEVUSF9MSU5LX1NQRUVEXzEwMDAwOw0KLSAgICBlbHNlIGlmICghc3RyY21wKHJl cy0+dmFsdWUxLCAiNDAwMDAiKSkNCi0gICAgICAgIGxpbmtfc3BlZWQgPSBFVEhfTElOS19TUEVF RF80MEc7DQotICAgIGVsc2UgaWYgKCFzdHJjbXAocmVzLT52YWx1ZTEsICJhdXRvIikpDQotICAg ICAgICBsaW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURfQVVUT05FRzsNCi0gICAgZWxzZSB7DQot ICAgICAgICBwcmludGYoIlVua25vd24gcGFyYW1ldGVyXG4iKTsNCisgICAgaWYgKHBhcnNlX2Fu ZF9jaGVja19zcGVlZF9kdXBsZXgocmVzLT52YWx1ZTEsDQorICAgICAgICAgICAgICAgICAgICAg ICAgcmVzLT52YWx1ZTIsDQorICAgICAgICAgICAgICAgICAgICAgICAgJmxpbmtfc3BlZWQpIDwg IDApDQogICAgICAgICByZXR1cm47DQotICAgIH0NCi0NCi0gICAgaWYgKCFzdHJjbXAocmVzLT52 YWx1ZTIsICJoYWxmIikpDQotICAgICAgICBsaW5rX2R1cGxleCA9IEVUSF9MSU5LX0hBTEZfRFVQ TEVYOw0KLSAgICBlbHNlIGlmICghc3RyY21wKHJlcy0+dmFsdWUyLCAiZnVsbCIpKQ0KLSAgICAg ICAgbGlua19kdXBsZXggPSBFVEhfTElOS19GVUxMX0RVUExFWDsNCi0gICAgZWxzZSBpZiAoIXN0 cmNtcChyZXMtPnZhbHVlMiwgImF1dG8iKSkNCi0gICAgICAgIGxpbmtfZHVwbGV4ID0gRVRIX0xJ TktfQVVUT05FR19EVVBMRVg7DQotICAgIGVsc2Ugew0KLSAgICAgICAgcHJpbnRmKCJVbmtub3du IHBhcmFtZXRlclxuIik7DQotICAgICAgICByZXR1cm47DQotICAgIH0NCg0KLSAgICBwb3J0c1ty ZXMtPmlkXS5kZXZfY29uZi5saW5rX3NwZWVkID0gbGlua19zcGVlZDsNCi0gICAgcG9ydHNbcmVz LT5pZF0uZGV2X2NvbmYubGlua19kdXBsZXggPSBsaW5rX2R1cGxleDsNCisgICAgcG9ydHNbcmVz LT5pZF0uZGV2X2NvbmYubGlua19zcGVlZHMgPSBsaW5rX3NwZWVkOw0KDQogICAgIGNtZF9yZWNv bmZpZ19kZXZpY2VfcXVldWUoUlRFX1BPUlRfQUxMLCAxLCAxKTsNCiB9DQpkaWZmIC0tZ2l0IGEv YXBwL3Rlc3QvdmlydHVhbF9wbWQuYyBiL2FwcC90ZXN0L3ZpcnR1YWxfcG1kLmMNCmluZGV4IGE1 MzhjOGEuLjNjNDA0MGIgMTAwNjQ0DQotLS0gYS9hcHAvdGVzdC92aXJ0dWFsX3BtZC5jDQorKysg Yi9hcHAvdGVzdC92aXJ0dWFsX3BtZC5jDQpAQCAtNjAzLDggKzYwMyw4IEBAIHZpcnR1YWxfZXRo ZGV2X2NyZWF0ZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgZXRoZXJfYWRkciAqbWFjX2FkZHIs DQoNCiAgICAgVEFJTFFfSU5JVCgmKGV0aF9kZXYtPmxpbmtfaW50cl9jYnMpKTsNCg0KLSAgICBl dGhfZGV2LT5kYXRhLT5kZXZfbGluay5saW5rX3N0YXR1cyA9IDA7DQotICAgIGV0aF9kZXYtPmRh dGEtPmRldl9saW5rLmxpbmtfc3BlZWQgPSBFVEhfTElOS19TUEVFRF8xMDAwMDsNCisgICAgZXRo X2Rldi0+ZGF0YS0+ZGV2X2xpbmsubGlua19zdGF0dXMgPSBFVEhfTElOS19ET1dOOw0KKyAgICBl dGhfZGV2LT5kYXRhLT5kZXZfbGluay5saW5rX3NwZWVkID0gRVRIX1NQRUVEX05VTV8xMEc7DQog ICAgIGV0aF9kZXYtPmRhdGEtPmRldl9saW5rLmxpbmtfZHVwbGV4ID0gRVRIX0xJTktfRlVMTF9E VVBMRVg7DQoNCiAgICAgZXRoX2Rldi0+ZGF0YS0+bWFjX2FkZHJzID0gcnRlX3ptYWxsb2MobmFt ZSwgRVRIRVJfQUREUl9MRU4sIDApOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2FmX3BhY2tl dC9ydGVfZXRoX2FmX3BhY2tldC5jIGIvZHJpdmVycy9uZXQvYWZfcGFja2V0L3J0ZV9ldGhfYWZf cGFja2V0LmMNCmluZGV4IGJkZDk2MjguLmE1ZDY4OWQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25l dC9hZl9wYWNrZXQvcnRlX2V0aF9hZl9wYWNrZXQuYw0KKysrIGIvZHJpdmVycy9uZXQvYWZfcGFj a2V0L3J0ZV9ldGhfYWZfcGFja2V0LmMNCkBAIC0xMTUsOSArMTE1LDEwIEBAIHN0YXRpYyBjb25z dCBjaGFyICp2YWxpZF9hcmd1bWVudHNbXSA9IHsNCiBzdGF0aWMgY29uc3QgY2hhciAqZHJpdmVy bmFtZSA9ICJBRl9QQUNLRVQgUE1EIjsNCg0KIHN0YXRpYyBzdHJ1Y3QgcnRlX2V0aF9saW5rIHBt ZF9saW5rID0gew0KLSAgICAubGlua19zcGVlZCA9IDEwMDAwLA0KKyAgICAubGlua19zcGVlZCA9 IEVUSF9TUEVFRF9OVU1fMTBHLA0KICAgICAubGlua19kdXBsZXggPSBFVEhfTElOS19GVUxMX0RV UExFWCwNCi0gICAgLmxpbmtfc3RhdHVzID0gMA0KKyAgICAubGlua19zdGF0dXMgPSBFVEhfTElO S19ET1dOLA0KKyAgICAubGlua19hdXRvbmVnID0gRVRIX0xJTktfU1BFRURfTkVHDQogfTsNCg0K IHN0YXRpYyB1aW50MTZfdA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0 aF9ib25kXzgwMjNhZC5jIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfODAyM2Fk LmMNCmluZGV4IGMwZjBiOTkuLmYzNzVmOTUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9ib25k aW5nL3J0ZV9ldGhfYm9uZF84MDIzYWQuYw0KKysrIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVf ZXRoX2JvbmRfODAyM2FkLmMNCkBAIC03MDgsMjUgKzcwOCwyNSBAQCBsaW5rX3NwZWVkX2tleSh1 aW50MTZfdCBzcGVlZCkgew0KICAgICB1aW50MTZfdCBrZXlfc3BlZWQ7DQoNCiAgICAgc3dpdGNo IChzcGVlZCkgew0KLSAgICBjYXNlIEVUSF9MSU5LX1NQRUVEX0FVVE9ORUc6DQorICAgIGNhc2Ug RVRIX1NQRUVEX05VTV9OT05FOg0KICAgICAgICAga2V5X3NwZWVkID0gMHgwMDsNCiAgICAgICAg IGJyZWFrOw0KLSAgICBjYXNlIEVUSF9MSU5LX1NQRUVEXzEwOg0KKyAgICBjYXNlIEVUSF9TUEVF RF9OVU1fMTBNOg0KICAgICAgICAga2V5X3NwZWVkID0gQk9ORF9MSU5LX1NQRUVEX0tFWV8xME07 DQogICAgICAgICBicmVhazsNCi0gICAgY2FzZSBFVEhfTElOS19TUEVFRF8xMDA6DQorICAgIGNh c2UgRVRIX1NQRUVEX05VTV8xMDBNOg0KICAgICAgICAga2V5X3NwZWVkID0gQk9ORF9MSU5LX1NQ RUVEX0tFWV8xMDBNOw0KICAgICAgICAgYnJlYWs7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURf MTAwMDoNCisgICAgY2FzZSBFVEhfU1BFRURfTlVNXzFHOg0KICAgICAgICAga2V5X3NwZWVkID0g Qk9ORF9MSU5LX1NQRUVEX0tFWV8xMDAwTTsNCiAgICAgICAgIGJyZWFrOw0KLSAgICBjYXNlIEVU SF9MSU5LX1NQRUVEXzEwRzoNCisgICAgY2FzZSBFVEhfU1BFRURfTlVNXzEwRzoNCiAgICAgICAg IGtleV9zcGVlZCA9IEJPTkRfTElOS19TUEVFRF9LRVlfMTBHOw0KICAgICAgICAgYnJlYWs7DQot ICAgIGNhc2UgRVRIX0xJTktfU1BFRURfMjBHOg0KKyAgICBjYXNlIEVUSF9TUEVFRF9OVU1fMjBH Og0KICAgICAgICAga2V5X3NwZWVkID0gQk9ORF9MSU5LX1NQRUVEX0tFWV8yMEc7DQogICAgICAg ICBicmVhazsNCi0gICAgY2FzZSBFVEhfTElOS19TUEVFRF80MEc6DQorICAgIGNhc2UgRVRIX1NQ RUVEX05VTV80MEc6DQogICAgICAgICBrZXlfc3BlZWQgPSBCT05EX0xJTktfU1BFRURfS0VZXzQw RzsNCiAgICAgICAgIGJyZWFrOw0KICAgICBkZWZhdWx0Og0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2N4Z2JlL2Jhc2UvdDRfaHcuYyBiL2RyaXZlcnMvbmV0L2N4Z2JlL2Jhc2UvdDRfaHcuYw0K aW5kZXggODg0ZDJjZi4uNzlhZjgwNiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2N4Z2JlL2Jh c2UvdDRfaHcuYw0KKysrIGIvZHJpdmVycy9uZXQvY3hnYmUvYmFzZS90NF9ody5jDQpAQCAtMjE1 OSwxMyArMjE1OSwxMyBAQCBpbnQgdDRfaGFuZGxlX2Z3X3JwbChzdHJ1Y3QgYWRhcHRlciAqYWRh cCwgY29uc3QgX19iZTY0ICpycGwpDQogICAgICAgICBpZiAoc3RhdCAmIEZfRldfUE9SVF9DTURf VFhQQVVTRSkNCiAgICAgICAgICAgICBmYyB8PSBQQVVTRV9UWDsNCiAgICAgICAgIGlmIChzdGF0 ICYgVl9GV19QT1JUX0NNRF9MU1BFRUQoRldfUE9SVF9DQVBfU1BFRURfMTAwTSkpDQotICAgICAg ICAgICAgc3BlZWQgPSBFVEhfTElOS19TUEVFRF8xMDA7DQorICAgICAgICAgICAgc3BlZWQgPSBF VEhfU1BFRURfTlVNXzEwME07DQogICAgICAgICBlbHNlIGlmIChzdGF0ICYgVl9GV19QT1JUX0NN RF9MU1BFRUQoRldfUE9SVF9DQVBfU1BFRURfMUcpKQ0KLSAgICAgICAgICAgIHNwZWVkID0gRVRI X0xJTktfU1BFRURfMTAwMDsNCisgICAgICAgICAgICBzcGVlZCA9IEVUSF9TUEVFRF9OVU1fMUc7 DQogICAgICAgICBlbHNlIGlmIChzdGF0ICYgVl9GV19QT1JUX0NNRF9MU1BFRUQoRldfUE9SVF9D QVBfU1BFRURfMTBHKSkNCi0gICAgICAgICAgICBzcGVlZCA9IEVUSF9MSU5LX1NQRUVEXzEwMDAw Ow0KKyAgICAgICAgICAgIHNwZWVkID0gRVRIX1NQRUVEX05VTV8xMEc7DQogICAgICAgICBlbHNl IGlmIChzdGF0ICYgVl9GV19QT1JUX0NNRF9MU1BFRUQoRldfUE9SVF9DQVBfU1BFRURfNDBHKSkN Ci0gICAgICAgICAgICBzcGVlZCA9IEVUSF9MSU5LX1NQRUVEXzQwRzsNCisgICAgICAgICAgICBz cGVlZCA9IEVUSF9TUEVFRF9OVU1fNDBHOw0KDQogICAgICAgICBmb3JfZWFjaF9wb3J0KGFkYXAs IGkpIHsNCiAgICAgICAgICAgICBwaSA9IGFkYXAycGluZm8oYWRhcCwgaSk7DQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF84MDAwM2VzMmxhbi5jIGIvZHJpdmVycy9u ZXQvZTEwMDAvYmFzZS9lMTAwMF84MDAwM2VzMmxhbi5jDQppbmRleCA3MjY5MmQ5Li44Y2E2NmM0 IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF84MDAwM2VzMmxhbi5j DQorKysgYi9kcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwXzgwMDAzZXMybGFuLmMNCkBAIC01 Miw3ICs1Miw3IEBAIFNUQVRJQyBzMzIgIGUxMDAwX3dyaXRlX252bV84MDAwM2VzMmxhbihzdHJ1 Y3QgZTEwMDBfaHcgKmh3LCB1MTYgb2Zmc2V0LA0KIFNUQVRJQyBzMzIgIGUxMDAwX2dldF9jZmdf ZG9uZV84MDAwM2VzMmxhbihzdHJ1Y3QgZTEwMDBfaHcgKmh3KTsNCiBTVEFUSUMgczMyICBlMTAw MF9waHlfZm9yY2Vfc3BlZWRfZHVwbGV4XzgwMDAzZXMybGFuKHN0cnVjdCBlMTAwMF9odyAqaHcp Ow0KIFNUQVRJQyBzMzIgIGUxMDAwX2dldF9jYWJsZV9sZW5ndGhfODAwMDNlczJsYW4oc3RydWN0 IGUxMDAwX2h3ICpodyk7DQotU1RBVElDIHMzMiAgZTEwMDBfZ2V0X2xpbmtfdXBfaW5mb184MDAw M2VzMmxhbihzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MTYgKnNwZWVkLA0KK1NUQVRJQyBzMzIgIGUx MDAwX2dldF9saW5rX3VwX2luZm9fODAwMDNlczJsYW4oc3RydWN0IGUxMDAwX2h3ICpodywgdTMy ICpzcGVlZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MTYgKmR1cGxleCk7DQogU1RB VElDIHMzMiAgZTEwMDBfcmVzZXRfaHdfODAwMDNlczJsYW4oc3RydWN0IGUxMDAwX2h3ICpodyk7 DQogU1RBVElDIHMzMiAgZTEwMDBfaW5pdF9od184MDAwM2VzMmxhbihzdHJ1Y3QgZTEwMDBfaHcg Kmh3KTsNCkBAIC03ODksNyArNzg5LDcgQEAgU1RBVElDIHMzMiBlMTAwMF9nZXRfY2FibGVfbGVu Z3RoXzgwMDAzZXMybGFuKHN0cnVjdCBlMTAwMF9odyAqaHcpDQogICoNCiAgKiAgUmV0cmlldmUg dGhlIGN1cnJlbnQgc3BlZWQgYW5kIGR1cGxleCBjb25maWd1cmF0aW9uLg0KICAqKi8NCi1TVEFU SUMgczMyIGUxMDAwX2dldF9saW5rX3VwX2luZm9fODAwMDNlczJsYW4oc3RydWN0IGUxMDAwX2h3 ICpodywgdTE2ICpzcGVlZCwNCitTVEFUSUMgczMyIGUxMDAwX2dldF9saW5rX3VwX2luZm9fODAw MDNlczJsYW4oc3RydWN0IGUxMDAwX2h3ICpodywgdTMyICpzcGVlZCwNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIHUxNiAqZHVwbGV4KQ0KIHsNCiAgICAgczMyIHJldF92YWw7DQpAQCAtMTIz Niw3ICsxMjM2LDcgQEAgU1RBVElDIHMzMiBlMTAwMF9zZXR1cF9jb3BwZXJfbGlua184MDAwM2Vz MmxhbihzdHJ1Y3QgZTEwMDBfaHcgKmh3KQ0KIFNUQVRJQyBzMzIgZTEwMDBfY2ZnX29uX2xpbmtf dXBfODAwMDNlczJsYW4oc3RydWN0IGUxMDAwX2h3ICpodykNCiB7DQogICAgIHMzMiByZXRfdmFs ID0gRTEwMDBfU1VDQ0VTUzsNCi0gICAgdTE2IHNwZWVkOw0KKyAgICB1MzIgc3BlZWQ7DQogICAg IHUxNiBkdXBsZXg7DQoNCiAgICAgREVCVUdGVU5DKCJlMTAwMF9jb25maWd1cmVfb25fbGlua191 cCIpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfODI1NDEuYyBi L2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfODI1NDEuYw0KaW5kZXggOTUyYWVhMi4uNzA3 YjMxNyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfODI1NDEuYw0K KysrIGIvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF84MjU0MS5jDQpAQCAtNDcsNyArNDcs NyBAQCBTVEFUSUMgczMyICBlMTAwMF9pbml0X252bV9wYXJhbXNfODI1NDEoc3RydWN0IGUxMDAw X2h3ICpodyk7DQogU1RBVElDIHMzMiAgZTEwMDBfaW5pdF9tYWNfcGFyYW1zXzgyNTQxKHN0cnVj dCBlMTAwMF9odyAqaHcpOw0KIFNUQVRJQyBzMzIgIGUxMDAwX3Jlc2V0X2h3XzgyNTQxKHN0cnVj dCBlMTAwMF9odyAqaHcpOw0KIFNUQVRJQyBzMzIgIGUxMDAwX2luaXRfaHdfODI1NDEoc3RydWN0 IGUxMDAwX2h3ICpodyk7DQotU1RBVElDIHMzMiAgZTEwMDBfZ2V0X2xpbmtfdXBfaW5mb184MjU0 MShzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MTYgKnNwZWVkLA0KK1NUQVRJQyBzMzIgIGUxMDAwX2dl dF9saW5rX3VwX2luZm9fODI1NDEoc3RydWN0IGUxMDAwX2h3ICpodywgdTMyICpzcGVlZCwNCiAg ICAgICAgICAgICAgICAgICAgICB1MTYgKmR1cGxleCk7DQogU1RBVElDIHMzMiAgZTEwMDBfcGh5 X2h3X3Jlc2V0XzgyNTQxKHN0cnVjdCBlMTAwMF9odyAqaHcpOw0KIFNUQVRJQyBzMzIgIGUxMDAw X3NldHVwX2NvcHBlcl9saW5rXzgyNTQxKHN0cnVjdCBlMTAwMF9odyAqaHcpOw0KQEAgLTQzNyw3 ICs0MzcsNyBAQCBvdXQ6DQogICoNCiAgKiBSZXRyaWV2ZSB0aGUgY3VycmVudCBzcGVlZCBhbmQg ZHVwbGV4IGNvbmZpZ3VyYXRpb24uDQogICoqLw0KLVNUQVRJQyBzMzIgZTEwMDBfZ2V0X2xpbmtf dXBfaW5mb184MjU0MShzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MTYgKnNwZWVkLA0KK1NUQVRJQyBz MzIgZTEwMDBfZ2V0X2xpbmtfdXBfaW5mb184MjU0MShzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MzIg KnNwZWVkLA0KICAgICAgICAgICAgICAgICAgICAgdTE2ICpkdXBsZXgpDQogew0KICAgICBzdHJ1 Y3QgZTEwMDBfcGh5X2luZm8gKnBoeSA9ICZody0+cGh5Ow0KQEAgLTY2Nyw4ICs2NjcsOCBAQCBT VEFUSUMgczMyIGUxMDAwX2NvbmZpZ19kc3BfYWZ0ZXJfbGlua19jaGFuZ2VfODI1NDEoc3RydWN0 IGUxMDAwX2h3ICpodywNCiAgICAgc3RydWN0IGUxMDAwX3BoeV9pbmZvICpwaHkgPSAmaHctPnBo eTsNCiAgICAgc3RydWN0IGUxMDAwX2Rldl9zcGVjXzgyNTQxICpkZXZfc3BlYyA9ICZody0+ZGV2 X3NwZWMuXzgyNTQxOw0KICAgICBzMzIgcmV0X3ZhbDsNCi0gICAgdTMyIGlkbGVfZXJycyA9IDA7 DQotICAgIHUxNiBwaHlfZGF0YSwgcGh5X3NhdmVkX2RhdGEsIHNwZWVkLCBkdXBsZXgsIGk7DQor ICAgIHUzMiBpZGxlX2VycnMgPSAwLCBzcGVlZDsNCisgICAgdTE2IHBoeV9kYXRhLCBwaHlfc2F2 ZWRfZGF0YSwgZHVwbGV4LCBpOw0KICAgICB1MTYgZmZlX2lkbGVfZXJyX3RpbWVvdXQgPSBGRkVf SURMRV9FUlJfQ09VTlRfVElNRU9VVF8yMDsNCiAgICAgdTE2IGRzcF9yZWdfYXJyYXlbSUdQMDFF MTAwMF9QSFlfQ0hBTk5FTF9OVU1dID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgIElHUDAx RTEwMDBfUEhZX0FHQ19QQVJBTV9BLA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2UxMDAwL2Jh c2UvZTEwMDBfODI1NDMuYyBiL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfODI1NDMuYw0K aW5kZXggMzYzMzViYS4uOWVmM2Q4MCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2UxMDAwL2Jh c2UvZTEwMDBfODI1NDMuYw0KKysrIGIvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF84MjU0 My5jDQpAQCAtMTE5Miw5ICsxMTkyLDkgQEAgb3V0Og0KIFNUQVRJQyBzMzIgZTEwMDBfY2hlY2tf Zm9yX2NvcHBlcl9saW5rXzgyNTQzKHN0cnVjdCBlMTAwMF9odyAqaHcpDQogew0KICAgICBzdHJ1 Y3QgZTEwMDBfbWFjX2luZm8gKm1hYyA9ICZody0+bWFjOw0KLSAgICB1MzIgaWNyLCByY3RsOw0K KyAgICB1MzIgaWNyLCByY3RsLCBzcGVlZDsNCiAgICAgczMyIHJldF92YWw7DQotICAgIHUxNiBz cGVlZCwgZHVwbGV4Ow0KKyAgICB1MTYgZHVwbGV4Ow0KICAgICBib29sIGxpbms7DQoNCiAgICAg REVCVUdGVU5DKCJlMTAwMF9jaGVja19mb3JfY29wcGVyX2xpbmtfODI1NDMiKTsNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwXzgyNTc1LmMgYi9kcml2ZXJzL25ldC9l MTAwMC9iYXNlL2UxMDAwXzgyNTc1LmMNCmluZGV4IDI1ZmE2NzIuLjM4NmYwNTggMTAwNjQ0DQot LS0gYS9kcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwXzgyNTc1LmMNCisrKyBiL2RyaXZlcnMv bmV0L2UxMDAwL2Jhc2UvZTEwMDBfODI1NzUuYw0KQEAgLTUzLDcgKzUzLDcgQEAgU1RBVElDIHZv aWQgZTEwMDBfcmVsZWFzZV9udm1fODI1NzUoc3RydWN0IGUxMDAwX2h3ICpodyk7DQogU1RBVElD IHMzMiAgZTEwMDBfY2hlY2tfZm9yX2xpbmtfODI1NzUoc3RydWN0IGUxMDAwX2h3ICpodyk7DQog U1RBVElDIHMzMiAgZTEwMDBfY2hlY2tfZm9yX2xpbmtfbWVkaWFfc3dhcChzdHJ1Y3QgZTEwMDBf aHcgKmh3KTsNCiBTVEFUSUMgczMyICBlMTAwMF9nZXRfY2ZnX2RvbmVfODI1NzUoc3RydWN0IGUx MDAwX2h3ICpodyk7DQotU1RBVElDIHMzMiAgZTEwMDBfZ2V0X2xpbmtfdXBfaW5mb184MjU3NShz dHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MTYgKnNwZWVkLA0KK1NUQVRJQyBzMzIgIGUxMDAwX2dldF9s aW5rX3VwX2luZm9fODI1NzUoc3RydWN0IGUxMDAwX2h3ICpodywgdTMyICpzcGVlZCwNCiAgICAg ICAgICAgICAgICAgICAgICB1MTYgKmR1cGxleCk7DQogU1RBVElDIHMzMiAgZTEwMDBfcGh5X2h3 X3Jlc2V0X3NnbWlpXzgyNTc1KHN0cnVjdCBlMTAwMF9odyAqaHcpOw0KIFNUQVRJQyBzMzIgIGUx MDAwX3JlYWRfcGh5X3JlZ19zZ21paV84MjU3NShzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MzIgb2Zm c2V0LA0KQEAgLTgwLDcgKzgwLDcgQEAgU1RBVElDIHMzMiAgZTEwMDBfd3JpdGVfcGh5X3JlZ19z Z21paV84MjU3NShzdHJ1Y3QgZTEwMDBfaHcgKmh3LA0KIFNUQVRJQyB2b2lkIGUxMDAwX2NsZWFy X2h3X2NudHJzXzgyNTc1KHN0cnVjdCBlMTAwMF9odyAqaHcpOw0KIFNUQVRJQyBzMzIgIGUxMDAw X2FjcXVpcmVfc3dmd19zeW5jXzgyNTc1KHN0cnVjdCBlMTAwMF9odyAqaHcsIHUxNiBtYXNrKTsN CiBTVEFUSUMgczMyICBlMTAwMF9nZXRfcGNzX3NwZWVkX2FuZF9kdXBsZXhfODI1NzUoc3RydWN0 IGUxMDAwX2h3ICpodywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgdTE2ICpzcGVlZCwgdTE2 ICpkdXBsZXgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgKnNwZWVkLCB1MTYgKmR1 cGxleCk7DQogU1RBVElDIHMzMiAgZTEwMDBfZ2V0X3BoeV9pZF84MjU3NShzdHJ1Y3QgZTEwMDBf aHcgKmh3KTsNCiBTVEFUSUMgdm9pZCBlMTAwMF9yZWxlYXNlX3N3Zndfc3luY184MjU3NShzdHJ1 Y3QgZTEwMDBfaHcgKmh3LCB1MTYgbWFzayk7DQogU1RBVElDIGJvb2wgZTEwMDBfc2dtaWlfYWN0 aXZlXzgyNTc1KHN0cnVjdCBlMTAwMF9odyAqaHcpOw0KQEAgLTExNjUsNyArMTE2NSw3IEBAIFNU QVRJQyBzMzIgZTEwMDBfZ2V0X2NmZ19kb25lXzgyNTc1KHN0cnVjdCBlMTAwMF9odyAqaHcpDQog ICogIGludGVyZmFjZSwgdXNlIFBDUyB0byByZXRyaWV2ZSB0aGUgbGluayBzcGVlZCBhbmQgZHVw bGV4IGluZm9ybWF0aW9uLg0KICAqICBPdGhlcndpc2UsIHVzZSB0aGUgZ2VuZXJpYyBmdW5jdGlv biB0byBnZXQgdGhlIGxpbmsgc3BlZWQgYW5kIGR1cGxleCBpbmZvLg0KICAqKi8NCi1TVEFUSUMg czMyIGUxMDAwX2dldF9saW5rX3VwX2luZm9fODI1NzUoc3RydWN0IGUxMDAwX2h3ICpodywgdTE2 ICpzcGVlZCwNCitTVEFUSUMgczMyIGUxMDAwX2dldF9saW5rX3VwX2luZm9fODI1NzUoc3RydWN0 IGUxMDAwX2h3ICpodywgdTMyICpzcGVlZCwNCiAgICAgICAgICAgICAgICAgICAgIHUxNiAqZHVw bGV4KQ0KIHsNCiAgICAgczMyIHJldF92YWw7DQpAQCAtMTE5Miw3ICsxMTkyLDggQEAgU1RBVElD IHMzMiBlMTAwMF9nZXRfbGlua191cF9pbmZvXzgyNTc1KHN0cnVjdCBlMTAwMF9odyAqaHcsIHUx NiAqc3BlZWQsDQogU1RBVElDIHMzMiBlMTAwMF9jaGVja19mb3JfbGlua184MjU3NShzdHJ1Y3Qg ZTEwMDBfaHcgKmh3KQ0KIHsNCiAgICAgczMyIHJldF92YWw7DQotICAgIHUxNiBzcGVlZCwgZHVw bGV4Ow0KKyAgICB1MzIgc3BlZWQ7DQorICAgIHUxNiBkdXBsZXg7DQoNCiAgICAgREVCVUdGVU5D KCJlMTAwMF9jaGVja19mb3JfbGlua184MjU3NSIpOw0KDQpAQCAtMTMxNiw3ICsxMzE3LDcgQEAg U1RBVElDIHZvaWQgZTEwMDBfcG93ZXJfdXBfc2VyZGVzX2xpbmtfODI1NzUoc3RydWN0IGUxMDAw X2h3ICpodykNCiAgKiAgZHVwbGV4LCB0aGVuIHN0b3JlIHRoZSB2YWx1ZXMgaW4gdGhlIHBvaW50 ZXJzIHByb3ZpZGVkLg0KICAqKi8NCiBTVEFUSUMgczMyIGUxMDAwX2dldF9wY3Nfc3BlZWRfYW5k X2R1cGxleF84MjU3NShzdHJ1Y3QgZTEwMDBfaHcgKmh3LA0KLSAgICAgICAgICAgICAgICAgICAg ICAgIHUxNiAqc3BlZWQsIHUxNiAqZHVwbGV4KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHUz MiAqc3BlZWQsIHUxNiAqZHVwbGV4KQ0KIHsNCiAgICAgc3RydWN0IGUxMDAwX21hY19pbmZvICpt YWMgPSAmaHctPm1hYzsNCiAgICAgdTMyIHBjczsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l MTAwMC9iYXNlL2UxMDAwX2FwaS5jIGIvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF9hcGku Yw0KaW5kZXggYTA2NDU2NS4uMDhlMTAzYSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2UxMDAw L2Jhc2UvZTEwMDBfYXBpLmMNCisrKyBiL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfYXBp LmMNCkBAIC02NjksNyArNjY5LDcgQEAgczMyIGUxMDAwX3NldHVwX2xpbmsoc3RydWN0IGUxMDAw X2h3ICpodykNCiAgKiAgdmFyaWFibGVzIHBhc3NlZCBpbi4gVGhpcyBpcyBhIGZ1bmN0aW9uIHBv aW50ZXIgZW50cnkgcG9pbnQgY2FsbGVkDQogICogIGJ5IGRyaXZlcnMuDQogICoqLw0KLXMzMiBl MTAwMF9nZXRfc3BlZWRfYW5kX2R1cGxleChzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MTYgKnNwZWVk LCB1MTYgKmR1cGxleCkNCitzMzIgZTEwMDBfZ2V0X3NwZWVkX2FuZF9kdXBsZXgoc3RydWN0IGUx MDAwX2h3ICpodywgdTMyICpzcGVlZCwgdTE2ICpkdXBsZXgpDQogew0KICAgICBpZiAoaHctPm1h Yy5vcHMuZ2V0X2xpbmtfdXBfaW5mbykNCiAgICAgICAgIHJldHVybiBody0+bWFjLm9wcy5nZXRf bGlua191cF9pbmZvKGh3LCBzcGVlZCwgZHVwbGV4KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9lMTAwMC9iYXNlL2UxMDAwX2FwaS5oIGIvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF9h cGkuaA0KaW5kZXggMDJiMTZkYS4uMzk1NzllMCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2Ux MDAwL2Jhc2UvZTEwMDBfYXBpLmgNCisrKyBiL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBf YXBpLmgNCkBAIC02NSw3ICs2NSw3IEBAIHMzMiBlMTAwMF9jaGVja19mb3JfbGluayhzdHJ1Y3Qg ZTEwMDBfaHcgKmh3KTsNCiBzMzIgZTEwMDBfcmVzZXRfaHcoc3RydWN0IGUxMDAwX2h3ICpodyk7 DQogczMyIGUxMDAwX2luaXRfaHcoc3RydWN0IGUxMDAwX2h3ICpodyk7DQogczMyIGUxMDAwX3Nl dHVwX2xpbmsoc3RydWN0IGUxMDAwX2h3ICpodyk7DQotczMyIGUxMDAwX2dldF9zcGVlZF9hbmRf ZHVwbGV4KHN0cnVjdCBlMTAwMF9odyAqaHcsIHUxNiAqc3BlZWQsIHUxNiAqZHVwbGV4KTsNCitz MzIgZTEwMDBfZ2V0X3NwZWVkX2FuZF9kdXBsZXgoc3RydWN0IGUxMDAwX2h3ICpodywgdTMyICpz cGVlZCwgdTE2ICpkdXBsZXgpOw0KIHMzMiBlMTAwMF9kaXNhYmxlX3BjaWVfbWFzdGVyKHN0cnVj dCBlMTAwMF9odyAqaHcpOw0KIHZvaWQgZTEwMDBfY29uZmlnX2NvbGxpc2lvbl9kaXN0KHN0cnVj dCBlMTAwMF9odyAqaHcpOw0KIHZvaWQgZTEwMDBfcmFyX3NldChzdHJ1Y3QgZTEwMDBfaHcgKmh3 LCB1OCAqYWRkciwgdTMyIGluZGV4KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9lMTAwMC9i YXNlL2UxMDAwX2RlZmluZXMuaCBiL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfZGVmaW5l cy5oDQppbmRleCAyNzhjNTA3Li4yMGM0MTUzIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvZTEw MDAvYmFzZS9lMTAwMF9kZWZpbmVzLmgNCisrKyBiL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEw MDBfZGVmaW5lcy5oDQpAQCAtMzQ3LDggKzM0Nyw4IEBAIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN QUdFLg0KICNkZWZpbmUgU1BFRURfMTAwICAgIDEwMA0KICNkZWZpbmUgU1BFRURfMTAwMCAgICAx MDAwDQogI2RlZmluZSBTUEVFRF8yNTAwICAgIDI1MDANCi0jZGVmaW5lIEhBTEZfRFVQTEVYICAg IDENCi0jZGVmaW5lIEZVTExfRFVQTEVYICAgIDINCisjZGVmaW5lIEhBTEZfRFVQTEVYICAgIDAN CisjZGVmaW5lIEZVTExfRFVQTEVYICAgIDENCg0KICNkZWZpbmUgUEhZX0ZPUkNFX1RJTUUgICAg MjANCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfaHcuaCBiL2Ry aXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfaHcuaA0KaW5kZXggNGRkOTJhMy4uYjQ4YTc1OSAx MDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfaHcuaA0KKysrIGIvZHJp dmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF9ody5oDQpAQCAtNjgyLDcgKzY4Miw3IEBAIHN0cnVj dCBlMTAwMF9tYWNfb3BlcmF0aW9ucyB7DQogICAgIHZvaWQgKCpjbGVhcl92ZnRhKShzdHJ1Y3Qg ZTEwMDBfaHcgKik7DQogICAgIHMzMiAgKCpnZXRfYnVzX2luZm8pKHN0cnVjdCBlMTAwMF9odyAq KTsNCiAgICAgdm9pZCAoKnNldF9sYW5faWQpKHN0cnVjdCBlMTAwMF9odyAqKTsNCi0gICAgczMy ICAoKmdldF9saW5rX3VwX2luZm8pKHN0cnVjdCBlMTAwMF9odyAqLCB1MTYgKiwgdTE2ICopOw0K KyAgICBzMzIgICgqZ2V0X2xpbmtfdXBfaW5mbykoc3RydWN0IGUxMDAwX2h3ICosIHUzMiAqLCB1 MTYgKik7DQogICAgIHMzMiAgKCpsZWRfb24pKHN0cnVjdCBlMTAwMF9odyAqKTsNCiAgICAgczMy ICAoKmxlZF9vZmYpKHN0cnVjdCBlMTAwMF9odyAqKTsNCiAgICAgdm9pZCAoKnVwZGF0ZV9tY19h ZGRyX2xpc3QpKHN0cnVjdCBlMTAwMF9odyAqLCB1OCAqLCB1MzIpOw0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfaWNoOGxhbi5jIGIvZHJpdmVycy9uZXQvZTEwMDAv YmFzZS9lMTAwMF9pY2g4bGFuLmMNCmluZGV4IDNiMTYyN2IuLjdmZTk5NTUgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX2ljaDhsYW4uYw0KKysrIGIvZHJpdmVycy9u ZXQvZTEwMDAvYmFzZS9lMTAwMF9pY2g4bGFuLmMNCkBAIC0xMDQsNyArMTA0LDcgQEAgU1RBVElD IHMzMiAgZTEwMDBfc2V0dXBfbGlua19pY2g4bGFuKHN0cnVjdCBlMTAwMF9odyAqaHcpOw0KIFNU QVRJQyBzMzIgIGUxMDAwX3NldHVwX2NvcHBlcl9saW5rX2ljaDhsYW4oc3RydWN0IGUxMDAwX2h3 ICpodyk7DQogU1RBVElDIHMzMiAgZTEwMDBfc2V0dXBfY29wcGVyX2xpbmtfcGNoX2xwdChzdHJ1 Y3QgZTEwMDBfaHcgKmh3KTsNCiBTVEFUSUMgczMyICBlMTAwMF9nZXRfbGlua191cF9pbmZvX2lj aDhsYW4oc3RydWN0IGUxMDAwX2h3ICpodywNCi0gICAgICAgICAgICAgICAgICAgICAgIHUxNiAq c3BlZWQsIHUxNiAqZHVwbGV4KTsNCisgICAgICAgICAgICAgICAgICAgICAgIHUzMiAqc3BlZWQs IHUxNiAqZHVwbGV4KTsNCiBTVEFUSUMgczMyICBlMTAwMF9jbGVhbnVwX2xlZF9pY2g4bGFuKHN0 cnVjdCBlMTAwMF9odyAqaHcpOw0KIFNUQVRJQyBzMzIgIGUxMDAwX2xlZF9vbl9pY2g4bGFuKHN0 cnVjdCBlMTAwMF9odyAqaHcpOw0KIFNUQVRJQyBzMzIgIGUxMDAwX2xlZF9vZmZfaWNoOGxhbihz dHJ1Y3QgZTEwMDBfaHcgKmh3KTsNCkBAIC00NTYxLDcgKzQ1NjEsNyBAQCBTVEFUSUMgczMyIGUx MDAwX3NldHVwX2NvcHBlcl9saW5rX3BjaF9scHQoc3RydWN0IGUxMDAwX2h3ICpodykNCiAgKiAg aW5mb3JtYXRpb24gYW5kIHRoZW4gY2FsbHMgdGhlIEt1bWVyYW4gbG9jayBsb3NzIHdvcmthcm91 bmQgZm9yIGxpbmtzIGF0DQogICogIGdpZ2FiaXQgc3BlZWRzLg0KICAqKi8NCi1TVEFUSUMgczMy IGUxMDAwX2dldF9saW5rX3VwX2luZm9faWNoOGxhbihzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MTYg KnNwZWVkLA0KK1NUQVRJQyBzMzIgZTEwMDBfZ2V0X2xpbmtfdXBfaW5mb19pY2g4bGFuKHN0cnVj dCBlMTAwMF9odyAqaHcsIHUzMiAqc3BlZWQsDQogICAgICAgICAgICAgICAgICAgICAgIHUxNiAq ZHVwbGV4KQ0KIHsNCiAgICAgczMyIHJldF92YWw7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv ZTEwMDAvYmFzZS9lMTAwMF9tYWMuYyBiL2RyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfbWFj LmMNCmluZGV4IGM4ZWMwNDkuLjY3MDNhMTcgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9lMTAw MC9iYXNlL2UxMDAwX21hYy5jDQorKysgYi9kcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX21h Yy5jDQpAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQgZTEwMDBfbnVsbF9tYWNfZ2VuZXJpYyhzdHJ1 Y3QgZTEwMDBfaHcgRTEwMDBfVU5VU0VEQVJHICpodykNCiAgKiAgQGh3OiBwb2ludGVyIHRvIHRo ZSBIVyBzdHJ1Y3R1cmUNCiAgKiovDQogczMyIGUxMDAwX251bGxfbGlua19pbmZvKHN0cnVjdCBl MTAwMF9odyBFMTAwMF9VTlVTRURBUkcgKmh3LA0KLSAgICAgICAgICAgICB1MTYgRTEwMDBfVU5V U0VEQVJHICpzLCB1MTYgRTEwMDBfVU5VU0VEQVJHICpkKQ0KKyAgICAgICAgICAgICB1MzIgRTEw MDBfVU5VU0VEQVJHICpzLCB1MTYgRTEwMDBfVU5VU0VEQVJHICpkKQ0KIHsNCiAgICAgREVCVUdG VU5DKCJlMTAwMF9udWxsX2xpbmtfaW5mbyIpOw0KICAgICBVTlJFRkVSRU5DRURfM1BBUkFNRVRF UihodywgcywgZCk7DQpAQCAtMTM0Niw3ICsxMzQ2LDggQEAgczMyIGUxMDAwX2NvbmZpZ19mY19h ZnRlcl9saW5rX3VwX2dlbmVyaWMoc3RydWN0IGUxMDAwX2h3ICpodykNCiAgICAgczMyIHJldF92 YWwgPSBFMTAwMF9TVUNDRVNTOw0KICAgICB1MzIgcGNzX3N0YXR1c19yZWcsIHBjc19hZHZfcmVn LCBwY3NfbHBfYWJpbGl0eV9yZWcsIHBjc19jdHJsX3JlZzsNCiAgICAgdTE2IG1paV9zdGF0dXNf cmVnLCBtaWlfbndheV9hZHZfcmVnLCBtaWlfbndheV9scF9hYmlsaXR5X3JlZzsNCi0gICAgdTE2 IHNwZWVkLCBkdXBsZXg7DQorICAgIHUzMiBzcGVlZDsNCisgICAgdTE2IGR1cGxleDsNCg0KICAg ICBERUJVR0ZVTkMoImUxMDAwX2NvbmZpZ19mY19hZnRlcl9saW5rX3VwX2dlbmVyaWMiKTsNCg0K QEAgLTE2NDgsNyArMTY0OSw3IEBAIHMzMiBlMTAwMF9jb25maWdfZmNfYWZ0ZXJfbGlua191cF9n ZW5lcmljKHN0cnVjdCBlMTAwMF9odyAqaHcpDQogICogIFJlYWQgdGhlIHN0YXR1cyByZWdpc3Rl ciBmb3IgdGhlIGN1cnJlbnQgc3BlZWQvZHVwbGV4IGFuZCBzdG9yZSB0aGUgY3VycmVudA0KICAq ICBzcGVlZCBhbmQgZHVwbGV4IGZvciBjb3BwZXIgY29ubmVjdGlvbnMuDQogICoqLw0KLXMzMiBl MTAwMF9nZXRfc3BlZWRfYW5kX2R1cGxleF9jb3BwZXJfZ2VuZXJpYyhzdHJ1Y3QgZTEwMDBfaHcg Kmh3LCB1MTYgKnNwZWVkLA0KK3MzMiBlMTAwMF9nZXRfc3BlZWRfYW5kX2R1cGxleF9jb3BwZXJf Z2VuZXJpYyhzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MzIgKnNwZWVkLA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgdTE2ICpkdXBsZXgpDQogew0KICAgICB1MzIgc3RhdHVzOw0KQEAgLTE2ODgs NyArMTY4OSw3IEBAIHMzMiBlMTAwMF9nZXRfc3BlZWRfYW5kX2R1cGxleF9jb3BwZXJfZ2VuZXJp YyhzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MTYgKnNwZWVkLA0KICAqICBmb3IgZmliZXIvc2VyZGVz IGxpbmtzLg0KICAqKi8NCiBzMzIgZTEwMDBfZ2V0X3NwZWVkX2FuZF9kdXBsZXhfZmliZXJfc2Vy ZGVzX2dlbmVyaWMoc3RydWN0IGUxMDAwX2h3IEUxMDAwX1VOVVNFREFSRyAqaHcsDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHUxNiAqc3BlZWQsIHUxNiAqZHVwbGV4KQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1MzIgKnNwZWVkLCB1MTYgKmR1cGxleCkNCiB7DQogICAgIERF QlVHRlVOQygiZTEwMDBfZ2V0X3NwZWVkX2FuZF9kdXBsZXhfZmliZXJfc2VyZGVzX2dlbmVyaWMi KTsNCiAgICAgVU5SRUZFUkVOQ0VEXzFQQVJBTUVURVIoaHcpOw0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfbWFjLmggYi9kcml2ZXJzL25ldC9lMTAwMC9iYXNlL2Ux MDAwX21hYy5oDQppbmRleCA1YTdjZTRhLi45ODdkZjc2IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9u ZXQvZTEwMDAvYmFzZS9lMTAwMF9tYWMuaA0KKysrIGIvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9l MTAwMF9tYWMuaA0KQEAgLTQwLDcgKzQwLDcgQEAgdm9pZCBlMTAwMF9pbml0X21hY19vcHNfZ2Vu ZXJpYyhzdHJ1Y3QgZTEwMDBfaHcgKmh3KTsNCiAjZW5kaWYgLyogRTEwMDBfUkVNT1ZFRCAqLw0K IHZvaWQgZTEwMDBfbnVsbF9tYWNfZ2VuZXJpYyhzdHJ1Y3QgZTEwMDBfaHcgKmh3KTsNCiBzMzIg IGUxMDAwX251bGxfb3BzX2dlbmVyaWMoc3RydWN0IGUxMDAwX2h3ICpodyk7DQotczMyICBlMTAw MF9udWxsX2xpbmtfaW5mbyhzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MTYgKnMsIHUxNiAqZCk7DQor czMyICBlMTAwMF9udWxsX2xpbmtfaW5mbyhzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MzIgKnMsIHUx NiAqZCk7DQogYm9vbCBlMTAwMF9udWxsX21uZ19tb2RlKHN0cnVjdCBlMTAwMF9odyAqaHcpOw0K IHZvaWQgZTEwMDBfbnVsbF91cGRhdGVfbWMoc3RydWN0IGUxMDAwX2h3ICpodywgdTggKmgsIHUz MiBhKTsNCiB2b2lkIGUxMDAwX251bGxfd3JpdGVfdmZ0YShzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1 MzIgYSwgdTMyIGIpOw0KQEAgLTYxLDEwICs2MSwxMCBAQCBzMzIgIGUxMDAwX2dldF9idXNfaW5m b19wY2llX2dlbmVyaWMoc3RydWN0IGUxMDAwX2h3ICpodyk7DQogdm9pZCBlMTAwMF9zZXRfbGFu X2lkX3NpbmdsZV9wb3J0KHN0cnVjdCBlMTAwMF9odyAqaHcpOw0KIHZvaWQgZTEwMDBfc2V0X2xh bl9pZF9tdWx0aV9wb3J0X3BjaShzdHJ1Y3QgZTEwMDBfaHcgKmh3KTsNCiBzMzIgIGUxMDAwX2dl dF9od19zZW1hcGhvcmVfZ2VuZXJpYyhzdHJ1Y3QgZTEwMDBfaHcgKmh3KTsNCi1zMzIgIGUxMDAw X2dldF9zcGVlZF9hbmRfZHVwbGV4X2NvcHBlcl9nZW5lcmljKHN0cnVjdCBlMTAwMF9odyAqaHcs IHUxNiAqc3BlZWQsDQorczMyICBlMTAwMF9nZXRfc3BlZWRfYW5kX2R1cGxleF9jb3BwZXJfZ2Vu ZXJpYyhzdHJ1Y3QgZTEwMDBfaHcgKmh3LCB1MzIgKnNwZWVkLA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHUxNiAqZHVwbGV4KTsNCiBzMzIgIGUxMDAwX2dldF9zcGVlZF9hbmRfZHVwbGV4 X2ZpYmVyX3NlcmRlc19nZW5lcmljKHN0cnVjdCBlMTAwMF9odyAqaHcsDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1MTYgKnNwZWVkLCB1MTYgKmR1cGxleCk7DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1MzIgKnNwZWVkLCB1MTYgKmR1cGxleCk7DQogczMyICBlMTAwMF9p ZF9sZWRfaW5pdF9nZW5lcmljKHN0cnVjdCBlMTAwMF9odyAqaHcpOw0KIHMzMiAgZTEwMDBfbGVk X29uX2dlbmVyaWMoc3RydWN0IGUxMDAwX2h3ICpodyk7DQogczMyICBlMTAwMF9sZWRfb2ZmX2dl bmVyaWMoc3RydWN0IGUxMDAwX2h3ICpodyk7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZTEw MDAvYmFzZS9lMTAwMF92Zi5jIGIvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF92Zi5jDQpp bmRleCA3Nzg1NjFlLi4yMjIxZjFjIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvZTEwMDAvYmFz ZS9lMTAwMF92Zi5jDQorKysgYi9kcml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX3ZmLmMNCkBA IC00Myw3ICs0Myw3IEBAIFNUQVRJQyBzMzIgZTEwMDBfc2V0dXBfbGlua192ZihzdHJ1Y3QgZTEw MDBfaHcgKmh3KTsNCiBTVEFUSUMgczMyIGUxMDAwX2dldF9idXNfaW5mb19wY2llX3ZmKHN0cnVj dCBlMTAwMF9odyAqaHcpOw0KIFNUQVRJQyBzMzIgZTEwMDBfaW5pdF9tYWNfcGFyYW1zX3ZmKHN0 cnVjdCBlMTAwMF9odyAqaHcpOw0KIFNUQVRJQyBzMzIgZTEwMDBfY2hlY2tfZm9yX2xpbmtfdmYo c3RydWN0IGUxMDAwX2h3ICpodyk7DQotU1RBVElDIHMzMiBlMTAwMF9nZXRfbGlua191cF9pbmZv X3ZmKHN0cnVjdCBlMTAwMF9odyAqaHcsIHUxNiAqc3BlZWQsDQorU1RBVElDIHMzMiBlMTAwMF9n ZXRfbGlua191cF9pbmZvX3ZmKHN0cnVjdCBlMTAwMF9odyAqaHcsIHUzMiAqc3BlZWQsDQogICAg ICAgICAgICAgICAgICAgICAgdTE2ICpkdXBsZXgpOw0KIFNUQVRJQyBzMzIgZTEwMDBfaW5pdF9o d192ZihzdHJ1Y3QgZTEwMDBfaHcgKmh3KTsNCiBTVEFUSUMgczMyIGUxMDAwX3Jlc2V0X2h3X3Zm KHN0cnVjdCBlMTAwMF9odyAqaHcpOw0KQEAgLTIyMCw3ICsyMjAsNyBAQCBTVEFUSUMgczMyIGUx MDAwX2dldF9idXNfaW5mb19wY2llX3ZmKHN0cnVjdCBlMTAwMF9odyAqaHcpDQogICogIFNpbmNl IHdlIGNhbm5vdCByZWFkIHRoZSBQSFkgYW5kIGdldCBhY2N1cmF0ZSBsaW5rIGluZm8sIHdlIG11 c3QgcmVseSB1cG9uDQogICogIHRoZSBzdGF0dXMgcmVnaXN0ZXIncyBkYXRhIHdoaWNoIGlzIG9m dGVuIHN0YWxlIGFuZCBpbmFjY3VyYXRlLg0KICAqKi8NCi1TVEFUSUMgczMyIGUxMDAwX2dldF9s aW5rX3VwX2luZm9fdmYoc3RydWN0IGUxMDAwX2h3ICpodywgdTE2ICpzcGVlZCwNCitTVEFUSUMg czMyIGUxMDAwX2dldF9saW5rX3VwX2luZm9fdmYoc3RydWN0IGUxMDAwX2h3ICpodywgdTMyICpz cGVlZCwNCiAgICAgICAgICAgICAgICAgICAgICB1MTYgKmR1cGxleCkNCiB7DQogICAgIHMzMiBz dGF0dXM7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF92Zi5oIGIv ZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF92Zi5oDQppbmRleCA2ZDViZDk5Li45ZDgwMWFk IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvZTEwMDAvYmFzZS9lMTAwMF92Zi5oDQorKysgYi9k cml2ZXJzL25ldC9lMTAwMC9iYXNlL2UxMDAwX3ZmLmgNCkBAIC0yMDEsNyArMjAxLDcgQEAgc3Ry dWN0IGUxMDAwX21hY19vcGVyYXRpb25zIHsNCiAgICAgczMyICAoKmNoZWNrX2Zvcl9saW5rKShz dHJ1Y3QgZTEwMDBfaHcgKik7DQogICAgIHZvaWQgKCpjbGVhcl92ZnRhKShzdHJ1Y3QgZTEwMDBf aHcgKik7DQogICAgIHMzMiAgKCpnZXRfYnVzX2luZm8pKHN0cnVjdCBlMTAwMF9odyAqKTsNCi0g ICAgczMyICAoKmdldF9saW5rX3VwX2luZm8pKHN0cnVjdCBlMTAwMF9odyAqLCB1MTYgKiwgdTE2 ICopOw0KKyAgICBzMzIgICgqZ2V0X2xpbmtfdXBfaW5mbykoc3RydWN0IGUxMDAwX2h3ICosIHUz MiAqLCB1MTYgKik7DQogICAgIHZvaWQgKCp1cGRhdGVfbWNfYWRkcl9saXN0KShzdHJ1Y3QgZTEw MDBfaHcgKiwgdTggKiwgdTMyKTsNCiAgICAgczMyICAoKnJlc2V0X2h3KShzdHJ1Y3QgZTEwMDBf aHcgKik7DQogICAgIHMzMiAgKCppbml0X2h3KShzdHJ1Y3QgZTEwMDBfaHcgKik7DQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvZTEwMDAvZW1fZXRoZGV2LmMgYi9kcml2ZXJzL25ldC9lMTAwMC9l bV9ldGhkZXYuYw0KaW5kZXggNzJmNzkyYy4uMTlkNzc0ZiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMv bmV0L2UxMDAwL2VtX2V0aGRldi5jDQorKysgYi9kcml2ZXJzL25ldC9lMTAwMC9lbV9ldGhkZXYu Yw0KQEAgLTQ5Myw2ICs0OTMsOSBAQCBldGhfZW1fc3RhcnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYpDQogICAgIHN0cnVjdCBlMTAwMF9odyAqaHcgPQ0KICAgICAgICAgRTEwMDBfREVWX1BSSVZB VEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQogICAgIGludCByZXQsIG1hc2s7DQor ICAgIHVpbnQzMl90ICpzcGVlZHM7DQorICAgIGludCBudW1fc3BlZWRzOw0KKyAgICBib29sIGF1 dG9uZWc7DQoNCiAgICAgUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KDQpAQCAtNTQ3LDU2ICs1NTAs NDYgQEAgZXRoX2VtX3N0YXJ0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KICAgICBFMTAwMF9X UklURV9SRUcoaHcsIEUxMDAwX0lUUiwgVUlOVDE2X01BWCk7DQoNCiAgICAgLyogU2V0dXAgbGlu ayBzcGVlZCBhbmQgZHVwbGV4ICovDQotICAgIHN3aXRjaCAoZGV2LT5kYXRhLT5kZXZfY29uZi5s aW5rX3NwZWVkKSB7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURfQVVUT05FRzoNCi0gICAgICAg IGlmIChkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfZHVwbGV4ID09IEVUSF9MSU5LX0FVVE9ORUdf RFVQTEVYKQ0KLSAgICAgICAgICAgIGh3LT5waHkuYXV0b25lZ19hZHZlcnRpc2VkID0gRTEwMDBf QUxMX1NQRUVEX0RVUExFWDsNCi0gICAgICAgIGVsc2UgaWYgKGRldi0+ZGF0YS0+ZGV2X2NvbmYu bGlua19kdXBsZXggPT0NCi0gICAgICAgICAgICAgICAgICAgIEVUSF9MSU5LX0hBTEZfRFVQTEVY KQ0KLSAgICAgICAgICAgIGh3LT5waHkuYXV0b25lZ19hZHZlcnRpc2VkID0gRTEwMDBfQUxMX0hB TEZfRFVQTEVYOw0KLSAgICAgICAgZWxzZSBpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX2R1 cGxleCA9PQ0KLSAgICAgICAgICAgICAgICAgICAgRVRIX0xJTktfRlVMTF9EVVBMRVgpDQotICAg ICAgICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgPSBFMTAwMF9BTExfRlVMTF9EVVBM RVg7DQotICAgICAgICBlbHNlDQotICAgICAgICAgICAgZ290byBlcnJvcl9pbnZhbGlkX2NvbmZp ZzsNCi0gICAgICAgIGJyZWFrOw0KLSAgICBjYXNlIEVUSF9MSU5LX1NQRUVEXzEwOg0KLSAgICAg ICAgaWYgKGRldi0+ZGF0YS0+ZGV2X2NvbmYubGlua19kdXBsZXggPT0gRVRIX0xJTktfQVVUT05F R19EVVBMRVgpDQotICAgICAgICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgPSBFMTAw MF9BTExfMTBfU1BFRUQ7DQotICAgICAgICBlbHNlIGlmIChkZXYtPmRhdGEtPmRldl9jb25mLmxp bmtfZHVwbGV4ID09DQotICAgICAgICAgICAgICAgICAgICBFVEhfTElOS19IQUxGX0RVUExFWCkN Ci0gICAgICAgICAgICBody0+cGh5LmF1dG9uZWdfYWR2ZXJ0aXNlZCA9IEFEVkVSVElTRV8xMF9I QUxGOw0KLSAgICAgICAgZWxzZSBpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX2R1cGxleCA9 PQ0KLSAgICAgICAgICAgICAgICAgICAgRVRIX0xJTktfRlVMTF9EVVBMRVgpDQotICAgICAgICAg ICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgPSBBRFZFUlRJU0VfMTBfRlVMTDsNCi0gICAg ICAgIGVsc2UNCi0gICAgICAgICAgICBnb3RvIGVycm9yX2ludmFsaWRfY29uZmlnOw0KLSAgICAg ICAgYnJlYWs7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURfMTAwOg0KLSAgICAgICAgaWYgKGRl di0+ZGF0YS0+ZGV2X2NvbmYubGlua19kdXBsZXggPT0gRVRIX0xJTktfQVVUT05FR19EVVBMRVgp DQotICAgICAgICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgPSBFMTAwMF9BTExfMTAw X1NQRUVEOw0KLSAgICAgICAgZWxzZSBpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX2R1cGxl eCA9PQ0KLSAgICAgICAgICAgICAgICAgICAgRVRIX0xJTktfSEFMRl9EVVBMRVgpDQotICAgICAg ICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgPSBBRFZFUlRJU0VfMTAwX0hBTEY7DQot ICAgICAgICBlbHNlIGlmIChkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfZHVwbGV4ID09DQotICAg ICAgICAgICAgICAgICAgICBFVEhfTElOS19GVUxMX0RVUExFWCkNCi0gICAgICAgICAgICBody0+ cGh5LmF1dG9uZWdfYWR2ZXJ0aXNlZCA9IEFEVkVSVElTRV8xMDBfRlVMTDsNCi0gICAgICAgIGVs c2UNCisgICAgc3BlZWRzID0gJmRldi0+ZGF0YS0+ZGV2X2NvbmYubGlua19zcGVlZHM7DQorICAg IGlmICgqc3BlZWRzID09IEVUSF9MSU5LX1NQRUVEX0FVVE9ORUcpIHsNCisgICAgICAgIGh3LT5w aHkuYXV0b25lZ19hZHZlcnRpc2VkID0gRTEwMDBfQUxMX1NQRUVEX0RVUExFWDsNCisgICAgfSBl bHNlIHsNCisgICAgICAgIG51bV9zcGVlZHMgPSAwOw0KKyAgICAgICAgYXV0b25lZyA9IH4oKnNw ZWVkcyAmIEVUSF9MSU5LX1NQRUVEX05PX0FVVE9ORUcpOw0KKw0KKyAgICAgICAgLyogUmVzZXQg Ki8NCisgICAgICAgIGh3LT5waHkuYXV0b25lZ19hZHZlcnRpc2VkID0gMDsNCisNCisgICAgICAg IGlmICgqc3BlZWRzICYgfihFVEhfTElOS19TUEVFRF8xME1fSEQgfCBFVEhfTElOS19TUEVFRF8x ME0gfA0KKyAgICAgICAgICAgICAgICBFVEhfTElOS19TUEVFRF8xMDBNX0hEIHwgRVRIX0xJTktf U1BFRURfMTAwTSB8DQorICAgICAgICAgICAgICAgIEVUSF9MSU5LX1NQRUVEXzFHKSkgew0KKyAg ICAgICAgICAgIG51bV9zcGVlZHMgPSAtMTsNCiAgICAgICAgICAgICBnb3RvIGVycm9yX2ludmFs aWRfY29uZmlnOw0KLSAgICAgICAgYnJlYWs7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURfMTAw MDoNCi0gICAgICAgIGlmICgoZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX2R1cGxleCA9PQ0KLSAg ICAgICAgICAgICAgICBFVEhfTElOS19BVVRPTkVHX0RVUExFWCkgfHwNCi0gICAgICAgICAgICAo ZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX2R1cGxleCA9PQ0KLSAgICAgICAgICAgICAgICAgICAg RVRIX0xJTktfRlVMTF9EVVBMRVgpKQ0KLSAgICAgICAgICAgIGh3LT5waHkuYXV0b25lZ19hZHZl cnRpc2VkID0gQURWRVJUSVNFXzEwMDBfRlVMTDsNCi0gICAgICAgIGVsc2UNCisgICAgICAgIH0N CisgICAgICAgIGlmICgqc3BlZWRzICYgRVRIX0xJTktfU1BFRURfMTBNX0hEKSB7DQorICAgICAg ICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgfD0gQURWRVJUSVNFXzEwX0hBTEY7DQor ICAgICAgICAgICAgbnVtX3NwZWVkcysrOw0KKyAgICAgICAgfQ0KKyAgICAgICAgaWYgKCpzcGVl ZHMgJiBFVEhfTElOS19TUEVFRF8xME0pIHsNCisgICAgICAgICAgICBody0+cGh5LmF1dG9uZWdf YWR2ZXJ0aXNlZCB8PSBBRFZFUlRJU0VfMTBfRlVMTDsNCisgICAgICAgICAgICBudW1fc3BlZWRz Kys7DQorICAgICAgICB9DQorICAgICAgICBpZiAoKnNwZWVkcyAmIEVUSF9MSU5LX1NQRUVEXzEw ME1fSEQpIHsNCisgICAgICAgICAgICBody0+cGh5LmF1dG9uZWdfYWR2ZXJ0aXNlZCB8PSBBRFZF UlRJU0VfMTAwX0hBTEY7DQorICAgICAgICAgICAgbnVtX3NwZWVkcysrOw0KKyAgICAgICAgfQ0K KyAgICAgICAgaWYgKCpzcGVlZHMgJiBFVEhfTElOS19TUEVFRF8xMDBNKSB7DQorICAgICAgICAg ICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgfD0gQURWRVJUSVNFXzEwMF9GVUxMOw0KKyAg ICAgICAgICAgIG51bV9zcGVlZHMrKzsNCisgICAgICAgIH0NCisgICAgICAgIGlmICgqc3BlZWRz ICYgRVRIX0xJTktfU1BFRURfMUcpIHsNCisgICAgICAgICAgICBody0+cGh5LmF1dG9uZWdfYWR2 ZXJ0aXNlZCB8PSBBRFZFUlRJU0VfMTAwMF9GVUxMOw0KKyAgICAgICAgICAgIG51bV9zcGVlZHMr KzsNCisgICAgICAgIH0NCisgICAgICAgIGlmIChudW1fc3BlZWRzID09IDAgfHwgKCFhdXRvbmVn ICYmIChudW1fc3BlZWRzID4gIDIpKSkNCiAgICAgICAgICAgICBnb3RvIGVycm9yX2ludmFsaWRf Y29uZmlnOw0KLSAgICAgICAgYnJlYWs7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURfMTAwMDA6 DQotICAgIGRlZmF1bHQ6DQotICAgICAgICBnb3RvIGVycm9yX2ludmFsaWRfY29uZmlnOw0KICAg ICB9DQorDQogICAgIGUxMDAwX3NldHVwX2xpbmsoaHcpOw0KDQogICAgIC8qIGNoZWNrIGlmIGxz YyBpbnRlcnJ1cHQgZmVhdHVyZSBpcyBlbmFibGVkICovDQpAQCAtNjE2LDkgKzYwOSw4IEBAIGV0 aF9lbV9zdGFydChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCiAgICAgcmV0dXJuICgwKTsNCg0K IGVycm9yX2ludmFsaWRfY29uZmlnOg0KLSAgICBQTURfSU5JVF9MT0coRVJSLCAiSW52YWxpZCBs aW5rX3NwZWVkL2xpbmtfZHVwbGV4ICgldS8ldSkgZm9yIHBvcnQgJXUiLA0KLSAgICAgICAgICAg ICBkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfc3BlZWQsDQotICAgICAgICAgICAgIGRldi0+ZGF0 YS0+ZGV2X2NvbmYubGlua19kdXBsZXgsIGRldi0+ZGF0YS0+cG9ydF9pZCk7DQorICAgIFBNRF9J TklUX0xPRyhFUlIsICJJbnZhbGlkIGFkdmVydGlzZWQgc3BlZWRzICgldSkgZm9yIHBvcnQgJXUi LA0KKyAgICAgICAgICAgICBkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfc3BlZWRzLCBkZXYtPmRh dGEtPnBvcnRfaWQpOw0KICAgICBlbV9kZXZfY2xlYXJfcXVldWVzKGRldik7DQogICAgIHJldHVy biAoLUVJTlZBTCk7DQogfQ0KQEAgLTkzNCwxMSArOTI2LDExIEBAIGV0aF9lbV9pbmZvc19nZXQo c3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBydGVfZXRoX2Rldl9pbmZvICpkZXZfaW5m bykNCiAgICAgZGV2X2luZm8tPm1heF9yeF9xdWV1ZXMgPSAxOw0KICAgICBkZXZfaW5mby0+bWF4 X3R4X3F1ZXVlcyA9IDE7DQoNCi0gICAgZGV2X2luZm8tPnNwZWVkX2NhcGEgPSBFVEhfU1BFRURf Q0FQXzEwTV9IRCB8DQotICAgICAgICAgICAgICAgICAgICBFVEhfU1BFRURfQ0FQXzEwTV9GRCB8 DQotICAgICAgICAgICAgICAgICAgICBFVEhfU1BFRURfQ0FQXzEwME1fSEQgfA0KLSAgICAgICAg ICAgICAgICAgICAgRVRIX1NQRUVEX0NBUF8xMDBNX0ZEIHwNCi0gICAgICAgICAgICAgICAgICAg IEVUSF9TUEVFRF9DQVBfMUc7DQorICAgIGRldl9pbmZvLT5zcGVlZF9jYXBhID0gRVRIX0xJTktf U1BFRURfMTBNX0hEIHwNCisgICAgICAgICAgICAgICAgICAgIEVUSF9MSU5LX1NQRUVEXzEwTSB8 DQorICAgICAgICAgICAgICAgICAgICBFVEhfTElOS19TUEVFRF8xMDBNX0hEIHwNCisgICAgICAg ICAgICAgICAgICAgIEVUSF9MSU5LX1NQRUVEXzEwME0gfA0KKyAgICAgICAgICAgICAgICAgICAg RVRIX0xJTktfU1BFRURfMUc7DQogfQ0KDQogLyogcmV0dXJuIDAgbWVhbnMgbGluayBzdGF0dXMg Y2hhbmdlZCwgLTEgbWVhbnMgbm90IGNoYW5nZWQgKi8NCkBAIC05ODksMTEgKzk4MSwxMSBAQCBl dGhfZW1fbGlua191cGRhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIGludCB3YWl0X3RvX2Nv bXBsZXRlKQ0KICAgICBpZiAobGlua19jaGVjayAmJiAobGluay5saW5rX3N0YXR1cyA9PSAwKSkg ew0KICAgICAgICAgaHctPm1hYy5vcHMuZ2V0X2xpbmtfdXBfaW5mbyhodywgJmxpbmsubGlua19z cGVlZCwNCiAgICAgICAgICAgICAmbGluay5saW5rX2R1cGxleCk7DQotICAgICAgICBsaW5rLmxp bmtfc3RhdHVzID0gMTsNCisgICAgICAgIGxpbmsubGlua19zdGF0dXMgPSBFVEhfTElOS19VUDsN CiAgICAgfSBlbHNlIGlmICghbGlua19jaGVjayAmJiAobGluay5saW5rX3N0YXR1cyA9PSAxKSkg ew0KICAgICAgICAgbGluay5saW5rX3NwZWVkID0gMDsNCi0gICAgICAgIGxpbmsubGlua19kdXBs ZXggPSAwOw0KLSAgICAgICAgbGluay5saW5rX3N0YXR1cyA9IDA7DQorICAgICAgICBsaW5rLmxp bmtfZHVwbGV4ID0gRVRIX0xJTktfSEFMRl9EVVBMRVg7DQorICAgICAgICBsaW5rLmxpbmtfc3Rh dHVzID0gRVRIX0xJTktfRE9XTjsNCiAgICAgfQ0KICAgICBydGVfZW1fZGV2X2F0b21pY193cml0 ZV9saW5rX3N0YXR1cyhkZXYsICZsaW5rKTsNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2Ux MDAwL2lnYl9ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L2UxMDAwL2lnYl9ldGhkZXYuYw0KaW5kZXgg OTI3ZjVkOS4uN2Q0MDdmNCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2UxMDAwL2lnYl9ldGhk ZXYuYw0KKysrIGIvZHJpdmVycy9uZXQvZTEwMDAvaWdiX2V0aGRldi5jDQpAQCAtODg5LDYgKzg4 OSw5IEBAIGV0aF9pZ2Jfc3RhcnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQogICAgIGludCBy ZXQsIG1hc2s7DQogICAgIHVpbnQzMl90IGludHJfdmVjdG9yID0gMDsNCiAgICAgdWludDMyX3Qg Y3RybF9leHQ7DQorICAgIHVpbnQzMl90ICpzcGVlZHM7DQorICAgIGludCBudW1fc3BlZWRzOw0K KyAgICBib29sIGF1dG9uZWc7DQoNCiAgICAgUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KDQpAQCAt OTg0LDQ4ICs5ODcsNDYgQEAgZXRoX2lnYl9zdGFydChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikN CiAgICAgfQ0KDQogICAgIC8qIFNldHVwIGxpbmsgc3BlZWQgYW5kIGR1cGxleCAqLw0KLSAgICBz d2l0Y2ggKGRldi0+ZGF0YS0+ZGV2X2NvbmYubGlua19zcGVlZCkgew0KLSAgICBjYXNlIEVUSF9M SU5LX1NQRUVEX0FVVE9ORUc6DQotICAgICAgICBpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5saW5r X2R1cGxleCA9PSBFVEhfTElOS19BVVRPTkVHX0RVUExFWCkNCi0gICAgICAgICAgICBody0+cGh5 LmF1dG9uZWdfYWR2ZXJ0aXNlZCA9IEUxMDAwX0FMTF9TUEVFRF9EVVBMRVg7DQotICAgICAgICBl bHNlIGlmIChkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfZHVwbGV4ID09IEVUSF9MSU5LX0hBTEZf RFVQTEVYKQ0KLSAgICAgICAgICAgIGh3LT5waHkuYXV0b25lZ19hZHZlcnRpc2VkID0gRTEwMDBf QUxMX0hBTEZfRFVQTEVYOw0KLSAgICAgICAgZWxzZSBpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5s aW5rX2R1cGxleCA9PSBFVEhfTElOS19GVUxMX0RVUExFWCkNCi0gICAgICAgICAgICBody0+cGh5 LmF1dG9uZWdfYWR2ZXJ0aXNlZCA9IEUxMDAwX0FMTF9GVUxMX0RVUExFWDsNCi0gICAgICAgIGVs c2UNCi0gICAgICAgICAgICBnb3RvIGVycm9yX2ludmFsaWRfY29uZmlnOw0KLSAgICAgICAgYnJl YWs7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURfMTA6DQotICAgICAgICBpZiAoZGV2LT5kYXRh LT5kZXZfY29uZi5saW5rX2R1cGxleCA9PSBFVEhfTElOS19BVVRPTkVHX0RVUExFWCkNCi0gICAg ICAgICAgICBody0+cGh5LmF1dG9uZWdfYWR2ZXJ0aXNlZCA9IEUxMDAwX0FMTF8xMF9TUEVFRDsN Ci0gICAgICAgIGVsc2UgaWYgKGRldi0+ZGF0YS0+ZGV2X2NvbmYubGlua19kdXBsZXggPT0gRVRI X0xJTktfSEFMRl9EVVBMRVgpDQotICAgICAgICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlz ZWQgPSBBRFZFUlRJU0VfMTBfSEFMRjsNCi0gICAgICAgIGVsc2UgaWYgKGRldi0+ZGF0YS0+ZGV2 X2NvbmYubGlua19kdXBsZXggPT0gRVRIX0xJTktfRlVMTF9EVVBMRVgpDQotICAgICAgICAgICAg aHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgPSBBRFZFUlRJU0VfMTBfRlVMTDsNCi0gICAgICAg IGVsc2UNCi0gICAgICAgICAgICBnb3RvIGVycm9yX2ludmFsaWRfY29uZmlnOw0KLSAgICAgICAg YnJlYWs7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURfMTAwOg0KLSAgICAgICAgaWYgKGRldi0+ ZGF0YS0+ZGV2X2NvbmYubGlua19kdXBsZXggPT0gRVRIX0xJTktfQVVUT05FR19EVVBMRVgpDQot ICAgICAgICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgPSBFMTAwMF9BTExfMTAwX1NQ RUVEOw0KLSAgICAgICAgZWxzZSBpZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX2R1cGxleCA9 PSBFVEhfTElOS19IQUxGX0RVUExFWCkNCi0gICAgICAgICAgICBody0+cGh5LmF1dG9uZWdfYWR2 ZXJ0aXNlZCA9IEFEVkVSVElTRV8xMDBfSEFMRjsNCi0gICAgICAgIGVsc2UgaWYgKGRldi0+ZGF0 YS0+ZGV2X2NvbmYubGlua19kdXBsZXggPT0gRVRIX0xJTktfRlVMTF9EVVBMRVgpDQotICAgICAg ICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgPSBBRFZFUlRJU0VfMTAwX0ZVTEw7DQot ICAgICAgICBlbHNlDQorICAgIHNwZWVkcyA9ICZkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfc3Bl ZWRzOw0KKyAgICBpZiAoKnNwZWVkcyA9PSBFVEhfTElOS19TUEVFRF9BVVRPTkVHKSB7DQorICAg ICAgICBody0+cGh5LmF1dG9uZWdfYWR2ZXJ0aXNlZCA9IEUxMDAwX0FMTF9TUEVFRF9EVVBMRVg7 DQorICAgIH0gZWxzZSB7DQorICAgICAgICBudW1fc3BlZWRzID0gMDsNCisgICAgICAgIGF1dG9u ZWcgPSB+KCpzcGVlZHMgJiBFVEhfTElOS19TUEVFRF9OT19BVVRPTkVHKTsNCisNCisgICAgICAg IC8qIFJlc2V0ICovDQorICAgICAgICBody0+cGh5LmF1dG9uZWdfYWR2ZXJ0aXNlZCA9IDA7DQor DQorICAgICAgICBpZiAoKnNwZWVkcyAmIH4oRVRIX0xJTktfU1BFRURfMTBNX0hEIHwgRVRIX0xJ TktfU1BFRURfMTBNIHwNCisgICAgICAgICAgICAgICAgRVRIX0xJTktfU1BFRURfMTAwTV9IRCB8 IEVUSF9MSU5LX1NQRUVEXzEwME0gfA0KKyAgICAgICAgICAgICAgICBFVEhfTElOS19TUEVFRF8x RykpIHsNCisgICAgICAgICAgICBudW1fc3BlZWRzID0gLTE7DQogICAgICAgICAgICAgZ290byBl cnJvcl9pbnZhbGlkX2NvbmZpZzsNCi0gICAgICAgIGJyZWFrOw0KLSAgICBjYXNlIEVUSF9MSU5L X1NQRUVEXzEwMDA6DQotICAgICAgICBpZiAoKGRldi0+ZGF0YS0+ZGV2X2NvbmYubGlua19kdXBs ZXggPT0gRVRIX0xJTktfQVVUT05FR19EVVBMRVgpIHx8DQotICAgICAgICAgICAgICAgIChkZXYt PmRhdGEtPmRldl9jb25mLmxpbmtfZHVwbGV4ID09IEVUSF9MSU5LX0ZVTExfRFVQTEVYKSkNCi0g ICAgICAgICAgICBody0+cGh5LmF1dG9uZWdfYWR2ZXJ0aXNlZCA9IEFEVkVSVElTRV8xMDAwX0ZV TEw7DQotICAgICAgICBlbHNlDQorICAgICAgICB9DQorICAgICAgICBpZiAoKnNwZWVkcyAmIEVU SF9MSU5LX1NQRUVEXzEwTV9IRCkgew0KKyAgICAgICAgICAgIGh3LT5waHkuYXV0b25lZ19hZHZl cnRpc2VkIHw9IEFEVkVSVElTRV8xMF9IQUxGOw0KKyAgICAgICAgICAgIG51bV9zcGVlZHMrKzsN CisgICAgICAgIH0NCisgICAgICAgIGlmICgqc3BlZWRzICYgRVRIX0xJTktfU1BFRURfMTBNKSB7 DQorICAgICAgICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgfD0gQURWRVJUSVNFXzEw X0ZVTEw7DQorICAgICAgICAgICAgbnVtX3NwZWVkcysrOw0KKyAgICAgICAgfQ0KKyAgICAgICAg aWYgKCpzcGVlZHMgJiBFVEhfTElOS19TUEVFRF8xMDBNX0hEKSB7DQorICAgICAgICAgICAgaHct PnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgfD0gQURWRVJUSVNFXzEwMF9IQUxGOw0KKyAgICAgICAg ICAgIG51bV9zcGVlZHMrKzsNCisgICAgICAgIH0NCisgICAgICAgIGlmICgqc3BlZWRzICYgRVRI X0xJTktfU1BFRURfMTAwTSkgew0KKyAgICAgICAgICAgIGh3LT5waHkuYXV0b25lZ19hZHZlcnRp c2VkIHw9IEFEVkVSVElTRV8xMDBfRlVMTDsNCisgICAgICAgICAgICBudW1fc3BlZWRzKys7DQor ICAgICAgICB9DQorICAgICAgICBpZiAoKnNwZWVkcyAmIEVUSF9MSU5LX1NQRUVEXzFHKSB7DQor ICAgICAgICAgICAgaHctPnBoeS5hdXRvbmVnX2FkdmVydGlzZWQgfD0gQURWRVJUSVNFXzEwMDBf RlVMTDsNCisgICAgICAgICAgICBudW1fc3BlZWRzKys7DQorICAgICAgICB9DQorICAgICAgICBp ZiAobnVtX3NwZWVkcyA9PSAwIHx8ICghYXV0b25lZyAmJiAobnVtX3NwZWVkcyA+ICAyKSkpDQog ICAgICAgICAgICAgZ290byBlcnJvcl9pbnZhbGlkX2NvbmZpZzsNCi0gICAgICAgIGJyZWFrOw0K LSAgICBjYXNlIEVUSF9MSU5LX1NQRUVEXzEwMDAwOg0KLSAgICBkZWZhdWx0Og0KLSAgICAgICAg Z290byBlcnJvcl9pbnZhbGlkX2NvbmZpZzsNCiAgICAgfQ0KKw0KICAgICBlMTAwMF9zZXR1cF9s aW5rKGh3KTsNCg0KICAgICAvKiBjaGVjayBpZiBsc2MgaW50ZXJydXB0IGZlYXR1cmUgaXMgZW5h YmxlZCAqLw0KQEAgLTEwNTUsOSArMTA1Niw4IEBAIGV0aF9pZ2Jfc3RhcnQoc3RydWN0IHJ0ZV9l dGhfZGV2ICpkZXYpDQogICAgIHJldHVybiAoMCk7DQoNCiBlcnJvcl9pbnZhbGlkX2NvbmZpZzoN Ci0gICAgUE1EX0lOSVRfTE9HKEVSUiwgIkludmFsaWQgbGlua19zcGVlZC9saW5rX2R1cGxleCAo JXUvJXUpIGZvciBwb3J0ICV1IiwNCi0gICAgICAgICAgICAgZGV2LT5kYXRhLT5kZXZfY29uZi5s aW5rX3NwZWVkLA0KLSAgICAgICAgICAgICBkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfZHVwbGV4 LCBkZXYtPmRhdGEtPnBvcnRfaWQpOw0KKyAgICBQTURfSU5JVF9MT0coRVJSLCAiSW52YWxpZCBh ZHZlcnRpc2VkIHNwZWVkcyAoJXUpIGZvciBwb3J0ICV1IiwNCisgICAgICAgICAgICAgZGV2LT5k YXRhLT5kZXZfY29uZi5saW5rX3NwZWVkcywgZGV2LT5kYXRhLT5wb3J0X2lkKTsNCiAgICAgaWdi X2Rldl9jbGVhcl9xdWV1ZXMoZGV2KTsNCiAgICAgcmV0dXJuICgtRUlOVkFMKTsNCiB9DQpAQCAt MTU3MSwxMSArMTU3MSwxMSBAQCBldGhfaWdiX2luZm9zX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldiwgc3RydWN0IHJ0ZV9ldGhfZGV2X2luZm8gKmRldl9pbmZvKQ0KICAgICAgICAgLnR4cV9m bGFncyA9IDAsDQogICAgIH07DQoNCi0gICAgZGV2X2luZm8tPnNwZWVkX2NhcGEgPSBFVEhfU1BF RURfQ0FQXzEwTV9IRCB8DQotICAgICAgICAgICAgICAgICAgICBFVEhfU1BFRURfQ0FQXzEwTV9G RCB8DQotICAgICAgICAgICAgICAgICAgICBFVEhfU1BFRURfQ0FQXzEwME1fSEQgfA0KLSAgICAg ICAgICAgICAgICAgICAgRVRIX1NQRUVEX0NBUF8xMDBNX0ZEIHwNCi0gICAgICAgICAgICAgICAg ICAgIEVUSF9TUEVFRF9DQVBfMUc7DQorICAgIGRldl9pbmZvLT5zcGVlZF9jYXBhID0gRVRIX0xJ TktfU1BFRURfMTBNX0hEIHwNCisgICAgICAgICAgICAgICAgICAgIEVUSF9MSU5LX1NQRUVEXzEw TSB8DQorICAgICAgICAgICAgICAgICAgICBFVEhfTElOS19TUEVFRF8xMDBNX0hEIHwNCisgICAg ICAgICAgICAgICAgICAgIEVUSF9MSU5LX1NQRUVEXzEwME0gfA0KKyAgICAgICAgICAgICAgICAg ICAgRVRIX0xJTktfU1BFRURfMUc7DQogfQ0KDQogc3RhdGljIHZvaWQNCkBAIC0xNjgzLDExICsx NjgzLDE0IEBAIGV0aF9pZ2JfbGlua191cGRhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIGlu dCB3YWl0X3RvX2NvbXBsZXRlKQ0KICAgICBpZiAobGlua19jaGVjaykgew0KICAgICAgICAgaHct Pm1hYy5vcHMuZ2V0X2xpbmtfdXBfaW5mbyhodywgJmxpbmsubGlua19zcGVlZCwNCiAgICAgICAg ICAgICAgICAgICAgICAgJmxpbmsubGlua19kdXBsZXgpOw0KLSAgICAgICAgbGluay5saW5rX3N0 YXR1cyA9IDE7DQorICAgICAgICBsaW5rLmxpbmtfc3RhdHVzID0gRVRIX0xJTktfVVA7DQorICAg ICAgICBsaW5rLmxpbmtfYXV0b25lZyA9IH4oZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX3NwZWVk cyAmDQorICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0xJTktfU1BFRURfTk9fQVVUT05FRyk7 DQogICAgIH0gZWxzZSBpZiAoIWxpbmtfY2hlY2spIHsNCiAgICAgICAgIGxpbmsubGlua19zcGVl ZCA9IDA7DQotICAgICAgICBsaW5rLmxpbmtfZHVwbGV4ID0gMDsNCi0gICAgICAgIGxpbmsubGlu a19zdGF0dXMgPSAwOw0KKyAgICAgICAgbGluay5saW5rX2R1cGxleCA9IEVUSF9MSU5LX0hBTEZf RFVQTEVYOw0KKyAgICAgICAgbGluay5saW5rX3N0YXR1cyA9IEVUSF9MSU5LX0RPV047DQorICAg ICAgICBsaW5rLmxpbmtfYXV0b25lZyA9IEVUSF9MSU5LX1NQRUVEX0ZJWEVEOw0KICAgICB9DQog ICAgIHJ0ZV9pZ2JfZGV2X2F0b21pY193cml0ZV9saW5rX3N0YXR1cyhkZXYsICZsaW5rKTsNCg0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2ZtMTBrL2ZtMTBrX2V0aGRldi5jIGIvZHJpdmVycy9u ZXQvZm0xMGsvZm0xMGtfZXRoZGV2LmMNCmluZGV4IGNhNjM1N2MuLjZlMDUzNTUgMTAwNjQ0DQot LS0gYS9kcml2ZXJzL25ldC9mbTEway9mbTEwa19ldGhkZXYuYw0KKysrIGIvZHJpdmVycy9uZXQv Zm0xMGsvZm0xMGtfZXRoZGV2LmMNCkBAIC04NjIsNyArODYyLDcgQEAgZm0xMGtfbGlua191cGRh dGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQogICAgICAqIGlzIG5vIDUwR2JwcyBFdGhlcm5l dC4gKi8NCiAgICAgZGV2LT5kYXRhLT5kZXZfbGluay5saW5rX3NwZWVkICA9IDA7DQogICAgIGRl di0+ZGF0YS0+ZGV2X2xpbmsubGlua19kdXBsZXggPSBFVEhfTElOS19GVUxMX0RVUExFWDsNCi0g ICAgZGV2LT5kYXRhLT5kZXZfbGluay5saW5rX3N0YXR1cyA9IDE7DQorICAgIGRldi0+ZGF0YS0+ ZGV2X2xpbmsubGlua19zdGF0dXMgPSBFVEhfTElOS19VUDsNCg0KICAgICByZXR1cm4gMDsNCiB9 DQpAQCAtOTY0LDkgKzk2NCw5IEBAIGZtMTBrX2Rldl9pbmZvc19nZXQoc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXYsDQogICAgICAgICAgICAgICAgIEVUSF9UWFFfRkxBR1NfTk9PRkZMT0FEUywNCiAg ICAgfTsNCg0KLSAgICBkZXZfaW5mby0+c3BlZWRfY2FwYSA9IEVUSF9TUEVFRF9DQVBfMUcgfCBF VEhfU1BFRURfQ0FQXzJfNUcgfA0KLSAgICAgICAgICAgICAgICAgICAgRVRIX1NQRUVEX0NBUF8x MEcgfCBFVEhfU1BFRURfQ0FQXzI1RyB8DQotICAgICAgICAgICAgICAgICAgICBFVEhfU1BFRURf Q0FQXzQwRyB8IEVUSF9TUEVFRF9DQVBfMTAwRzsNCisgICAgZGV2X2luZm8tPnNwZWVkX2NhcGEg PSBFVEhfTElOS19TUEVFRF8xRyB8IEVUSF9MSU5LX1NQRUVEXzJfNUcgfA0KKyAgICAgICAgICAg ICAgICBFVEhfTElOS19TUEVFRF8xMEcgfCBFVEhfTElOS19TUEVFRF8yNUcgfA0KKyAgICAgICAg ICAgICAgICBFVEhfTElOS19TUEVFRF80MEcgfCBFVEhfTElOS19TUEVFRF8xMDBHOw0KIH0NCg0K IHN0YXRpYyBpbnQNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMg Yi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMNCmluZGV4IDhhNWRmYmYuLmMzYjNiOWUg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMNCisrKyBiL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYw0KQEAgLTgzNSwyNyArODM1LDIwIEBAIGk0MGVfdnNp X2Rpc2FibGVfcXVldWVzX2ludHIoc3RydWN0IGk0MGVfdnNpICp2c2kpDQogfQ0KDQogc3RhdGlj IGlubGluZSB1aW50OF90DQotaTQwZV9wYXJzZV9saW5rX3NwZWVkKHVpbnQxNl90IGV0aF9saW5r X3NwZWVkKQ0KK2k0MGVfcGFyc2VfbGlua19zcGVlZHModWludDE2X3QgbGlua19zcGVlZHMpDQog ew0KICAgICB1aW50OF90IGxpbmtfc3BlZWQgPSBJNDBFX0xJTktfU1BFRURfVU5LTk9XTjsNCg0K LSAgICBzd2l0Y2ggKGV0aF9saW5rX3NwZWVkKSB7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURf NDBHOg0KLSAgICAgICAgbGlua19zcGVlZCA9IEk0MEVfTElOS19TUEVFRF80MEdCOw0KLSAgICAg ICAgYnJlYWs7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURfMjBHOg0KLSAgICAgICAgbGlua19z cGVlZCA9IEk0MEVfTElOS19TUEVFRF8yMEdCOw0KLSAgICAgICAgYnJlYWs7DQotICAgIGNhc2Ug RVRIX0xJTktfU1BFRURfMTBHOg0KLSAgICAgICAgbGlua19zcGVlZCA9IEk0MEVfTElOS19TUEVF RF8xMEdCOw0KLSAgICAgICAgYnJlYWs7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURfMTAwMDoN Ci0gICAgICAgIGxpbmtfc3BlZWQgPSBJNDBFX0xJTktfU1BFRURfMUdCOw0KLSAgICAgICAgYnJl YWs7DQotICAgIGNhc2UgRVRIX0xJTktfU1BFRURfMTAwOg0KLSAgICAgICAgbGlua19zcGVlZCA9 IEk0MEVfTElOS19TUEVFRF8xMDBNQjsNCi0gICAgICAgIGJyZWFrOw0KLSAgICB9DQorICAgIGlm IChsaW5rX3NwZWVkcyAmIEVUSF9MSU5LX1NQRUVEXzQwRykNCisgICAgICAgIGxpbmtfc3BlZWQg fD0gSTQwRV9MSU5LX1NQRUVEXzQwR0I7DQorICAgIGlmIChsaW5rX3NwZWVkcyAmIEVUSF9MSU5L X1NQRUVEXzIwRykNCisgICAgICAgIGxpbmtfc3BlZWQgfD0gSTQwRV9MSU5LX1NQRUVEXzIwR0I7 DQorICAgIGlmIChsaW5rX3NwZWVkcyAmIEVUSF9MSU5LX1NQRUVEXzEwRykNCisgICAgICAgIGxp bmtfc3BlZWQgfD0gSTQwRV9MSU5LX1NQRUVEXzEwR0I7DQorICAgIGlmIChsaW5rX3NwZWVkcyAm IEVUSF9MSU5LX1NQRUVEXzFHKQ0KKyAgICAgICAgbGlua19zcGVlZCB8PSBJNDBFX0xJTktfU1BF RURfMUdCOw0KKyAgICBpZiAobGlua19zcGVlZHMgJiBFVEhfTElOS19TUEVFRF8xMDBNKQ0KKyAg ICAgICAgbGlua19zcGVlZCB8PSBJNDBFX0xJTktfU1BFRURfMTAwTUI7DQoNCiAgICAgcmV0dXJu IGxpbmtfc3BlZWQ7DQogfQ0KQEAgLTkyNCw5ICs5MTcsOSBAQCBpNDBlX2FwcGx5X2xpbmtfc3Bl ZWQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQogICAgIHN0cnVjdCBpNDBlX2h3ICpodyA9IEk0 MEVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQogICAgIHN0cnVj dCBydGVfZXRoX2NvbmYgKmNvbmYgPSAmZGV2LT5kYXRhLT5kZXZfY29uZjsNCg0KLSAgICBzcGVl ZCA9IGk0MGVfcGFyc2VfbGlua19zcGVlZChjb25mLT5saW5rX3NwZWVkKTsNCisgICAgc3BlZWQg PSBpNDBlX3BhcnNlX2xpbmtfc3BlZWRzKGNvbmYtPmxpbmtfc3BlZWRzKTsNCiAgICAgYWJpbGl0 aWVzIHw9IEk0MEVfQVFfUEhZX0VOQUJMRV9BVE9NSUNfTElOSzsNCi0gICAgaWYgKGNvbmYtPmxp bmtfc3BlZWQgPT0gRVRIX0xJTktfU1BFRURfQVVUT05FRykNCisgICAgaWYgKGNvbmYtPmxpbmtf c3BlZWRzICYgRVRIX0xJTktfU1BFRURfQVVUT05FRykNCiAgICAgICAgIGFiaWxpdGllcyB8PSBJ NDBFX0FRX1BIWV9BTl9FTkFCTEVEOw0KICAgICBlbHNlDQogICAgICAgICBhYmlsaXRpZXMgfD0g STQwRV9BUV9QSFlfTElOS19FTkFCTEVEOw0KQEAgLTk0NCwxMCArOTM3LDggQEAgaTQwZV9kZXZf c3RhcnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQoNCiAgICAgaHctPmFkYXB0ZXJfc3RvcHBl ZCA9IDA7DQoNCi0gICAgaWYgKChkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfZHVwbGV4ICE9IEVU SF9MSU5LX0FVVE9ORUdfRFVQTEVYKSAmJg0KLSAgICAgICAgKGRldi0+ZGF0YS0+ZGV2X2NvbmYu bGlua19kdXBsZXggIT0gRVRIX0xJTktfRlVMTF9EVVBMRVgpKSB7DQotICAgICAgICBQTURfSU5J VF9MT0coRVJSLCAiSW52YWxpZCBsaW5rX2R1cGxleCAoJWh1KSBmb3IgcG9ydCAlaGh1IiwNCi0g ICAgICAgICAgICAgICAgIGRldi0+ZGF0YS0+ZGV2X2NvbmYubGlua19kdXBsZXgsDQorICAgIGlm IChkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfc3BlZWRzICYgRVRIX0xJTktfU1BFRURfTk9fQVVU T05FRykgew0KKyAgICAgICAgUE1EX0lOSVRfTE9HKEVSUiwgIkludmFsaWQgbGlua19zcGVlZHMg Zm9yIHBvcnQgJWhodTsgYXV0b25lZ29jaWF0aW9uIGRpc2FibGVkIiwNCiAgICAgICAgICAgICAg ICAgIGRldi0+ZGF0YS0+cG9ydF9pZCk7DQogICAgICAgICByZXR1cm4gLUVJTlZBTDsNCiAgICAg fQ0KQEAgLTk5NSw2ICs5ODYsMTMgQEAgaTQwZV9kZXZfc3RhcnQoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYpDQogICAgIH0NCg0KICAgICAvKiBBcHBseSBsaW5rIGNvbmZpZ3VyZSAqLw0KKyAgICBp ZiAoZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX3NwZWVkcyAmIH4oRVRIX0xJTktfU1BFRURfMTAw TSB8DQorICAgICAgICAgICAgICAgIEVUSF9MSU5LX1NQRUVEXzFHIHwgRVRIX0xJTktfU1BFRURf MTBHIHwNCisgICAgICAgICAgICAgICAgRVRIX0xJTktfU1BFRURfMjBHIHwgRVRIX0xJTktfU1BF RURfNDBHKSkgew0KKyAgICAgICAgUE1EX0RSVl9MT0coRVJSLCAiSW52YWxpZCBsaW5rIHNldHRp bmciKTsNCisgICAgICAgIGdvdG8gZXJyX3VwOw0KKyAgICB9DQorDQogICAgIHJldCA9IGk0MGVf YXBwbHlfbGlua19zcGVlZChkZXYpOw0KICAgICBpZiAoSTQwRV9TVUNDRVNTICE9IHJldCkgew0K ICAgICAgICAgUE1EX0RSVl9MT0coRVJSLCAiRmFpbCB0byBhcHBseSBsaW5rIHNldHRpbmciKTsN CkBAIC0xMjA5LDcgKzEyMDcsNyBAQCBpNDBlX2Rldl9saW5rX3VwZGF0ZShzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldiwNCiAgICAgICAgIC8qIEdldCBsaW5rIHN0YXR1cyBpbmZvcm1hdGlvbiBmcm9t IGhhcmR3YXJlICovDQogICAgICAgICBzdGF0dXMgPSBpNDBlX2FxX2dldF9saW5rX2luZm8oaHcs IGZhbHNlLCAmbGlua19zdGF0dXMsIE5VTEwpOw0KICAgICAgICAgaWYgKHN0YXR1cyAhPSBJNDBF X1NVQ0NFU1MpIHsNCi0gICAgICAgICAgICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfTElOS19TUEVF RF8xMDA7DQorICAgICAgICAgICAgbGluay5saW5rX3NwZWVkID0gRVRIX1NQRUVEX05VTV8xMDBN Ow0KICAgICAgICAgICAgIGxpbmsubGlua19kdXBsZXggPSBFVEhfTElOS19GVUxMX0RVUExFWDsN CiAgICAgICAgICAgICBQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gZ2V0IGxpbmsgaW5mbyIp Ow0KICAgICAgICAgICAgIGdvdG8gb3V0Ow0KQEAgLTEyMzEsMjIgKzEyMjksMjIgQEAgaTQwZV9k ZXZfbGlua191cGRhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQogICAgIC8qIFBhcnNlIHRo ZSBsaW5rIHN0YXR1cyAqLw0KICAgICBzd2l0Y2ggKGxpbmtfc3RhdHVzLmxpbmtfc3BlZWQpIHsN CiAgICAgY2FzZSBJNDBFX0xJTktfU1BFRURfMTAwTUI6DQotICAgICAgICBsaW5rLmxpbmtfc3Bl ZWQgPSBFVEhfTElOS19TUEVFRF8xMDA7DQorICAgICAgICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhf U1BFRURfTlVNXzEwME07DQogICAgICAgICBicmVhazsNCiAgICAgY2FzZSBJNDBFX0xJTktfU1BF RURfMUdCOg0KLSAgICAgICAgbGluay5saW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURfMTAwMDsN CisgICAgICAgIGxpbmsubGlua19zcGVlZCA9IEVUSF9TUEVFRF9OVU1fMUc7DQogICAgICAgICBi cmVhazsNCiAgICAgY2FzZSBJNDBFX0xJTktfU1BFRURfMTBHQjoNCi0gICAgICAgIGxpbmsubGlu a19zcGVlZCA9IEVUSF9MSU5LX1NQRUVEXzEwRzsNCisgICAgICAgIGxpbmsubGlua19zcGVlZCA9 IEVUSF9TUEVFRF9OVU1fMTBHOw0KICAgICAgICAgYnJlYWs7DQogICAgIGNhc2UgSTQwRV9MSU5L X1NQRUVEXzIwR0I6DQotICAgICAgICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfTElOS19TUEVFRF8y MEc7DQorICAgICAgICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfU1BFRURfTlVNXzIwRzsNCiAgICAg ICAgIGJyZWFrOw0KICAgICBjYXNlIEk0MEVfTElOS19TUEVFRF80MEdCOg0KLSAgICAgICAgbGlu ay5saW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURfNDBHOw0KKyAgICAgICAgbGluay5saW5rX3Nw ZWVkID0gRVRIX1NQRUVEX05VTV80MEc7DQogICAgICAgICBicmVhazsNCiAgICAgZGVmYXVsdDoN Ci0gICAgICAgIGxpbmsubGlua19zcGVlZCA9IEVUSF9MSU5LX1NQRUVEXzEwMDsNCisgICAgICAg IGxpbmsubGlua19zcGVlZCA9IEVUSF9TUEVFRF9OVU1fMTAwTTsNCiAgICAgICAgIGJyZWFrOw0K ICAgICB9DQoNCkBAIC0xNjg3LDEwICsxNjg1LDEwIEBAIGk0MGVfZGV2X2luZm9fZ2V0KHN0cnVj dCBydGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3QgcnRlX2V0aF9kZXZfaW5mbyAqZGV2X2luZm8pDQoN CiAgICAgaWYgKGk0MGVfaXNfNDBHX2RldmljZShody0+ZGV2aWNlX2lkKSkNCiAgICAgICAgIC8q IEZvciBYTDcxMCAqLw0KLSAgICAgICAgZGV2X2luZm8tPnNwZWVkX2NhcGEgPSBFVEhfU1BFRURf Q0FQXzFHIHwgRVRIX1NQRUVEX0NBUF8xMEc7DQorICAgICAgICBkZXZfaW5mby0+c3BlZWRfY2Fw YSA9IEVUSF9MSU5LX1NQRUVEXzFHIHwgRVRIX0xJTktfU1BFRURfMTBHOw0KICAgICBlbHNlDQog ICAgICAgICAvKiBGb3IgWDcxMCAqLw0KLSAgICAgICAgZGV2X2luZm8tPnNwZWVkX2NhcGEgPSBF VEhfU1BFRURfQ0FQXzEwRyB8IEVUSF9TUEVFRF9DQVBfNDBHOw0KKyAgICAgICAgZGV2X2luZm8t PnNwZWVkX2NhcGEgPSBFVEhfTElOS19TUEVFRF8xMEcgfCBFVEhfTElOS19TUEVFRF80MEc7DQoN CiB9DQoNCkBAIC02MTk1LDE1ICs2MTkzLDE1IEBAIGk0MGVfdGltZXN5bmNfZW5hYmxlKHN0cnVj dCBydGVfZXRoX2RldiAqZGV2KQ0KICAgICB1aW50MzJfdCB0c3luY19pbmNfaDsNCg0KICAgICBz d2l0Y2ggKGxpbmstPmxpbmtfc3BlZWQpIHsNCi0gICAgY2FzZSBFVEhfTElOS19TUEVFRF80MEc6 DQorICAgIGNhc2UgRVRIX1NQRUVEX05VTV80MEc6DQogICAgICAgICB0c3luY19pbmNfbCA9IEk0 MEVfUFRQXzQwR0JfSU5DVkFMICYgMHhGRkZGRkZGRjsNCiAgICAgICAgIHRzeW5jX2luY19oID0g STQwRV9QVFBfNDBHQl9JTkNWQUwgPj4gIDMyOw0KICAgICAgICAgYnJlYWs7DQotICAgIGNhc2Ug RVRIX0xJTktfU1BFRURfMTBHOg0KKyAgICBjYXNlIEVUSF9TUEVFRF9OVU1fMTBHOg0KICAgICAg ICAgdHN5bmNfaW5jX2wgPSBJNDBFX1BUUF8xMEdCX0lOQ1ZBTCAmIDB4RkZGRkZGRkY7DQogICAg ICAgICB0c3luY19pbmNfaCA9IEk0MEVfUFRQXzEwR0JfSU5DVkFMID4+ICAzMjsNCiAgICAgICAg IGJyZWFrOw0KLSAgICBjYXNlIEVUSF9MSU5LX1NQRUVEXzEwMDA6DQorICAgIGNhc2UgRVRIX1NQ RUVEX05VTV8xRzoNCiAgICAgICAgIHRzeW5jX2luY19sID0gSTQwRV9QVFBfMUdCX0lOQ1ZBTCAm IDB4RkZGRkZGRkY7DQogICAgICAgICB0c3luY19pbmNfaCA9IEk0MEVfUFRQXzFHQl9JTkNWQUwg Pj4gIDMyOw0KICAgICAgICAgYnJlYWs7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldl92Zi5jIGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldl92Zi5jDQppbmRl eCBiNjk0NDAwLi44ZDNhY2FlIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldl92Zi5jDQorKysgYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2X3ZmLmMNCkBAIC0x NjM1LDEzICsxNjM1LDE0IEBAIGk0MGV2Zl9kZXZfbGlua191cGRhdGUoc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXYsDQogICAgICAqIERQREsgcGYgaG9zdCBwcm92aWRlIGludGVyZmFjZXQgdG8gYWNx dWlyZSBsaW5rIHN0YXR1cw0KICAgICAgKiB3aGlsZSBMaW51eCBkcml2ZXIgZG9lcyBub3QNCiAg ICAgICovDQotICAgIGlmICh2Zi0+dmVyc2lvbl9tYWpvciA9PSBJNDBFX0RQREtfVkVSU0lPTl9N QUpPUikNCisgICAgaWYgKHZmLT52ZXJzaW9uX21ham9yID09IEk0MEVfRFBES19WRVJTSU9OX01B Sk9SKSB7DQogICAgICAgICBpNDBldmZfZ2V0X2xpbmtfc3RhdHVzKGRldiwgJm5ld19saW5rKTsN Ci0gICAgZWxzZSB7DQorICAgIH0gZWxzZSB7DQogICAgICAgICAvKiBBbHdheXMgYXNzdW1lIGl0 J3MgdXAsIGZvciBMaW51eCBkcml2ZXIgUEYgaG9zdCAqLw0KLSAgICAgICAgbmV3X2xpbmsubGlu a19kdXBsZXggPSBFVEhfTElOS19BVVRPTkVHX0RVUExFWDsNCi0gICAgICAgIG5ld19saW5rLmxp bmtfc3BlZWQgID0gRVRIX0xJTktfU1BFRURfMTAwMDA7DQotICAgICAgICBuZXdfbGluay5saW5r X3N0YXR1cyA9IDE7DQorICAgICAgICBuZXdfbGluay5saW5rX3NwZWVkICA9IEVUSF9TUEVFRF9O VU1fMTBHOw0KKyAgICAgICAgbmV3X2xpbmsubGlua19kdXBsZXggPSBFVEhfTElOS19GVUxMX0RV UExFWDsNCisgICAgICAgIG5ld19saW5rLmxpbmtfYXV0b25lZyA9IEVUSF9MSU5LX1NQRUVEX05F RzsNCisgICAgICAgIG5ld19saW5rLmxpbmtfc3RhdHVzID0gRVRIX0xJTktfVVA7DQogICAgIH0N CiAgICAgaTQwZXZmX2Rldl9hdG9taWNfd3JpdGVfbGlua19zdGF0dXMoZGV2LCAmbmV3X2xpbmsp Ow0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMgYi9kcml2 ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0KaW5kZXggMDUzYzc3ZS4uYTExMDNmMCAxMDA2 NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQorKysgYi9kcml2ZXJz L25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0KQEAgLTE2NzYsMTQgKzE2NzYsMTMgQEAgaXhnYmVf ZGV2X3N0YXJ0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KICAgICBpbnQgbWFzayA9IDA7DQog ICAgIGludCBzdGF0dXM7DQogICAgIHVpbnQxNl90IHZmLCBpZHg7DQorICAgIHVpbnQzMl90ICps aW5rX3NwZWVkczsNCg0KICAgICBQTURfSU5JVF9GVU5DX1RSQUNFKCk7DQoNCiAgICAgLyogSVhH QkUgZGV2aWNlcyBkb24ndCBzdXBwb3J0IGhhbGYgZHVwbGV4ICovDQotICAgIGlmICgoZGV2LT5k YXRhLT5kZXZfY29uZi5saW5rX2R1cGxleCAhPSBFVEhfTElOS19BVVRPTkVHX0RVUExFWCkgJiYN Ci0gICAgICAgICAgICAoZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX2R1cGxleCAhPSBFVEhfTElO S19GVUxMX0RVUExFWCkpIHsNCi0gICAgICAgIFBNRF9JTklUX0xPRyhFUlIsICJJbnZhbGlkIGxp bmtfZHVwbGV4ICglaHUpIGZvciBwb3J0ICVoaHUiLA0KLSAgICAgICAgICAgICAgICAgZGV2LT5k YXRhLT5kZXZfY29uZi5saW5rX2R1cGxleCwNCisgICAgaWYgKGRldi0+ZGF0YS0+ZGV2X2NvbmYu bGlua19zcGVlZHMgJiBFVEhfTElOS19TUEVFRF9OT19BVVRPTkVHKSB7DQorICAgICAgICBQTURf SU5JVF9MT0coRVJSLCAiSW52YWxpZCBsaW5rX3NwZWVkcyBmb3IgcG9ydCAlaGh1OyBhdXRvbmVn b2NpYXRpb24gZGlzYWJsZWQiLA0KICAgICAgICAgICAgICAgICAgZGV2LT5kYXRhLT5wb3J0X2lk KTsNCiAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KICAgICB9DQpAQCAtMTc2OSwzMiArMTc2OCwy MiBAQCBpeGdiZV9kZXZfc3RhcnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQogICAgIGlmIChl cnIpDQogICAgICAgICBnb3RvIGVycm9yOw0KDQotICAgIHN3aXRjaChkZXYtPmRhdGEtPmRldl9j b25mLmxpbmtfc3BlZWQpIHsNCi0gICAgY2FzZSBFVEhfTElOS19TUEVFRF9BVVRPTkVHOg0KLSAg ICAgICAgc3BlZWQgPSAoaHctPm1hYy50eXBlICE9IGl4Z2JlX21hY184MjU5OEVCKSA/DQotICAg ICAgICAgICAgICAgIElYR0JFX0xJTktfU1BFRURfODI1OTlfQVVUT05FRyA6DQotICAgICAgICAg ICAgICAgIElYR0JFX0xJTktfU1BFRURfODI1OThfQVVUT05FRzsNCi0gICAgICAgIGJyZWFrOw0K LSAgICBjYXNlIEVUSF9MSU5LX1NQRUVEXzEwMDoNCi0gICAgICAgIC8qDQotICAgICAgICAgKiBJ bnZhbGlkIGZvciA4MjU5OCBidXQgZXJyb3Igd2lsbCBiZSBkZXRlY3RlZCBieQ0KLSAgICAgICAg ICogaXhnYmVfc2V0dXBfbGluaygpDQotICAgICAgICAgKi8NCi0gICAgICAgIHNwZWVkID0gSVhH QkVfTElOS19TUEVFRF8xMDBfRlVMTDsNCi0gICAgICAgIGJyZWFrOw0KLSAgICBjYXNlIEVUSF9M SU5LX1NQRUVEXzEwMDA6DQotICAgICAgICBzcGVlZCA9IElYR0JFX0xJTktfU1BFRURfMUdCX0ZV TEw7DQotICAgICAgICBicmVhazsNCi0gICAgY2FzZSBFVEhfTElOS19TUEVFRF8xMDAwMDoNCi0g ICAgICAgIHNwZWVkID0gSVhHQkVfTElOS19TUEVFRF8xMEdCX0ZVTEw7DQotICAgICAgICBicmVh azsNCi0gICAgZGVmYXVsdDoNCi0gICAgICAgIFBNRF9JTklUX0xPRyhFUlIsICJJbnZhbGlkIGxp bmtfc3BlZWQgKCVodSkgZm9yIHBvcnQgJWhodSIsDQotICAgICAgICAgICAgICAgICBkZXYtPmRh dGEtPmRldl9jb25mLmxpbmtfc3BlZWQsDQotICAgICAgICAgICAgICAgICBkZXYtPmRhdGEtPnBv cnRfaWQpOw0KKyAgICBsaW5rX3NwZWVkcyA9ICZkZXYtPmRhdGEtPmRldl9jb25mLmxpbmtfc3Bl ZWRzOw0KKyAgICBpZiAoKmxpbmtfc3BlZWRzICYgfihFVEhfTElOS19TUEVFRF8xMDBNIHwgRVRI X0xJTktfU1BFRURfMUcgfA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfTElOS19T UEVFRF8xMEcpKSB7DQorICAgICAgICBQTURfSU5JVF9MT0coRVJSLCAiSW52YWxpZCBsaW5rIHNl dHRpbmciKTsNCiAgICAgICAgIGdvdG8gZXJyb3I7DQogICAgIH0NCg0KKyAgICBzcGVlZCA9IDB4 MDsNCisNCisgICAgaWYgKCpsaW5rX3NwZWVkcyAmIEVUSF9MSU5LX1NQRUVEXzEwRykNCisgICAg ICAgIHNwZWVkIHw9IElYR0JFX0xJTktfU1BFRURfMTBHQl9GVUxMOw0KKyAgICBpZiAoKmxpbmtf c3BlZWRzICYgRVRIX0xJTktfU1BFRURfMUcpDQorICAgICAgICBzcGVlZCB8PSBJWEdCRV9MSU5L X1NQRUVEXzFHQl9GVUxMOw0KKyAgICBpZiAoKmxpbmtfc3BlZWRzICYgRVRIX0xJTktfU1BFRURf MTAwTSkNCisgICAgICAgIHNwZWVkIHw9IElYR0JFX0xJTktfU1BFRURfMTAwX0ZVTEw7DQorDQog ICAgIGVyciA9IGl4Z2JlX3NldHVwX2xpbmsoaHcsIHNwZWVkLCBsaW5rX3VwKTsNCiAgICAgaWYg KGVycikNCiAgICAgICAgIGdvdG8gZXJyb3I7DQpAQCAtMjQwMCwxNSArMjM4OSwxNiBAQCBpeGdi ZV9kZXZfaW5mb19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBydGVfZXRoX2Rl dl9pbmZvICpkZXZfaW5mbykNCiAgICAgZGV2X2luZm8tPnJldGFfc2l6ZSA9IEVUSF9SU1NfUkVU QV9TSVpFXzEyODsNCiAgICAgZGV2X2luZm8tPmZsb3dfdHlwZV9yc3Nfb2ZmbG9hZHMgPSBJWEdC RV9SU1NfT0ZGTE9BRF9BTEw7DQoNCi0gICAgZGV2X2luZm8tPnNwZWVkX2NhcGEgPSBFVEhfU1BF RURfQ0FQXzFHIHwgRVRIX1NQRUVEX0NBUF8xMEc7DQorICAgIGRldl9pbmZvLT5zcGVlZF9jYXBh ID0gRVRIX0xJTktfU1BFRURfMUcgfCBFVEhfTElOS19TUEVFRF8xMEc7DQoNCiAgICAgaWYgKGh3 LT5tYWMudHlwZSA9PSBpeGdiZV9tYWNfWDU0MCB8fA0KICAgICAgICAgaHctPm1hYy50eXBlID09 IGl4Z2JlX21hY19YNTQwX3ZmIHx8DQogICAgICAgICBody0+bWFjLnR5cGUgPT0gaXhnYmVfbWFj X1g1NTAgfHwNCi0gICAgICAgIGh3LT5tYWMudHlwZSA9PSBpeGdiZV9tYWNfWDU1MF92ZikNCisg ICAgICAgIGh3LT5tYWMudHlwZSA9PSBpeGdiZV9tYWNfWDU1MF92Zikgew0KDQotICAgICAgICBk ZXZfaW5mby0+c3BlZWRfY2FwYSB8PSBFVEhfU1BFRURfQ0FQXzEwME1fRkQNCi0gICAgICAgICAg ICAgICAgICAgIC8qfCBFVEhfU1BFRURfQ0FQXzEwME1fSEQqLzsNCisgICAgICAgIGRldl9pbmZv LT5zcGVlZF9jYXBhIHw9IEVUSF9MSU5LX1NQRUVEXzEwME0NCisgICAgICAgICAgICAgICAgICAg IC8qfCBFVEhfTElOS19TUEVFRF8xMDBNX0hEKi87DQorICAgIH0NCiB9DQoNCiBzdGF0aWMgdm9p ZA0KQEAgLTI0NzEsOSArMjQ2MSw5IEBAIGl4Z2JlX2Rldl9saW5rX3VwZGF0ZShzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldiwgaW50IHdhaXRfdG9fY29tcGxldGUpDQogICAgIGludCBsaW5rX3VwOw0K ICAgICBpbnQgZGlhZzsNCg0KLSAgICBsaW5rLmxpbmtfc3RhdHVzID0gMDsNCisgICAgbGluay5s aW5rX3N0YXR1cyA9IEVUSF9MSU5LX0RPV047DQogICAgIGxpbmsubGlua19zcGVlZCA9IDA7DQot ICAgIGxpbmsubGlua19kdXBsZXggPSAwOw0KKyAgICBsaW5rLmxpbmtfZHVwbGV4ID0gRVRIX0xJ TktfSEFMRl9EVVBMRVg7DQogICAgIG1lbXNldCgmb2xkLCAwLCBzaXplb2Yob2xkKSk7DQogICAg IHJ0ZV9peGdiZV9kZXZfYXRvbWljX3JlYWRfbGlua19zdGF0dXMoZGV2LCAmb2xkKTsNCg0KQEAg LTI0ODYsOCArMjQ3Niw4IEBAIGl4Z2JlX2Rldl9saW5rX3VwZGF0ZShzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmRldiwgaW50IHdhaXRfdG9fY29tcGxldGUpDQogICAgICAgICBkaWFnID0gaXhnYmVfY2hl Y2tfbGluayhodywgJmxpbmtfc3BlZWQsICZsaW5rX3VwLCAxKTsNCg0KICAgICBpZiAoZGlhZyAh PSAwKSB7DQotICAgICAgICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfTElOS19TUEVFRF8xMDA7DQot ICAgICAgICBsaW5rLmxpbmtfZHVwbGV4ID0gRVRIX0xJTktfSEFMRl9EVVBMRVg7DQorICAgICAg ICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfU1BFRURfTlVNXzEwME07DQorICAgICAgICBsaW5rLmxp bmtfZHVwbGV4ID0gRVRIX0xJTktfRlVMTF9EVVBMRVg7DQogICAgICAgICBydGVfaXhnYmVfZGV2 X2F0b21pY193cml0ZV9saW5rX3N0YXR1cyhkZXYsICZsaW5rKTsNCiAgICAgICAgIGlmIChsaW5r Lmxpbmtfc3RhdHVzID09IG9sZC5saW5rX3N0YXR1cykNCiAgICAgICAgICAgICByZXR1cm4gLTE7 DQpAQCAtMjUwMCwyNiArMjQ5MCwyNiBAQCBpeGdiZV9kZXZfbGlua191cGRhdGUoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYsIGludCB3YWl0X3RvX2NvbXBsZXRlKQ0KICAgICAgICAgICAgIHJldHVy biAtMTsNCiAgICAgICAgIHJldHVybiAwOw0KICAgICB9DQotICAgIGxpbmsubGlua19zdGF0dXMg PSAxOw0KKyAgICBsaW5rLmxpbmtfc3RhdHVzID0gRVRIX0xJTktfVVA7DQogICAgIGxpbmsubGlu a19kdXBsZXggPSBFVEhfTElOS19GVUxMX0RVUExFWDsNCg0KICAgICBzd2l0Y2ggKGxpbmtfc3Bl ZWQpIHsNCiAgICAgZGVmYXVsdDoNCiAgICAgY2FzZSBJWEdCRV9MSU5LX1NQRUVEX1VOS05PV046 DQotICAgICAgICBsaW5rLmxpbmtfZHVwbGV4ID0gRVRIX0xJTktfSEFMRl9EVVBMRVg7DQotICAg ICAgICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfTElOS19TUEVFRF8xMDA7DQorICAgICAgICBsaW5r LmxpbmtfZHVwbGV4ID0gRVRIX0xJTktfRlVMTF9EVVBMRVg7DQorICAgICAgICBsaW5rLmxpbmtf c3BlZWQgPSBFVEhfU1BFRURfTlVNXzEwME07DQogICAgICAgICBicmVhazsNCg0KICAgICBjYXNl IElYR0JFX0xJTktfU1BFRURfMTAwX0ZVTEw6DQotICAgICAgICBsaW5rLmxpbmtfc3BlZWQgPSBF VEhfTElOS19TUEVFRF8xMDA7DQorICAgICAgICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfU1BFRURf TlVNXzEwME07DQogICAgICAgICBicmVhazsNCg0KICAgICBjYXNlIElYR0JFX0xJTktfU1BFRURf MUdCX0ZVTEw6DQotICAgICAgICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfTElOS19TUEVFRF8xMDAw Ow0KKyAgICAgICAgbGluay5saW5rX3NwZWVkID0gRVRIX1NQRUVEX05VTV8xRzsNCiAgICAgICAg IGJyZWFrOw0KDQogICAgIGNhc2UgSVhHQkVfTElOS19TUEVFRF8xMEdCX0ZVTEw6DQotICAgICAg ICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfTElOS19TUEVFRF8xMDAwMDsNCisgICAgICAgIGxpbmsu bGlua19zcGVlZCA9IEVUSF9TUEVFRF9OVU1fMTBHOw0KICAgICAgICAgYnJlYWs7DQogICAgIH0N CiAgICAgcnRlX2l4Z2JlX2Rldl9hdG9taWNfd3JpdGVfbGlua19zdGF0dXMoZGV2LCAmbGluayk7 DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NC9tbHg0LmMgYi9kcml2ZXJzL25ldC9tbHg0 L21seDQuYw0KaW5kZXggODhmOTVlNS4uNDFjMGFkMSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0 L21seDQvbWx4NC5jDQorKysgYi9kcml2ZXJzL25ldC9tbHg0L21seDQuYw0KQEAgLTQyMDcsNiAr NDIwNyw4IEBAIG1seDRfbGlua191cGRhdGVfdW5sb2NrZWQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYsIGludCB3YWl0X3RvX2NvbXBsZXRlKQ0KICAgICAgICAgZGV2X2xpbmsubGlua19zcGVlZCA9 IGxpbmtfc3BlZWQ7DQogICAgIGRldl9saW5rLmxpbmtfZHVwbGV4ID0gKChlZGF0YS5kdXBsZXgg PT0gRFVQTEVYX0hBTEYpID8NCiAgICAgICAgICAgICAgICAgRVRIX0xJTktfSEFMRl9EVVBMRVgg OiBFVEhfTElOS19GVUxMX0RVUExFWCk7DQorICAgIGRldl9saW5rLmxpbmtfYXV0b25lZyA9IH4o ZGV2LT5kYXRhLT5kZXZfY29uZi5saW5rX3NwZWVkcyAmDQorICAgICAgICAgICAgICAgICAgICAg ICAgRVRIX0xJTktfU1BFRURfTk9fQVVUT05FRyk7DQogICAgIGlmIChtZW1jbXAoJmRldl9saW5r LCAmZGV2LT5kYXRhLT5kZXZfbGluaywgc2l6ZW9mKGRldl9saW5rKSkpIHsNCiAgICAgICAgIC8q IExpbmsgc3RhdHVzIGNoYW5nZWQuICovDQogICAgICAgICBkZXYtPmRhdGEtPmRldl9saW5rID0g ZGV2X2xpbms7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbXBpcGUvbXBpcGVfdGlsZWd4LmMg Yi9kcml2ZXJzL25ldC9tcGlwZS9tcGlwZV90aWxlZ3guYw0KaW5kZXggNzQzZmVlZi4uNTg3NTM3 MSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L21waXBlL21waXBlX3RpbGVneC5jDQorKysgYi9k cml2ZXJzL25ldC9tcGlwZS9tcGlwZV90aWxlZ3guYw0KQEAgLTM4OCwxNCArMzg4LDE2IEBAIG1w aXBlX2xpbmtfdXBkYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBpbnQgd2FpdF90b19jb21w bGV0ZSkNCg0KICAgICAgICAgc3BlZWQgPSBzdGF0ZSAmIEdYSU9fTVBJUEVfTElOS19TUEVFRF9N QVNLOw0KDQorICAgICAgICBuZXcubGlua19hdXRvbmVnID0gfihkZXYtPmRhdGEtPmRldl9jb25m Lmxpbmtfc3BlZWRzICYNCisgICAgICAgICAgICAgICAgICAgICAgICBFVEhfTElOS19TUEVFRF9O T19BVVRPTkVHKTsNCiAgICAgICAgIGlmIChzcGVlZCA9PSBHWElPX01QSVBFX0xJTktfMUcpIHsN CiAgICAgICAgICAgICBuZXcubGlua19zcGVlZCA9IEVUSF9MSU5LX1NQRUVEXzEwMDA7DQogICAg ICAgICAgICAgbmV3LmxpbmtfZHVwbGV4ID0gRVRIX0xJTktfRlVMTF9EVVBMRVg7DQotICAgICAg ICAgICAgbmV3Lmxpbmtfc3RhdHVzID0gMTsNCisgICAgICAgICAgICBuZXcubGlua19zdGF0dXMg PSBFVEhfTElOS19VUDsNCiAgICAgICAgIH0gZWxzZSBpZiAoc3BlZWQgPT0gR1hJT19NUElQRV9M SU5LXzEwRykgew0KICAgICAgICAgICAgIG5ldy5saW5rX3NwZWVkID0gRVRIX0xJTktfU1BFRURf MTAwMDA7DQogICAgICAgICAgICAgbmV3LmxpbmtfZHVwbGV4ID0gRVRIX0xJTktfRlVMTF9EVVBM RVg7DQotICAgICAgICAgICAgbmV3Lmxpbmtfc3RhdHVzID0gMTsNCisgICAgICAgICAgICBuZXcu bGlua19zdGF0dXMgPSBFVEhfTElOS19VUDsNCiAgICAgICAgIH0NCg0KICAgICAgICAgcmMgPSBt cGlwZV9saW5rX2NvbXBhcmUoJm9sZCwgJm5ldyk7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv bnVsbC9ydGVfZXRoX251bGwuYyBiL2RyaXZlcnMvbmV0L251bGwvcnRlX2V0aF9udWxsLmMNCmlu ZGV4IGUyNDQ1OTUuLjc3MDRmYTYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9udWxsL3J0ZV9l dGhfbnVsbC5jDQorKysgYi9kcml2ZXJzL25ldC9udWxsL3J0ZV9ldGhfbnVsbC5jDQpAQCAtNzks OSArNzksMTAgQEAgc3RydWN0IHBtZF9pbnRlcm5hbHMgew0KIHN0YXRpYyBzdHJ1Y3QgZXRoZXJf YWRkciBldGhfYWRkciA9IHsgLmFkZHJfYnl0ZXMgPSB7MH0gfTsNCiBzdGF0aWMgY29uc3QgY2hh ciAqZHJpdmVybmFtZSA9ICJOdWxsIFBNRCI7DQogc3RhdGljIHN0cnVjdCBydGVfZXRoX2xpbmsg cG1kX2xpbmsgPSB7DQotICAgIC5saW5rX3NwZWVkID0gMTAwMDAsDQorICAgIC5saW5rX3NwZWVk ID0gRVRIX1NQRUVEX05VTV8xMEcsDQogICAgIC5saW5rX2R1cGxleCA9IEVUSF9MSU5LX0ZVTExf RFVQTEVYLA0KLSAgICAubGlua19zdGF0dXMgPSAwDQorICAgIC5saW5rX3N0YXR1cyA9IEVUSF9M SU5LX0RPV04sDQorICAgIC5saW5rX2F1dG9uZWcgPSBFVEhfTElOS19TUEVFRF9ORUcsDQogfTsN Cg0KIHN0YXRpYyB1aW50MTZfdA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BjYXAvcnRlX2V0 aF9wY2FwLmMgYi9kcml2ZXJzL25ldC9wY2FwL3J0ZV9ldGhfcGNhcC5jDQppbmRleCBmMmU0NjM0 Li5lYTdhMjhmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvcGNhcC9ydGVfZXRoX3BjYXAuYw0K KysrIGIvZHJpdmVycy9uZXQvcGNhcC9ydGVfZXRoX3BjYXAuYw0KQEAgLTEyNSw5ICsxMjUsMTAg QEAgc3RhdGljIGludCBvcGVuX3NpbmdsZV9pZmFjZShjb25zdCBjaGFyICppZmFjZSwgcGNhcF90 ICoqcGNhcCk7DQogc3RhdGljIHN0cnVjdCBldGhlcl9hZGRyIGV0aF9hZGRyID0geyAuYWRkcl9i eXRlcyA9IHsgMCwgMCwgMCwgMHgxLCAweDIsIDB4MyB9IH07DQogc3RhdGljIGNvbnN0IGNoYXIg KmRyaXZlcm5hbWUgPSAiUGNhcCBQTUQiOw0KIHN0YXRpYyBzdHJ1Y3QgcnRlX2V0aF9saW5rIHBt ZF9saW5rID0gew0KLSAgICAgICAgLmxpbmtfc3BlZWQgPSAxMDAwMCwNCisgICAgICAgIC5saW5r X3NwZWVkID0gRVRIX1NQRUVEX05VTV8xMEcsDQogICAgICAgICAubGlua19kdXBsZXggPSBFVEhf TElOS19GVUxMX0RVUExFWCwNCi0gICAgICAgIC5saW5rX3N0YXR1cyA9IDANCisgICAgICAgIC5s aW5rX3N0YXR1cyA9IEVUSF9MSU5LX0RPV04sDQorICAgICAgICAubGlua19hdXRvbmVnID0gRVRI X0xJTktfU1BFRURfRklYRUQsDQogfTsNCg0KIHN0YXRpYyBpbnQNCkBAIC00MzAsNyArNDMxLDcg QEAgZXRoX2Rldl9zdGFydChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCg0KIHN0YXR1c191cDoN Cg0KLSAgICBkZXYtPmRhdGEtPmRldl9saW5rLmxpbmtfc3RhdHVzID0gMTsNCisgICAgZGV2LT5k YXRhLT5kZXZfbGluay5saW5rX3N0YXR1cyA9IEVUSF9MSU5LX1VQOw0KICAgICByZXR1cm4gMDsN CiB9DQoNCkBAIC00ODEsNyArNDgyLDcgQEAgZXRoX2Rldl9zdG9wKHN0cnVjdCBydGVfZXRoX2Rl diAqZGV2KQ0KICAgICB9DQoNCiBzdGF0dXNfZG93bjoNCi0gICAgZGV2LT5kYXRhLT5kZXZfbGlu ay5saW5rX3N0YXR1cyA9IDA7DQorICAgIGRldi0+ZGF0YS0+ZGV2X2xpbmsubGlua19zdGF0dXMg PSBFVEhfTElOS19ET1dOOw0KIH0NCg0KIHN0YXRpYyBpbnQNCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9yaW5nL3J0ZV9ldGhfcmluZy5jIGIvZHJpdmVycy9uZXQvcmluZy9ydGVfZXRoX3Jpbmcu Yw0KaW5kZXggMGJhMzZkNS4uNjI2YzM4MSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L3Jpbmcv cnRlX2V0aF9yaW5nLmMNCisrKyBiL2RyaXZlcnMvbmV0L3JpbmcvcnRlX2V0aF9yaW5nLmMNCkBA IC03MSw5ICs3MSwxMCBAQCBzdHJ1Y3QgcG1kX2ludGVybmFscyB7DQoNCiBzdGF0aWMgY29uc3Qg Y2hhciAqZHJpdmVybmFtZSA9ICJSaW5ncyBQTUQiOw0KIHN0YXRpYyBzdHJ1Y3QgcnRlX2V0aF9s aW5rIHBtZF9saW5rID0gew0KLSAgICAgICAgLmxpbmtfc3BlZWQgPSAxMDAwMCwNCisgICAgICAg IC5saW5rX3NwZWVkID0gRVRIX1NQRUVEX05VTV8xMEcsDQogICAgICAgICAubGlua19kdXBsZXgg PSBFVEhfTElOS19GVUxMX0RVUExFWCwNCi0gICAgICAgIC5saW5rX3N0YXR1cyA9IDANCisgICAg ICAgIC5saW5rX3N0YXR1cyA9IEVUSF9MSU5LX0RPV04sDQorICAgICAgICAubGlua19hdXRvbmVn ID0gRVRIX0xJTktfU1BFRURfTkVHDQogfTsNCg0KIHN0YXRpYyB1aW50MTZfdA0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L3ZteG5ldDMvdm14bmV0M19ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L3Zt eG5ldDMvdm14bmV0M19ldGhkZXYuYw0KaW5kZXggYTcwYmU1Yy4uNjg2MDM2MCAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvbmV0L3ZteG5ldDMvdm14bmV0M19ldGhkZXYuYw0KKysrIGIvZHJpdmVycy9u ZXQvdm14bmV0My92bXhuZXQzX2V0aGRldi5jDQpAQCAtNjk3LDkgKzY5NywxMCBAQCB2bXhuZXQz X2Rldl9saW5rX3VwZGF0ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgX19hdHRyaWJ1dGVfXygo dW51c2VkKSkgaW50IHdhaQ0KICAgICByZXQgPSBWTVhORVQzX1JFQURfQkFSMV9SRUcoaHcsIFZN WE5FVDNfUkVHX0NNRCk7DQoNCiAgICAgaWYgKHJldCAmIDB4MSkgew0KLSAgICAgICAgbGluay5s aW5rX3N0YXR1cyA9IDE7DQorICAgICAgICBsaW5rLmxpbmtfc3RhdHVzID0gRVRIX0xJTktfVVA7 DQogICAgICAgICBsaW5rLmxpbmtfZHVwbGV4ID0gRVRIX0xJTktfRlVMTF9EVVBMRVg7DQotICAg ICAgICBsaW5rLmxpbmtfc3BlZWQgPSBFVEhfTElOS19TUEVFRF8xMDAwMDsNCisgICAgICAgIGxp bmsubGlua19zcGVlZCA9IEVUSF9TUEVFRF9OVU1fMTBHOw0KKyAgICAgICAgbGluay5saW5rX2F1 dG9uZWcgPSBFVEhfTElOS19TUEVFRF9GSVhFRDsNCiAgICAgfQ0KDQogICAgIHZteG5ldDNfZGV2 X2F0b21pY193cml0ZV9saW5rX3N0YXR1cyhkZXYsICZsaW5rKTsNCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC94ZW52aXJ0L3J0ZV9ldGhfeGVudmlydC5jIGIvZHJpdmVycy9uZXQveGVudmlydC9y dGVfZXRoX3hlbnZpcnQuYw0KaW5kZXggNzNlOGJjZS4uZmI0OTJlZSAxMDA2NDQNCi0tLSBhL2Ry aXZlcnMvbmV0L3hlbnZpcnQvcnRlX2V0aF94ZW52aXJ0LmMNCisrKyBiL2RyaXZlcnMvbmV0L3hl bnZpcnQvcnRlX2V0aF94ZW52aXJ0LmMNCkBAIC03MCw5ICs3MCwxMCBAQCBzdGF0aWMgaW50IHZp cnRpb19pZHggPSAwOw0KIHN0YXRpYyBjb25zdCBjaGFyICpkcml2ZXJuYW1lID0gInhlbiBkdW1t eSB2aXJ0aW8gUE1EIjsNCg0KIHN0YXRpYyBzdHJ1Y3QgcnRlX2V0aF9saW5rIHBtZF9saW5rID0g ew0KLSAgICAgICAgLmxpbmtfc3BlZWQgPSAxMDAwMCwNCisgICAgICAgIC5saW5rX3NwZWVkID0g RVRIX1NQRUVEX05VTV8xMEcsDQogICAgICAgICAubGlua19kdXBsZXggPSBFVEhfTElOS19GVUxM X0RVUExFWCwNCi0gICAgICAgIC5saW5rX3N0YXR1cyA9IDANCisgICAgICAgIC5saW5rX3N0YXR1 cyA9IEVUSF9MSU5LX0RPV04sDQorICAgICAgICAubGlua19hdXRvbmVnID0gRVRIX0xJTktfU1BF RURfRklYRUQNCiB9Ow0KDQogc3RhdGljIGlubGluZSBzdHJ1Y3QgcnRlX21idWYgKg0KZGlmZiAt LWdpdCBhL2V4YW1wbGVzL2lwX3BpcGVsaW5lL2NvbmZpZ19wYXJzZS5jIGIvZXhhbXBsZXMvaXBf cGlwZWxpbmUvY29uZmlnX3BhcnNlLmMNCmluZGV4IGM5Yjc4ZjkuLjkyZTZhMTggMTAwNjQ0DQot LS0gYS9leGFtcGxlcy9pcF9waXBlbGluZS9jb25maWdfcGFyc2UuYw0KKysrIGIvZXhhbXBsZXMv aXBfcGlwZWxpbmUvY29uZmlnX3BhcnNlLmMNCkBAIC04Myw4ICs4Myw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgYXBwX2xpbmtfcGFyYW1zIGxpbmtfcGFyYW1zX2RlZmF1bHQgPSB7DQogICAgIC5t YWNfYWRkciA9IDAsDQoNCiAgICAgLmNvbmYgPSB7DQotICAgICAgICAubGlua19zcGVlZCA9IDAs DQotICAgICAgICAubGlua19kdXBsZXggPSAwLA0KKyAgICAgICAgLmxpbmtfc3BlZWRzID0gMCwN CiAgICAgICAgIC5yeG1vZGUgPSB7DQogICAgICAgICAgICAgLm1xX21vZGUgPSBFVEhfTVFfUlhf Tk9ORSwNCg0KZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZXIvcnRlX2V0aGRldi5jIGIvbGli L2xpYnJ0ZV9ldGhlci9ydGVfZXRoZGV2LmMNCmluZGV4IGY1OTNmNmUuLjI5YjI5NjAgMTAwNjQ0 DQotLS0gYS9saWIvbGlicnRlX2V0aGVyL3J0ZV9ldGhkZXYuYw0KKysrIGIvbGliL2xpYnJ0ZV9l dGhlci9ydGVfZXRoZGV2LmMNCkBAIC0xMDcyLDYgKzEwNzIsNTUgQEAgcnRlX2V0aF9kZXZfY2hl Y2tfbXFfbW9kZSh1aW50OF90IHBvcnRfaWQsIHVpbnQxNl90IG5iX3J4X3EsIHVpbnQxNl90IG5i X3R4X3EsDQogfQ0KDQogaW50DQorcnRlX2V0aF9zcGVlZF90b19ibV9mbGFnKHVpbnQzMl90IHNw ZWVkLCBpbnQgZHVwbGV4LCB1aW50MzJfdCAqZmxhZykNCit7DQorICAgIHN3aXRjaCAoc3BlZWQp IHsNCisgICAgY2FzZSBFVEhfU1BFRURfTlVNXzEwTToNCisgICAgICAgICpmbGFnID0gKGR1cGxl eCkgPyBFVEhfTElOS19TUEVFRF8xME0gOg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBF VEhfTElOS19TUEVFRF8xME1fSEQ7DQorICAgICAgICBicmVhazsNCisgICAgY2FzZSBFVEhfU1BF RURfTlVNXzEwME06DQorICAgICAgICAqZmxhZyA9IChkdXBsZXgpID8gRVRIX0xJTktfU1BFRURf MTAwTSA6DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9MSU5LX1NQRUVEXzEwME1f SEQ7DQorICAgICAgICBicmVhazsNCisgICAgY2FzZSBFVEhfU1BFRURfTlVNXzFHOg0KKyAgICAg ICAgKmZsYWcgPSBFVEhfTElOS19TUEVFRF8xRzsNCisgICAgICAgIGJyZWFrOw0KKyAgICBjYXNl IEVUSF9TUEVFRF9OVU1fMl81RzoNCisgICAgICAgICpmbGFnID0gRVRIX0xJTktfU1BFRURfMl81 RzsNCisgICAgICAgIGJyZWFrOw0KKyAgICBjYXNlIEVUSF9TUEVFRF9OVU1fNUc6DQorICAgICAg ICAqZmxhZyA9IEVUSF9MSU5LX1NQRUVEXzVHOw0KKyAgICAgICAgYnJlYWs7DQorICAgIGNhc2Ug RVRIX1NQRUVEX05VTV8xMEc6DQorICAgICAgICAqZmxhZyA9IEVUSF9MSU5LX1NQRUVEXzEwRzsN CisgICAgICAgIGJyZWFrOw0KKyAgICBjYXNlIEVUSF9TUEVFRF9OVU1fMjBHOg0KKyAgICAgICAg KmZsYWcgPSBFVEhfTElOS19TUEVFRF8yMEc7DQorICAgICAgICBicmVhazsNCisgICAgY2FzZSBF VEhfU1BFRURfTlVNXzI1RzoNCisgICAgICAgICpmbGFnID0gRVRIX0xJTktfU1BFRURfMjVHOw0K KyAgICAgICAgYnJlYWs7DQorICAgIGNhc2UgRVRIX1NQRUVEX05VTV80MEc6DQorICAgICAgICAq ZmxhZyA9IEVUSF9MSU5LX1NQRUVEXzQwRzsNCisgICAgICAgIGJyZWFrOw0KKyAgICBjYXNlIEVU SF9TUEVFRF9OVU1fNTBHOg0KKyAgICAgICAgKmZsYWcgPSBFVEhfTElOS19TUEVFRF81MEc7DQor ICAgICAgICBicmVhazsNCisgICAgY2FzZSBFVEhfU1BFRURfTlVNXzU2RzoNCisgICAgICAgICpm bGFnID0gRVRIX0xJTktfU1BFRURfNTZHOw0KKyAgICAgICAgYnJlYWs7DQorICAgIGNhc2UgRVRI X1NQRUVEX05VTV8xMDBHOg0KKyAgICAgICAgKmZsYWcgPSBFVEhfTElOS19TUEVFRF8xMDBHOw0K KyAgICAgICAgYnJlYWs7DQorICAgIGRlZmF1bHQ6DQorICAgICAgICByZXR1cm4gLUVJTlZBTDsN CisgICAgfQ0KKw0KKyAgICByZXR1cm4gMDsNCit9DQorDQoraW50DQogcnRlX2V0aF9kZXZfY29u ZmlndXJlKHVpbnQ4X3QgcG9ydF9pZCwgdWludDE2X3QgbmJfcnhfcSwgdWludDE2X3QgbmJfdHhf cSwNCiAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXRoX2NvbmYgKmRldl9jb25mKQ0K IHsNCmRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V0aGVyL3J0ZV9ldGhkZXYuaCBiL2xpYi9saWJy dGVfZXRoZXIvcnRlX2V0aGRldi5oDQppbmRleCA5NTFhNDIzLi5iZDMzM2U0IDEwMDY0NA0KLS0t IGEvbGliL2xpYnJ0ZV9ldGhlci9ydGVfZXRoZGV2LmgNCisrKyBiL2xpYi9saWJydGVfZXRoZXIv cnRlX2V0aGRldi5oDQpAQCAtMjM4LDI2ICsyMzgsNTkgQEAgc3RydWN0IHJ0ZV9ldGhfc3RhdHMg ew0KIH07DQoNCiAvKioNCisgKiBEZXZpY2Ugc3VwcG9ydGVkIHNwZWVkcyBiaXRtYXAgZmxhZ3MN CisgKi8NCisjZGVmaW5lIEVUSF9MSU5LX1NQRUVEX0FVVE9ORUcgICAgICAgICgwIDw8ICAwKSAg Lyo8ICBBdXRvbmVnb2NpYXRlIChhbGwgc3BlZWRzKSAgKi8NCisjZGVmaW5lIEVUSF9MSU5LX1NQ RUVEX05PX0FVVE9ORUcgICAgKDEgPDwgIDApICAvKjwgIERpc2FibGUgYXV0b25lZyAoZml4ZWQg c3BlZWQpICAqLw0KKyNkZWZpbmUgRVRIX0xJTktfU1BFRURfMTBNX0hEICAgICAgICAoMSA8PCAg MSkgIC8qPCAgMTAgTWJwcyBoYWxmLWR1cGxleCAqLw0KKyNkZWZpbmUgRVRIX0xJTktfU1BFRURf MTBNICAgICAgICAoMSA8PCAgMikgIC8qPCAgMTAgTWJwcyBmdWxsLWR1cGxleCAqLw0KKyNkZWZp bmUgRVRIX0xJTktfU1BFRURfMTAwTV9IRCAgICAgICAgKDEgPDwgIDMpICAvKjwgIDEwMCBNYnBz IGhhbGYtZHVwbGV4ICovDQorI2RlZmluZSBFVEhfTElOS19TUEVFRF8xMDBNICAgICAgICAoMSA8 PCAgNCkgIC8qPCAgMTAwIE1icHMgZnVsbC1kdXBsZXggKi8NCisjZGVmaW5lIEVUSF9MSU5LX1NQ RUVEXzFHICAgICAgICAoMSA8PCAgNSkgIC8qPCAgMSBHYnBzICovDQorI2RlZmluZSBFVEhfTElO S19TUEVFRF8yXzVHICAgICAgICAoMSA8PCAgNikgIC8qPCAgMi41IEdicHMgKi8NCisjZGVmaW5l IEVUSF9MSU5LX1NQRUVEXzVHICAgICAgICAoMSA8PCAgNykgIC8qPCAgNSBHYnBzICovDQorI2Rl ZmluZSBFVEhfTElOS19TUEVFRF8xMEcgICAgICAgICgxIDw8ICA4KSAgLyo8ICAxMCBNYnBzICov DQorI2RlZmluZSBFVEhfTElOS19TUEVFRF8yMEcgICAgICAgICgxIDw8ICA5KSAgLyo8ICAyMCBH YnBzICovDQorI2RlZmluZSBFVEhfTElOS19TUEVFRF8yNUcgICAgICAgICgxIDw8ICAxMCkgIC8q PCAgMjUgR2JwcyAqLw0KKyNkZWZpbmUgRVRIX0xJTktfU1BFRURfNDBHICAgICAgICAoMSA8PCAg MTEpICAvKjwgIDQwIEdicHMgKi8NCisjZGVmaW5lIEVUSF9MSU5LX1NQRUVEXzUwRyAgICAgICAg KDEgPDwgIDEyKSAgLyo8ICA1MCBHYnBzICovDQorI2RlZmluZSBFVEhfTElOS19TUEVFRF81Nkcg ICAgICAgICgxIDw8ICAxMykgIC8qPCAgNTYgR2JwcyAqLw0KKyNkZWZpbmUgRVRIX0xJTktfU1BF RURfMTAwRyAgICAgICAgKDEgPDwgIDE0KSAgLyo8ICAxMDAgR2JwcyAqLw0KKw0KKy8qKg0KKyAq IEV0aGVybmV0IG51bWVyaWMgbGluayBzcGVlZHMgaW4gTWJwcw0KKyAqLw0KKyNkZWZpbmUgRVRI X1NQRUVEX05VTV9OT05FICAgIDAgICAgICAvKjwgIE5vdCBkZWZpbmVkICovDQorI2RlZmluZSBF VEhfU1BFRURfTlVNXzEwTSAgICAxMCAgICAgLyo8ICAxMCBNYnBzICovDQorI2RlZmluZSBFVEhf U1BFRURfTlVNXzEwME0gICAgMTAwICAgIC8qPCAgMTAwIE1icHMgKi8NCisjZGVmaW5lIEVUSF9T UEVFRF9OVU1fMUcgICAgMTAwMCAgIC8qPCAgMSBHYnBzICovDQorI2RlZmluZSBFVEhfU1BFRURf TlVNXzJfNUcgICAgMjUwMCAgIC8qPCAgMi41IEdicHMgKi8NCisjZGVmaW5lIEVUSF9TUEVFRF9O VU1fNUcgICAgNTAwMCAgIC8qPCAgNSBHYnBzICovDQorI2RlZmluZSBFVEhfU1BFRURfTlVNXzEw RyAgICAxMDAwMCAgLyo8ICAxMCBNYnBzICovDQorI2RlZmluZSBFVEhfU1BFRURfTlVNXzIwRyAg ICAyMDAwMCAgLyo8ICAyMCBHYnBzICovDQorI2RlZmluZSBFVEhfU1BFRURfTlVNXzI1RyAgICAy NTAwMCAgLyo8ICAyNSBHYnBzICovDQorI2RlZmluZSBFVEhfU1BFRURfTlVNXzQwRyAgICA0MDAw MCAgLyo8ICA0MCBHYnBzICovDQorI2RlZmluZSBFVEhfU1BFRURfTlVNXzUwRyAgICA1MDAwMCAg Lyo8ICA1MCBHYnBzICovDQorI2RlZmluZSBFVEhfU1BFRURfTlVNXzU2RyAgICA1NjAwMCAgLyo8 ICA1NiBHYnBzICovDQorI2RlZmluZSBFVEhfU1BFRURfTlVNXzEwMEcgICAgMTAwMDAwIC8qPCAg MTAwIEdicHMgKi8NCisNCisvKioNCiAgKiBBIHN0cnVjdHVyZSB1c2VkIHRvIHJldHJpZXZlIGxp bmstbGV2ZWwgaW5mb3JtYXRpb24gb2YgYW4gRXRoZXJuZXQgcG9ydC4NCiAgKi8NCiBzdHJ1Y3Qg cnRlX2V0aF9saW5rIHsNCi0gICAgdWludDE2X3QgbGlua19zcGVlZDsgICAgICAvKio8ICBFVEhf TElOS19TUEVFRF9bMTAsIDEwMCwgMTAwMCwgMTAwMDBdICovDQotICAgIHVpbnQxNl90IGxpbmtf ZHVwbGV4OyAgICAgLyoqPCAgRVRIX0xJTktfW0hBTEZfRFVQTEVYLCBGVUxMX0RVUExFWF0gKi8N Ci0gICAgdWludDhfdCAgbGlua19zdGF0dXMgOiAxOyAvKio8ICAxIC0+ICBsaW5rIHVwLCAwIC0+ ICBsaW5rIGRvd24gKi8NCi19X19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOyAgICAgLyoqPCAg YWxpZ25lZCBmb3IgYXRvbWljNjQgcmVhZC93cml0ZSAqLw0KLQ0KLSNkZWZpbmUgRVRIX0xJTktf U1BFRURfQVVUT05FRyAgMCAgICAgICAvKio8ICBBdXRvLW5lZ290aWF0ZSBsaW5rIHNwZWVkLiAq Lw0KLSNkZWZpbmUgRVRIX0xJTktfU1BFRURfMTAgICAgICAgMTAgICAgICAvKio8ICAxMCBtZWdh Yml0cy9zZWNvbmQuICovDQotI2RlZmluZSBFVEhfTElOS19TUEVFRF8xMDAgICAgICAxMDAgICAg IC8qKjwgIDEwMCBtZWdhYml0cy9zZWNvbmQuICovDQotI2RlZmluZSBFVEhfTElOS19TUEVFRF8x MDAwICAgICAxMDAwICAgIC8qKjwgIDEgZ2lnYWJpdHMvc2Vjb25kLiAqLw0KLSNkZWZpbmUgRVRI X0xJTktfU1BFRURfMTAwMDAgICAgMTAwMDAgICAvKio8ICAxMCBnaWdhYml0cy9zZWNvbmQuICov DQotI2RlZmluZSBFVEhfTElOS19TUEVFRF8xMEcgICAgICAxMDAwMCAgIC8qKjwgIGFsaWFzIG9m IDEwIGdpZ2FiaXRzL3NlY29uZC4gKi8NCi0jZGVmaW5lIEVUSF9MSU5LX1NQRUVEXzIwRyAgICAg IDIwMDAwICAgLyoqPCAgMjAgZ2lnYWJpdHMvc2Vjb25kLiAqLw0KLSNkZWZpbmUgRVRIX0xJTktf U1BFRURfNDBHICAgICAgNDAwMDAgICAvKio8ICA0MCBnaWdhYml0cy9zZWNvbmQuICovDQorICAg IHVpbnQzMl90IGxpbmtfc3BlZWQ7ICAgICAgIC8qKjwgIExpbmsgc3BlZWQgKEVUSF9TUEVFRF9O VU1fKSAqLw0KKyAgICB1aW50MTZfdCBsaW5rX2R1cGxleDsgICAgICAvKio8ICAxIC0+ICBmdWxs IGR1cGxleCwgMCAtPiAgaGFsZiBkdXBsZXggKi8NCisgICAgdWludDhfdCBsaW5rX2F1dG9uZWcg OiAxOyAgLyoqPCAgMSAtPiAgbGluayBzcGVlZCBoYXMgYmVlbiBhdXRvbmVnICovDQorICAgIHVp bnQ4X3QgbGlua19zdGF0dXMgIDogMTsgIC8qKjwgIDEgLT4gIGxpbmsgdXAsIDAgLT4gIGxpbmsg ZG93biAqLw0KK30gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOyAgICAgIC8qKjwgIGFsaWdu ZWQgZm9yIGF0b21pYzY0IHJlYWQvd3JpdGUgKi8NCg0KLSNkZWZpbmUgRVRIX0xJTktfQVVUT05F R19EVVBMRVggMCAgICAgICAvKio8ICBBdXRvLW5lZ290aWF0ZSBkdXBsZXguICovDQotI2RlZmlu ZSBFVEhfTElOS19IQUxGX0RVUExFWCAgICAxICAgICAgIC8qKjwgIEhhbGYtZHVwbGV4IGNvbm5l Y3Rpb24uICovDQotI2RlZmluZSBFVEhfTElOS19GVUxMX0RVUExFWCAgICAyICAgICAgIC8qKjwg IEZ1bGwtZHVwbGV4IGNvbm5lY3Rpb24uICovDQorLyogVXRpbGl0eSBjb25zdGFudHMgKi8NCisj ZGVmaW5lIEVUSF9MSU5LX0hBTEZfRFVQTEVYICAgIDAgICAgLyoqPCAgSGFsZi1kdXBsZXggY29u bmVjdGlvbi4gKi8NCisjZGVmaW5lIEVUSF9MSU5LX0ZVTExfRFVQTEVYICAgIDEgICAgLyoqPCAg RnVsbC1kdXBsZXggY29ubmVjdGlvbi4gKi8NCisjZGVmaW5lIEVUSF9MSU5LX1NQRUVEX0ZJWEVE ICAgIDAgICAgLyoqPCAgTGluayBzcGVlZCB3YXMgbm90IGF1dG9uZWdvY2lhdGVkLiAqLw0KKyNk ZWZpbmUgRVRIX0xJTktfU1BFRURfTkVHICAgICAgMSAgICAvKio8ICBMaW5rIHNwZWVkIHdhcyBh dXRvbmVnb2NpYXRlZC4gKi8NCisjZGVmaW5lIEVUSF9MSU5LX0RPV04gICAgICAgIDAgICAgLyoq PCAgTGluayBpcyBkb3duLiAqLw0KKyNkZWZpbmUgRVRIX0xJTktfVVAgICAgICAgIDEgICAgLyoq PCAgTGluayBpcyB1cC4gKi8NCg0KIC8qKg0KICAqIEEgc3RydWN0dXJlIHVzZWQgdG8gY29uZmln dXJlIHRoZSByaW5nIHRocmVzaG9sZCByZWdpc3RlcnMgb2YgYW4gUlgvVFgNCkBAIC03NDcsMTAg Kzc4MCwxNCBAQCBzdHJ1Y3QgcnRlX2ludHJfY29uZiB7DQogICogY29uZmlndXJhdGlvbiBzZXR0 aW5ncyBtYXkgYmUgbmVlZGVkLg0KICAqLw0KIHN0cnVjdCBydGVfZXRoX2NvbmYgew0KLSAgICB1 aW50MTZfdCBsaW5rX3NwZWVkOw0KLSAgICAvKio8ICBFVEhfTElOS19TUEVFRF8xMFswfDAwfDAw MF0sIG9yIDAgZm9yIGF1dG9uZWdvdGF0aW9uICovDQotICAgIHVpbnQxNl90IGxpbmtfZHVwbGV4 Ow0KLSAgICAvKio8ICBFVEhfTElOS19bSEFMRl9EVVBMRVh8RlVMTF9EVVBMRVhdLCBvciAwIGZv ciBhdXRvbmVnb3RhdGlvbiAqLw0KKyAgICB1aW50MzJfdCBsaW5rX3NwZWVkczsgLyoqPCAgYml0 bWFwIG9mIEVUSF9MSU5LX1NQRUVEX1hYWCBvZiBzcGVlZHMgdG8gYmUNCisgICAgICAgICAgICAg ICAgdXNlZC4gRVRIX0xJTktfU1BFRURfTk9fQVVUT05FRyBkaXNhYmxlcyBsaW5rDQorICAgICAg ICAgICAgICAgIGF1dG9uZWdvY2lhdGlvbiwgYW5kIGEgdW5pcXVlIHNwZWVkIHNoYWxsIGJlDQor ICAgICAgICAgICAgICAgIHNldC4gT3RoZXJ3aXNlLCB0aGUgYml0bWFwIGRlZmluZXMgdGhlIHNl dCBvZg0KKyAgICAgICAgICAgICAgICBzcGVlZHMgdG8gYmUgYWR2ZXJ0aXNlZC4gSWYgdGhlIHNw ZWNpYWwgdmFsdWUNCisgICAgICAgICAgICAgICAgRVRIX0xJTktfU1BFRURfQVVUT05FRyAoMCkg aXMgdXNlZCwgYWxsIHNwZWVkcw0KKyAgICAgICAgICAgICAgICBzdXBwb3J0ZWQgYXJlIGFkdmVy dGlzZWQuDQorICAgICAgICAgICAgICAgICovDQogICAgIHN0cnVjdCBydGVfZXRoX3J4bW9kZSBy eG1vZGU7IC8qKjwgIFBvcnQgUlggY29uZmlndXJhdGlvbi4gKi8NCiAgICAgc3RydWN0IHJ0ZV9l dGhfdHhtb2RlIHR4bW9kZTsgLyoqPCAgUG9ydCBUWCBjb25maWd1cmF0aW9uLiAqLw0KICAgICB1 aW50MzJfdCBscGJrX21vZGU7IC8qKjwgIExvb3BiYWNrIG9wZXJhdGlvbiBtb2RlLiBCeSBkZWZh dWx0IHRoZSB2YWx1ZQ0KQEAgLTgxMiwyNiArODQ5LDYgQEAgc3RydWN0IHJ0ZV9ldGhfY29uZiB7 DQogI2RlZmluZSBERVZfVFhfT0ZGTE9BRF9RSU5RX0lOU0VSVCAweDAwMDAwMTAwDQoNCiAvKioN Ci0gKiBEZXZpY2Ugc3VwcG9ydGVkIHNwZWVkcw0KLSAqLw0KLSNkZWZpbmUgRVRIX1NQRUVEX0NB UF9OT1RfUEhZICAgICgwKSAgLyo8ICBObyBwaHkgbWVkaWEgPiAgKi8NCi0jZGVmaW5lIEVUSF9T UEVFRF9DQVBfMTBNX0hEICAgICgxIDw8ICAwKSAgLyo8ICAxMCBNYnBzIGhhbGYtZHVwbGV4PiAg Ki8NCi0jZGVmaW5lIEVUSF9TUEVFRF9DQVBfMTBNX0ZEICAgICgxIDw8ICAxKSAgLyo8ICAxMCBN YnBzIGZ1bGwtZHVwbGV4PiAgKi8NCi0jZGVmaW5lIEVUSF9TUEVFRF9DQVBfMTAwTV9IRCAgICAo MSA8PCAgMikgIC8qPCAgMTAwIE1icHMgaGFsZi1kdXBsZXg+ICAqLw0KLSNkZWZpbmUgRVRIX1NQ RUVEX0NBUF8xMDBNX0ZEICAgICgxIDw8ICAzKSAgLyo8ICAxMDAgTWJwcyBmdWxsLWR1cGxleD4g ICovDQotI2RlZmluZSBFVEhfU1BFRURfQ0FQXzFHICAgICgxIDw8ICA0KSAgLyo8ICAxIEdicHMg PiAgKi8NCi0jZGVmaW5lIEVUSF9TUEVFRF9DQVBfMl81RyAgICAoMSA8PCAgNSkgIC8qPCAgMi41 IEdicHMgPiAgKi8NCi0jZGVmaW5lIEVUSF9TUEVFRF9DQVBfNUcgICAgKDEgPDwgIDYpICAvKjwg IDUgR2JwcyA+ICAqLw0KLSNkZWZpbmUgRVRIX1NQRUVEX0NBUF8xMEcgICAgKDEgPDwgIDcpICAv KjwgIDEwIE1icHMgPiAgKi8NCi0jZGVmaW5lIEVUSF9TUEVFRF9DQVBfMjBHICAgICgxIDw8ICA4 KSAgLyo8ICAyMCBHYnBzID4gICovDQotI2RlZmluZSBFVEhfU1BFRURfQ0FQXzI1RyAgICAoMSA8 PCAgOSkgIC8qPCAgMjUgR2JwcyA+ICAqLw0KLSNkZWZpbmUgRVRIX1NQRUVEX0NBUF80MEcgICAg KDEgPDwgIDEwKSAgLyo8ICA0MCBHYnBzID4gICovDQotI2RlZmluZSBFVEhfU1BFRURfQ0FQXzUw RyAgICAoMSA8PCAgMTEpICAvKjwgIDUwIEdicHMgPiAgKi8NCi0jZGVmaW5lIEVUSF9TUEVFRF9D QVBfNTZHICAgICgxIDw8ICAxMikgIC8qPCAgNTYgR2JwcyA+ICAqLw0KLSNkZWZpbmUgRVRIX1NQ RUVEX0NBUF8xMDBHICAgICgxIDw8ICAxMykgIC8qPCAgMTAwIEdicHMgPiAgKi8NCi0NCi0NCi0v KioNCiAgKiBFdGhlcm5ldCBkZXZpY2UgaW5mb3JtYXRpb24NCiAgKi8NCiBzdHJ1Y3QgcnRlX2V0 aF9kZXZfaW5mbyB7DQpAQCAtMTY2Nyw2ICsxNjg0LDIyIEBAIHN0cnVjdCBldGhfZHJpdmVyIHsN CiBleHRlcm4gdm9pZCBydGVfZXRoX2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgZXRoX2RyaXZlciAq ZXRoX2Rydik7DQoNCiAvKioNCisgKiBDb252ZXJ0IGEgbnVtZXJpY2FsIHNwZWVkIGluIE1icHMg dG8gYSBiaXRtYXAgZmxhZyB0aGF0IGNhbiBiZSB1c2VkIGluDQorICogdGhlIGJpdG1hcCBsaW5r X3NwZWVkcyBvZiB0aGUgc3RydWN0IHJ0ZV9ldGhfY29uZg0KKyAqDQorICogQHBhcmFtDQorICog ICBOdW1lcmljYWwgc3BlZWQgdmFsdWUgaW4gTWJwcw0KKyAqIEBwYXJhbQ0KKyAqICAgQm9vbGVh biBpcyBkdXBsZXggKG9ubHkgZm9yIDEwLzEwMCBzcGVlZHMpDQorICogQHBhcmFtDQorICogICBP biBzdWNjZXNzLCB0aGUgY29udmVydGVkIHNwZWVkIGludG8gYSBiaXRtYXAgZmxhZw0KKyAqIEBy ZXR1cm4NCisgKiAgIDAgb24gc3VjY2VzcywgLUVJTlZBTCBpZiB0aGUgc3BlZWQgY2Fubm90IGJl IG1hcHBlZA0KKyAqLw0KK2V4dGVybiBpbnQgcnRlX2V0aF9zcGVlZF90b19ibV9mbGFnKHVpbnQz Ml90IHNwZWVkLCBpbnQgZHVwbGV4LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCAqZmxhZyk7DQorDQorLyoqDQogICogQ29uZmlndXJlIGFuIEV0aGVybmV0IGRldmljZS4N CiAgKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgaW52b2tlZCBmaXJzdCBiZWZvcmUgYW55IG90aGVy IGZ1bmN0aW9uIGluIHRoZQ0KICAqIEV0aGVybmV0IEFQSS4gVGhpcyBmdW5jdGlvbiBjYW4gYWxz byBiZSByZS1pbnZva2VkIHdoZW4gYSBkZXZpY2UgaXMgaW4gdGhlDQotLQ0KMi4xLjQNCg0KDQpB Y2tlZC1ieTogSGFyaXNoIFBhdGlsIDxoYXJpc2gucGF0aWxAcWxvZ2ljLmNvbTxtYWlsdG86aGFy aXNoLnBhdGlsQHFsb2dpYy5jb20+Pg0KDQpIaSBNYXJjLA0KV2hlbiBjYW4gd2UgZXhwZWN0IGl0 IHRvIGJlIG1lcmdlZCB0byB0aGUgbGF0ZXN0IERQREs/DQoNClRoYW5rcywNCkhhcmlzaA0KDQoN Cg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQpUaGlzIG1lc3NhZ2UgYW5k IGFueSBhdHRhY2hlZCBkb2N1bWVudHMgY29udGFpbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBzZW5k aW5nIGNvbXBhbnkgb3IgaXRzIHBhcmVudCBjb21wYW55KHMpLCBzdWJzaWRpYXJpZXMsIGRpdmlz aW9ucyBvciBicmFuY2ggb2ZmaWNlcyB0aGF0IG1heSBiZSBjb25maWRlbnRpYWwuIElmIHlvdSBh cmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHlvdSBtYXkgbm90IHJlYWQsIGNvcHksIGRp c3RyaWJ1dGUsIG9yIHVzZSB0aGlzIGluZm9ybWF0aW9uLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0 aGlzIHRyYW5zbWlzc2lvbiBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVk aWF0ZWx5IGJ5IHJlcGx5IGUtbWFpbCBhbmQgdGhlbiBkZWxldGUgdGhpcyBtZXNzYWdlLg0K