From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24693 invoked by alias); 11 Jan 2019 00:13:51 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 24584 invoked by uid 89); 11 Jan 2019 00:13:50 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-27.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_LOW,SPF_PASS,TIME_LIMIT_EXCEEDED autolearn=unavailable version=3.3.2 spammy= X-HELO: mx0b-0016f401.pphosted.com Received: from mx0b-0016f401.pphosted.com (HELO mx0b-0016f401.pphosted.com) (67.231.156.173) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 11 Jan 2019 00:13:40 +0000 Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x0B00FDI003546; Thu, 10 Jan 2019 16:13:33 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=pfpt0818; bh=z3GYqv5PMAXkqvig5FzK2sQJISVMenVZ80bLvppPCaE=; b=oRy3vd6LttuIP7PT/XiZq9CWswVRiEypvKZlzv3atx1zF2mrB7oHXBjOJ6nBFrF6zBVF GkSZ/CPddcxW7YuKcU4+KpOh97CI+8yqVEgrsURXva2ycaUCl+FMAzM+Otk6flYj9h7B SwSgvb5JQ5rtqQs8yTBPKABPQ47D2fNZ7LIKqYuOOsf6C68p/8FhYJcZGdFzbY16NWxS EdZRquHAfIl1zKn5myMhYBVE/w7YxQfszWGEvP+/ukgWiZJTIzTs3si8owMRfVXt9CcZ jnPZB2b/AuI9Cg7M/csjX0RZFfN9KPkPhsiwCdSpEXAsLLd6D1iFpw4CYJqLaYVcJIsy yA== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2pxarqht00-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 10 Jan 2019 16:13:33 -0800 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 10 Jan 2019 16:13:30 -0800 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (104.47.44.58) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Thu, 10 Jan 2019 16:13:31 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z3GYqv5PMAXkqvig5FzK2sQJISVMenVZ80bLvppPCaE=; b=veua59D6uMFAdOunODVy9jeD+OepqVArvl1UZqosztBC0VlUVKvWS1Z/frmup54QHkOcW0E3XZU48lEl+Wc6euLuzKCUpEPWEA9UIU1MaLbpJbnNbEvyMWuKSDhElVae5Kvo9iR4qB3U8dfAafhrI5Mp2NPhoohOQF8bElyqlqA= Received: from BN6PR1801MB2033.namprd18.prod.outlook.com (10.161.156.162) by BN6PR1801MB1972.namprd18.prod.outlook.com (10.161.156.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1516.15; Fri, 11 Jan 2019 00:13:28 +0000 Received: from BN6PR1801MB2033.namprd18.prod.outlook.com ([fe80::ad18:5add:46aa:8937]) by BN6PR1801MB2033.namprd18.prod.outlook.com ([fe80::ad18:5add:46aa:8937%6]) with mapi id 15.20.1516.015; Fri, 11 Jan 2019 00:13:28 +0000 From: Steve Ellcey To: "richard.sandiford@arm.com" CC: "sellcey@cavium.com" , "gcc-patches@gcc.gnu.org" Subject: Re: [Patch 4/4][Aarch64] v2: Implement Aarch64 SIMD ABI Date: Fri, 11 Jan 2019 00:13:00 -0000 Message-ID: <1faa09dc8a758006fc373f6e4296ea1d5c39043d.camel@marvell.com> References: <1541699749.12016.9.camel@cavium.com> <87tvjq3kqs.fsf@arm.com> <875zv0l64x.fsf@arm.com> <7bdc455d8d0b38778e151ad8ce8cfe6b69c580c5.camel@marvell.com> <87d0p6gng4.fsf@arm.com> <175d9f25425f2aa634e2bd88f7ee6eefabae97ed.camel@marvell.com> <87bm4o98jr.fsf@arm.com> In-Reply-To: <87bm4o98jr.fsf@arm.com> received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) Content-Type: multipart/mixed; boundary="_002_1faa09dc8a758006fc373f6e4296ea1d5c39043dcamelmarvellcom_" MIME-Version: 1.0 X-Proofpoint-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1901100181 X-SW-Source: 2019-01/txt/msg00592.txt.bz2 --_002_1faa09dc8a758006fc373f6e4296ea1d5c39043dcamelmarvellcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <0D0B705B9CE4B24CB4B801B20FCEA771@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 4222 T0ssIEkgZml4ZWQgdGhlIGlzc3VlcyBpbiB5b3VyIGxhc3QgZW1haWwuICBJ IGluaXRpYWxseSBmb3VuZCBvbmUNCnJlZ3Jlc3Npb24gd2hpbGUgdGVzdGlu Zy4gIEluIGxyYV9jcmVhdGVfbGl2ZV9yYW5nZXNfMSBJIGhhZCByZW1vdmVk DQp0aGUgJ2NhbGxfcCA9IGZhbHNlJyBzdGF0ZW1lbnQgYnV0IGRpZCBub3Qg cmVwbGFjZWQgaXQgd2l0aCBhbnl0aGluZy4NClRoaXMgcmVzdWx0ZWQgaW4g bm8gcmVncmVzc2lvbnMgb24gYWFyY2g2NCBidXQgY2F1c2VkIGEgc2luZ2xl DQpyZWdyZXNzaW9uIG9uIHg4NiAoZ2NjLnRhcmdldC9pMzg2L3ByODc3NTku YykuICBJIHJlcGxhY2VkIHRoZQ0KbGluZSB3aXRoICdjYWxsX2luc24gPSBO VUxMJyBhbmQgdGhlIHJlZ3Jlc3Npb24gd2VudCBhd2F5IHNvIEkNCmhhdmUg Y2xlYW4gYm9vdHN0cmFwcyBhbmQgbm8gcmVncmVzc2lvbnMgb24gYWFyY2g2 NCBhbmQgeDg2IG5vdy4NCg0KSWYgdGhpcyBsb29rcyBnb29kIHRvIHlvdSBj YW4gSSBnbyBhaGVhZCBhbmQgY2hlY2sgaXQgaW4/ICBJIGtub3cNCndlIGFy ZSBpbiBTdGFnZSAzIG5vdywgYnV0IG15IHJlY29sbGVjdGlvbiBpcyB0aGF0 IHBhdGNoZXMgdGhhdCB3ZXJlDQppbml0aWFsbHkgc3VibWl0dGVkIGR1cmlu ZyBTdGFnZSAxIGNvdWxkIGdvIGFoZWFkIG9uY2UgYXBwcm92ZWQuDQoNClN0 ZXZlIEVsbGNleQ0Kc2VsbGNleUBtYXJ2ZWxsLmNvbQ0KDQoNCg0KMjAxOS0w MS0xMCAgU3RldmUgRWxsY2V5ICA8c2VsbGNleUBtYXJ2ZWxsLmNvbT4NCg0K CSogY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jIChhYXJjaDY0X3NpbWRfY2Fs bF9wKTogTmV3IGZ1bmN0aW9uLg0KCShhYXJjaDY0X2hhcmRfcmVnbm9fY2Fs bF9wYXJ0X2Nsb2JiZXJlZCk6IEFkZCBpbnNuIGFyZ3VtZW50Lg0KCShhYXJj aDY0X3JldHVybl9jYWxsX3dpdGhfbWF4X2Nsb2JiZXJzKTogTmV3IGZ1bmN0 aW9uLg0KCShUQVJHRVRfUkVUVVJOX0NBTExfV0lUSF9NQVhfQ0xPQkJFUlMp OiBOZXcgbWFjcm8uDQoJKiBjb25maWcvYXZyL2F2ci5jIChhdnJfaGFyZF9y ZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkKTogQWRkIGluc24NCglhcmd1bWVu dC4NCgkqIGNvbmZpZy9pMzg2L2kzODYuYyAoaXg4Nl9oYXJkX3JlZ25vX2Nh bGxfcGFydF9jbG9iYmVyZWQpOiBEaXR0by4NCgkqIGNvbmZpZy9taXBzL21p cHMuYyAobWlwc19oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQpOiBE aXR0by4NCgkqIGNvbmZpZy9yczYwMDAvcnM2MDAwLmMgKHJzNjAwMF9oYXJk X3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQpOiBEaXR0by4NCgkqIGNvbmZp Zy9zMzkwL3MzOTAuYyAoczM5MF9oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9i YmVyZWQpOiBEaXR0by4NCgkqIGNzZWxpYi5jIChjc2VsaWJfcHJvY2Vzc19p bnNuKTogQWRkIGFyZ3VtZW50IHRvDQoJdGFyZ2V0bS5oYXJkX3JlZ25vX2Nh bGxfcGFydF9jbG9iYmVyZWQgY2FsbC4NCgkqIGlyYS1jb25mbGljdHMuYyAo aXJhX2J1aWxkX2NvbmZsaWN0cyk6IERpdHRvLg0KCSogaXJhLWNvc3RzLmMg KGlyYV90dW5lX2FsbG9jbm9fY29zdHMpOiBEaXR0by4NCgkqIGxyYS1jb25z dHJhaW50cy5jIChpbmhlcml0X3JlbG9hZF9yZWcpOiBEaXR0by4NCgkqIGxy YS1pbnQuaCAoc3RydWN0IGxyYV9yZWcpOiBBZGQgY2FsbF9pbnNuIGZpZWxk LCByZW1vdmUgY2FsbF9wIGZpZWxkLg0KCSogbHJhLWxpdmVzLmMgKGNoZWNr X3BzZXVkb3NfbGl2ZV90aHJvdWdoX2NhbGxzKTogQWRkIGNhbGxfaW5zbg0K CWFyZ3VtZW50LiAgQ2FsbCB0YXJnZXRtLnJldHVybl9jYWxsX3dpdGhfbWF4 X2Nsb2JiZXJzLg0KCUFkZCBhcmd1bWVudCB0byB0YXJnZXRtLmhhcmRfcmVn bm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCBjYWxsLg0KCShjYWxsc19oYXZlX3Nh bWVfY2xvYmJlcnNfcCk6IE5ldyBmdW5jdGlvbi4NCgkocHJvY2Vzc19iYl9s aXZlcyk6IEFkZCBjYWxsX2luc24gYW5kIGxhc3RfY2FsbF9pbnNuIHZhcmlh Ymxlcy4NCglQYXNzIGNhbGxfaW5zbiB0byBjaGVja19wc2V1ZG9zX2xpdmVf dGhyb3VnaF9jYWxscy4NCglNb2RpZnkgaWYgc3RtdCB0byBjaGVjayB0YXJn ZXRtLnJldHVybl9jYWxsX3dpdGhfbWF4X2Nsb2JiZXJzLg0KCVVwZGF0ZSBz ZXR0aW5nIG9mIGZsdXNoIHZhcmlhYmxlLg0KCShscmFfY3JlYXRlX2xpdmVf cmFuZ2VzXzEpOiBTZXQgY2FsbF9pbnNuIHRvIE5VTEwgaW5zdGVhZCBvZiBj YWxsX3ANCgl0byBmYWxzZS4NCgkqIGxyYS5jIChpbml0aWFsaXplX2xyYV9y ZWdfaW5mb19lbGVtZW50KTogU2V0IGNhbGxfaW5zbiB0byBOVUxMLg0KCSog cmVnY3Byb3AuYyAoY29weXByb3BfaGFyZHJlZ19mb3J3YXJkXzEpOiBBZGQg YXJndW1lbnQgdG8NCiAgICAgICAgdGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxf cGFydF9jbG9iYmVyZWQgY2FsbC4NCgkqIHJlZ2luZm8uYyAoY2hvb3NlX2hh cmRfcmVnX21vZGUpOiBEaXR0by4NCgkqIHJlZ3JlbmFtZS5jIChjaGVja19u ZXdfcmVnX3ApOiBEaXR0by4NCgkqIHJlbG9hZC5jIChmaW5kX2VxdWl2X3Jl Zyk6IERpdHRvLg0KCSogcmVsb2FkMS5jIChlbWl0X3JlbG9hZF9pbnNucyk6 IERpdHRvLg0KCSogc2NoZWQtZGVwcy5jIChkZXBzX2FuYWx5emVfaW5zbik6 IERpdHRvLg0KCSogc2VsLXNjaGVkLmMgKGluaXRfcmVnc19mb3JfbW9kZSk6 IERpdHRvLg0KCShtYXJrX3VuYXZhaWxhYmxlX2hhcmRfcmVncyk6IERpdHRv Lg0KCSogdGFyZ2hvb2tzLmMgKGRlZmF1bHRfZHdhcmZfZnJhbWVfcmVnX21v ZGUpOiBEaXR0by4NCgkqIHRhcmdldC5kZWYgKGhhcmRfcmVnbm9fY2FsbF9w YXJ0X2Nsb2JiZXJlZCk6IEFkZCBpbnNuIGFyZ3VtZW50Lg0KCShyZXR1cm5f Y2FsbF93aXRoX21heF9jbG9iYmVycyk6IE5ldyB0YXJnZXQgZnVuY3Rpb24u DQoJKiBkb2MvdG0udGV4aTogUmVnZW5lcmF0ZS4NCgkqIGRvYy90bS50ZXhp LmluIChUQVJHRVRfUkVUVVJOX0NBTExfV0lUSF9NQVhfQ0xPQkJFUlMpOiBO ZXcgaG9vay4NCgkqIGhvb2tzLmMgKGhvb2tfYm9vbF91aW50X21vZGVfZmFs c2UpOiBDaGFuZ2UgdG8NCglob29rX2Jvb2xfaW5zbl91aW50X21vZGVfZmFs c2UuDQoJKiBob29rcy5oIChob29rX2Jvb2xfdWludF9tb2RlX2ZhbHNlKTog RGl0dG8uDQo= --_002_1faa09dc8a758006fc373f6e4296ea1d5c39043dcamelmarvellcom_ Content-Type: text/x-patch; name="part-clobber.patch" Content-Description: part-clobber.patch Content-Disposition: attachment; filename="part-clobber.patch"; size=26175; creation-date="Fri, 11 Jan 2019 00:13:27 GMT"; modification-date="Fri, 11 Jan 2019 00:13:27 GMT" Content-ID: <379D14A7B26DFE4BB2737A7A3F727416@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 35482 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LmMgYi9n Y2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jCmluZGV4IDFjMzAwYWYuLjdh MWY4MzggMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0 LmMKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQuYwpAQCAtMTY1 NSwxNCArMTY1NSw1MyBAQCBhYXJjaDY0X3JlZ19zYXZlX21vZGUgKHRyZWUg Zm5kZWNsLCB1bnNpZ25lZCByZWdubykKIAkgICA6IChhYXJjaDY0X3NpbWRf ZGVjbF9wIChmbmRlY2wpID8gRV9URm1vZGUgOiBFX0RGbW9kZSk7CiB9CiAK Ky8qIFJldHVybiB0cnVlIGlmIHRoZSBpbnN0cnVjdGlvbiBpcyBhIGNhbGwg dG8gYSBTSU1EIGZ1bmN0aW9uLCBmYWxzZQorICAgaWYgaXQgaXMgbm90IGEg U0lNRCBmdW5jdGlvbiBvciBpZiB3ZSBkbyBub3Qga25vdyBhbnl0aGluZyBh Ym91dAorICAgdGhlIGZ1bmN0aW9uLiAgKi8KKworc3RhdGljIGJvb2wKK2Fh cmNoNjRfc2ltZF9jYWxsX3AgKHJ0eF9pbnNuICppbnNuKQoreworICBydHgg c3ltYm9sOworICBydHggY2FsbDsKKyAgdHJlZSBmbmRlY2w7CisKKyAgZ2Nj X2Fzc2VydCAoQ0FMTF9QIChpbnNuKSk7CisgIGNhbGwgPSBnZXRfY2FsbF9y dHhfZnJvbSAoaW5zbik7CisgIHN5bWJvbCA9IFhFWFAgKFhFWFAgKGNhbGws IDApLCAwKTsKKyAgaWYgKEdFVF9DT0RFIChzeW1ib2wpICE9IFNZTUJPTF9S RUYpCisgICAgcmV0dXJuIGZhbHNlOworICBmbmRlY2wgPSBTWU1CT0xfUkVG X0RFQ0wgKHN5bWJvbCk7CisgIGlmICghZm5kZWNsKQorICAgIHJldHVybiBm YWxzZTsKKworICByZXR1cm4gYWFyY2g2NF9zaW1kX2RlY2xfcCAoZm5kZWNs KTsKK30KKwogLyogSW1wbGVtZW50IFRBUkdFVF9IQVJEX1JFR05PX0NBTExf UEFSVF9DTE9CQkVSRUQuICBUaGUgY2FsbGVlIG9ubHkgc2F2ZXMKICAgIHRo ZSBsb3dlciA2NCBiaXRzIG9mIGEgMTI4LWJpdCByZWdpc3Rlci4gIFRlbGwg dGhlIGNvbXBpbGVyIHRoZSBjYWxsZWUKICAgIGNsb2JiZXJzIHRoZSB0b3Ag NjQgYml0cyB3aGVuIHJlc3RvcmluZyB0aGUgYm90dG9tIDY0IGJpdHMuICAq LwogCiBzdGF0aWMgYm9vbAotYWFyY2g2NF9oYXJkX3JlZ25vX2NhbGxfcGFy dF9jbG9iYmVyZWQgKHVuc2lnbmVkIGludCByZWdubywgbWFjaGluZV9tb2Rl IG1vZGUpCithYXJjaDY0X2hhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJl ZCAocnR4X2luc24gKmluc24sIHVuc2lnbmVkIGludCByZWdubywKKwkJCQkJ bWFjaGluZV9tb2RlIG1vZGUpCit7CisgIGJvb2wgc2ltZF9wID0gaW5zbiAm JiBDQUxMX1AgKGluc24pICYmIGFhcmNoNjRfc2ltZF9jYWxsX3AgKGluc24p OworICByZXR1cm4gRlBfUkVHTlVNX1AgKHJlZ25vKQorCSAmJiBtYXliZV9n dCAoR0VUX01PREVfU0laRSAobW9kZSksIHNpbWRfcCA/IDE2IDogOCk7Cit9 CisKKy8qIEltcGxlbWVudCBUQVJHRVRfUkVUVVJOX0NBTExfV0lUSF9NQVhf Q0xPQkJFUlMuICAqLworCitydHhfaW5zbiAqCithYXJjaDY0X3JldHVybl9j YWxsX3dpdGhfbWF4X2Nsb2JiZXJzIChydHhfaW5zbiAqY2FsbF8xLCBydHhf aW5zbiAqY2FsbF8yKQogewotICByZXR1cm4gRlBfUkVHTlVNX1AgKHJlZ25v KSAmJiBtYXliZV9ndCAoR0VUX01PREVfU0laRSAobW9kZSksIDgpOworICBn Y2NfYXNzZXJ0IChDQUxMX1AgKGNhbGxfMSkgJiYgQ0FMTF9QIChjYWxsXzIp KTsKKworICBpZiAoIWFhcmNoNjRfc2ltZF9jYWxsX3AgKGNhbGxfMSkgfHwg YWFyY2g2NF9zaW1kX2NhbGxfcCAoY2FsbF8yKSkKKyAgICByZXR1cm4gY2Fs bF8xOworICBlbHNlCisgICAgcmV0dXJuIGNhbGxfMjsKIH0KIAogLyogSW1w bGVtZW50IFJFR01PREVfTkFUVVJBTF9TSVpFLiAgKi8KQEAgLTE4ODI1LDYg KzE4ODY0LDEwIEBAIGFhcmNoNjRfbGliZ2NjX2Zsb2F0aW5nX21vZGVfc3Vw cG9ydGVkX3AKICNkZWZpbmUgVEFSR0VUX0hBUkRfUkVHTk9fQ0FMTF9QQVJU X0NMT0JCRVJFRCBcCiAgIGFhcmNoNjRfaGFyZF9yZWdub19jYWxsX3BhcnRf Y2xvYmJlcmVkCiAKKyN1bmRlZiBUQVJHRVRfUkVUVVJOX0NBTExfV0lUSF9N QVhfQ0xPQkJFUlMKKyNkZWZpbmUgVEFSR0VUX1JFVFVSTl9DQUxMX1dJVEhf TUFYX0NMT0JCRVJTIFwKKyAgYWFyY2g2NF9yZXR1cm5fY2FsbF93aXRoX21h eF9jbG9iYmVycworCiAjdW5kZWYgVEFSR0VUX0NPTlNUQU5UX0FMSUdOTUVO VAogI2RlZmluZSBUQVJHRVRfQ09OU1RBTlRfQUxJR05NRU5UIGFhcmNoNjRf Y29uc3RhbnRfYWxpZ25tZW50CiAKZGlmZiAtLWdpdCBhL2djYy9jb25maWcv YXZyL2F2ci5jIGIvZ2NjL2NvbmZpZy9hdnIvYXZyLmMKaW5kZXggMDIzMzA4 Yi4uYTUzYjkwOSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hdnIvYXZyLmMK KysrIGIvZ2NjL2NvbmZpZy9hdnIvYXZyLmMKQEAgLTEyMTgxLDcgKzEyMTgx LDggQEAgYXZyX2hhcmRfcmVnbm9fbW9kZV9vayAodW5zaWduZWQgaW50IHJl Z25vLCBtYWNoaW5lX21vZGUgbW9kZSkKIC8qIEltcGxlbWVudCBUQVJHRVRf SEFSRF9SRUdOT19DQUxMX1BBUlRfQ0xPQkJFUkVELiAgKi8KIAogc3RhdGlj IGJvb2wKLWF2cl9oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKHVu c2lnbmVkIHJlZ25vLCBtYWNoaW5lX21vZGUgbW9kZSkKK2F2cl9oYXJkX3Jl Z25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKHJ0eF9pbnNuICppbnNuIEFUVFJJ QlVURV9VTlVTRUQsCisJCQkJICAgIHVuc2lnbmVkIHJlZ25vLCBtYWNoaW5l X21vZGUgbW9kZSkKIHsKICAgLyogRklYTUU6IFRoaXMgaG9vayBnZXRzIGNh bGxlZCB3aXRoIE1PREU6UkVHTk8gY29tYmluYXRpb25zIHRoYXQgZG9uJ3QK ICAgICAgICAgcmVwcmVzZW50IHZhbGlkIGhhcmQgcmVnaXN0ZXJzIGxpa2Us IGUuZy4gSEk6MjkuICBSZXR1cm5pbmcgVFJVRQpkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9pMzg2L2kzODYuYyBiL2djYy9jb25maWcvaTM4Ni9pMzg2LmMK aW5kZXggMGUyM2VhYS4uMWJiNTM1YSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZp Zy9pMzg2L2kzODYuYworKysgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5jCkBA IC00MDIxNiw3ICs0MDIxNiw4IEBAIGl4ODZfaGFyZF9yZWdub19tb2RlX29r ICh1bnNpZ25lZCBpbnQgcmVnbm8sIG1hY2hpbmVfbW9kZSBtb2RlKQogICAg dGhlIGxvdyAxNiBieXRlcyBhcmUgc2F2ZWQuICAqLwogCiBzdGF0aWMgYm9v bAotaXg4Nl9oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKHVuc2ln bmVkIGludCByZWdubywgbWFjaGluZV9tb2RlIG1vZGUpCitpeDg2X2hhcmRf cmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAocnR4X2luc24gKmluc24gQVRU UklCVVRFX1VOVVNFRCwKKwkJCQkgICAgIHVuc2lnbmVkIGludCByZWdubywg bWFjaGluZV9tb2RlIG1vZGUpCiB7CiAgIHJldHVybiBTU0VfUkVHTk9fUCAo cmVnbm8pICYmIEdFVF9NT0RFX1NJWkUgKG1vZGUpID4gMTY7CiB9CmRpZmYg LS1naXQgYS9nY2MvY29uZmlnL21pcHMvbWlwcy5jIGIvZ2NjL2NvbmZpZy9t aXBzL21pcHMuYwppbmRleCA5NWRjOTQ2Li5hODAyMmI4IDEwMDY0NAotLS0g YS9nY2MvY29uZmlnL21pcHMvbWlwcy5jCisrKyBiL2djYy9jb25maWcvbWlw cy9taXBzLmMKQEAgLTEyOTA2LDcgKzEyOTA2LDggQEAgbWlwc19oYXJkX3Jl Z25vX3NjcmF0Y2hfb2sgKHVuc2lnbmVkIGludCByZWdubykKICAgIHJlZ2lz dGVycyB3aXRoIE1PREUgPiA2NCBiaXRzIGFyZSBwYXJ0IGNsb2JiZXJlZCB0 b28uICAqLwogCiBzdGF0aWMgYm9vbAotbWlwc19oYXJkX3JlZ25vX2NhbGxf cGFydF9jbG9iYmVyZWQgKHVuc2lnbmVkIGludCByZWdubywgbWFjaGluZV9t b2RlIG1vZGUpCittaXBzX2hhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJl ZCAocnR4X2luc24gKmluc24gQVRUUklCVVRFX1VOVVNFRCwKKwkJCQkgICAg IHVuc2lnbmVkIGludCByZWdubywgbWFjaGluZV9tb2RlIG1vZGUpCiB7CiAg IGlmIChUQVJHRVRfRkxPQVRYWAogICAgICAgJiYgaGFyZF9yZWdub19ucmVn cyAocmVnbm8sIG1vZGUpID09IDEKZGlmZiAtLWdpdCBhL2djYy9jb25maWcv cnM2MDAwL3JzNjAwMC5jIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMK aW5kZXggMDM1N2RjOC4uMzMzMGI2OCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZp Zy9yczYwMDAvcnM2MDAwLmMKKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2 MDAwLmMKQEAgLTIxOTcsNyArMjE5Nyw4IEBAIHJzNjAwMF9tb2Rlc190aWVh YmxlX3AgKG1hY2hpbmVfbW9kZSBtb2RlMSwgbWFjaGluZV9tb2RlIG1vZGUy KQogLyogSW1wbGVtZW50IFRBUkdFVF9IQVJEX1JFR05PX0NBTExfUEFSVF9D TE9CQkVSRUQuICAqLwogCiBzdGF0aWMgYm9vbAotcnM2MDAwX2hhcmRfcmVn bm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAodW5zaWduZWQgaW50IHJlZ25vLCBt YWNoaW5lX21vZGUgbW9kZSkKK3JzNjAwMF9oYXJkX3JlZ25vX2NhbGxfcGFy dF9jbG9iYmVyZWQgKHJ0eF9pbnNuICppbnNuIEFUVFJJQlVURV9VTlVTRUQs CisJCQkJICAgICAgIHVuc2lnbmVkIGludCByZWdubywgbWFjaGluZV9tb2Rl IG1vZGUpCiB7CiAgIGlmIChUQVJHRVRfMzJCSVQKICAgICAgICYmIFRBUkdF VF9QT1dFUlBDNjQKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvczM5MC9zMzkw LmMgYi9nY2MvY29uZmlnL3MzOTAvczM5MC5jCmluZGV4IGVhMmJlMTAuLjZh NTcxYTMgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvczM5MC9zMzkwLmMKKysr IGIvZ2NjL2NvbmZpZy9zMzkwL3MzOTAuYwpAQCAtMTAwOTgsNyArMTAwOTgs OCBAQCBzMzkwX2hhcmRfcmVnbm9fc2NyYXRjaF9vayAodW5zaWduZWQgaW50 IHJlZ25vKQogICAgYnl0ZXMgYXJlIHNhdmVkIGFjcm9zcyBjYWxscywgaG93 ZXZlci4gICovCiAKIHN0YXRpYyBib29sCi1zMzkwX2hhcmRfcmVnbm9fY2Fs bF9wYXJ0X2Nsb2JiZXJlZCAodW5zaWduZWQgaW50IHJlZ25vLCBtYWNoaW5l X21vZGUgbW9kZSkKK3MzOTBfaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJl cmVkIChydHhfaW5zbiAqaW5zbiBBVFRSSUJVVEVfVU5VU0VELAorCQkJCSAg ICAgdW5zaWduZWQgaW50IHJlZ25vLCBtYWNoaW5lX21vZGUgbW9kZSkKIHsK ICAgaWYgKCFUQVJHRVRfNjRCSVQKICAgICAgICYmIFRBUkdFVF9aQVJDSApk aWZmIC0tZ2l0IGEvZ2NjL2NzZWxpYi5jIGIvZ2NjL2NzZWxpYi5jCmluZGV4 IGNlZjRiYzAuLjg0YzE3YzIgMTAwNjQ0Ci0tLSBhL2djYy9jc2VsaWIuYwor KysgYi9nY2MvY3NlbGliLmMKQEAgLTI3NzAsNyArMjc3MCw3IEBAIGNzZWxp Yl9wcm9jZXNzX2luc24gKHJ0eF9pbnNuICppbnNuKQogCWlmIChjYWxsX3Vz ZWRfcmVnc1tpXQogCSAgICB8fCAoUkVHX1ZBTFVFUyAoaSkgJiYgUkVHX1ZB TFVFUyAoaSktPmVsdAogCQkmJiAodGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxf cGFydF9jbG9iYmVyZWQKLQkJICAgIChpLCBHRVRfTU9ERSAoUkVHX1ZBTFVF UyAoaSktPmVsdC0+dmFsX3J0eCkpKSkpCisJCSAgICAoaW5zbiwgaSwgR0VU X01PREUgKFJFR19WQUxVRVMgKGkpLT5lbHQtPnZhbF9ydHgpKSkpKQogCSAg Y3NlbGliX2ludmFsaWRhdGVfcmVnbm8gKGksIHJlZ19yYXdfbW9kZVtpXSk7 CiAKICAgICAgIC8qIFNpbmNlIGl0IGlzIG5vdCBjbGVhciBob3cgY3NlbGli IGlzIGdvaW5nIHRvIGJlIHVzZWQsIGJlCmRpZmYgLS1naXQgYS9nY2MvZG9j L3RtLnRleGkuaW4gYi9nY2MvZG9jL3RtLnRleGkuaW4KaW5kZXggOTc2YTcw MC4uOTdhMmFkZSAxMDA2NDQKLS0tIGEvZ2NjL2RvYy90bS50ZXhpLmluCisr KyBiL2djYy9kb2MvdG0udGV4aS5pbgpAQCAtMTcwNyw2ICsxNzA3LDggQEAg b2YgQGNvZGV7Q0FMTF9VU0VEX1JFR0lTVEVSU30uCiBAY2luZGV4IGNhbGwt c2F2ZWQgcmVnaXN0ZXIKIEBob29rIFRBUkdFVF9IQVJEX1JFR05PX0NBTExf UEFSVF9DTE9CQkVSRUQKIAorQGhvb2sgVEFSR0VUX1JFVFVSTl9DQUxMX1dJ VEhfTUFYX0NMT0JCRVJTCisKIEBmaW5kZXggZml4ZWRfcmVncwogQGZpbmRl eCBjYWxsX3VzZWRfcmVncwogQGZpbmRleCBnbG9iYWxfcmVncwpkaWZmIC0t Z2l0IGEvZ2NjL2hvb2tzLmMgYi9nY2MvaG9va3MuYwppbmRleCBiYmMzNWZj Li5mOTU2NTliIDEwMDY0NAotLS0gYS9nY2MvaG9va3MuYworKysgYi9nY2Mv aG9va3MuYwpAQCAtMTQyLDcgKzE0Miw3IEBAIGhvb2tfYm9vbF9wdWludDY0 X3B1aW50NjRfdHJ1ZSAocG9seV91aW50NjQsIHBvbHlfdWludDY0KQogCiAv KiBHZW5lcmljIGhvb2sgdGhhdCB0YWtlcyAodW5zaWduZWQgaW50LCBtYWNo aW5lX21vZGUpIGFuZCByZXR1cm5zIGZhbHNlLiAgKi8KIGJvb2wKLWhvb2tf Ym9vbF91aW50X21vZGVfZmFsc2UgKHVuc2lnbmVkIGludCwgbWFjaGluZV9t b2RlKQoraG9va19ib29sX2luc25fdWludF9tb2RlX2ZhbHNlIChydHhfaW5z biAqLCB1bnNpZ25lZCBpbnQsIG1hY2hpbmVfbW9kZSkKIHsKICAgcmV0dXJu IGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvZ2NjL2hvb2tzLmggYi9nY2MvaG9v a3MuaAppbmRleCA5ZTRiYzI5Li4wYmM4MTE3IDEwMDY0NAotLS0gYS9nY2Mv aG9va3MuaAorKysgYi9nY2MvaG9va3MuaApAQCAtNDAsNyArNDAsOCBAQCBl eHRlcm4gYm9vbCBob29rX2Jvb2xfY29uc3RfcnR4X2luc25fY29uc3RfcnR4 X2luc25fdHJ1ZSAoY29uc3QgcnR4X2luc24gKiwKIGV4dGVybiBib29sIGhv b2tfYm9vbF9tb2RlX3Vod2lfZmFsc2UgKG1hY2hpbmVfbW9kZSwKIAkJCQkg ICAgICAgdW5zaWduZWQgSE9TVF9XSURFX0lOVCk7CiBleHRlcm4gYm9vbCBo b29rX2Jvb2xfcHVpbnQ2NF9wdWludDY0X3RydWUgKHBvbHlfdWludDY0LCBw b2x5X3VpbnQ2NCk7Ci1leHRlcm4gYm9vbCBob29rX2Jvb2xfdWludF9tb2Rl X2ZhbHNlICh1bnNpZ25lZCBpbnQsIG1hY2hpbmVfbW9kZSk7CitleHRlcm4g Ym9vbCBob29rX2Jvb2xfaW5zbl91aW50X21vZGVfZmFsc2UgKHJ0eF9pbnNu ICosIHVuc2lnbmVkIGludCwKKwkJCQkJICAgIG1hY2hpbmVfbW9kZSk7CiBl eHRlcm4gYm9vbCBob29rX2Jvb2xfdWludF9tb2RlX3RydWUgKHVuc2lnbmVk IGludCwgbWFjaGluZV9tb2RlKTsKIGV4dGVybiBib29sIGhvb2tfYm9vbF90 cmVlX2ZhbHNlICh0cmVlKTsKIGV4dGVybiBib29sIGhvb2tfYm9vbF9jb25z dF90cmVlX2ZhbHNlIChjb25zdF90cmVlKTsKZGlmZiAtLWdpdCBhL2djYy9p cmEtY29uZmxpY3RzLmMgYi9nY2MvaXJhLWNvbmZsaWN0cy5jCmluZGV4IDdl YzcwOWQuLjViZDZjMGMgMTAwNjQ0Ci0tLSBhL2djYy9pcmEtY29uZmxpY3Rz LmMKKysrIGIvZ2NjL2lyYS1jb25mbGljdHMuYwpAQCAtODA4LDcgKzgwOCw3 IEBAIGlyYV9idWlsZF9jb25mbGljdHMgKHZvaWQpCiAJCSByZWdzIG11c3Qg Y29uZmxpY3Qgd2l0aCB0aGVtLiAgKi8KIAkgICAgICBmb3IgKHJlZ25vID0g MDsgcmVnbm8gPCBGSVJTVF9QU0VVRE9fUkVHSVNURVI7IHJlZ25vKyspCiAJ CWlmICghVEVTVF9IQVJEX1JFR19CSVQgKGNhbGxfdXNlZF9yZWdfc2V0LCBy ZWdubykKLQkJICAgICYmIHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRf Y2xvYmJlcmVkIChyZWdubywKKwkJICAgICYmIHRhcmdldG0uaGFyZF9yZWdu b19jYWxsX3BhcnRfY2xvYmJlcmVkIChOVUxMLCByZWdubywKIAkJCQkJCQkg ICAgICAgb2JqX21vZGUpKQogCQkgIHsKIAkJICAgIFNFVF9IQVJEX1JFR19C SVQgKE9CSkVDVF9DT05GTElDVF9IQVJEX1JFR1MgKG9iaiksIHJlZ25vKTsK ZGlmZiAtLWdpdCBhL2djYy9pcmEtY29zdHMuYyBiL2djYy9pcmEtY29zdHMu YwppbmRleCAwY2E3MGEwLi5hMTdkYWUzIDEwMDY0NAotLS0gYS9nY2MvaXJh LWNvc3RzLmMKKysrIGIvZ2NjL2lyYS1jb3N0cy5jCkBAIC0yMzc5LDcgKzIz NzksNyBAQCBpcmFfdHVuZV9hbGxvY25vX2Nvc3RzICh2b2lkKQogCQkJCQkJ ICAgKmNyb3NzZWRfY2FsbHNfY2xvYmJlcl9yZWdzKQogCQkgICYmIChpcmFf aGFyZF9yZWdfc2V0X2ludGVyc2VjdGlvbl9wIChyZWdubywgbW9kZSwKIAkJ CQkJCSAgICAgICBjYWxsX3VzZWRfcmVnX3NldCkKLQkJICAgICAgfHwgdGFy Z2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQgKHJlZ25vLAor CQkgICAgICB8fCB0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2Ji ZXJlZCAoTlVMTCwgcmVnbm8sCiAJCQkJCQkJCSBtb2RlKSkpCiAJCWNvc3Qg Kz0gKEFMTE9DTk9fQ0FMTF9GUkVRIChhKQogCQkJICogKGlyYV9tZW1vcnlf bW92ZV9jb3N0W21vZGVdW3JjbGFzc11bMF0KZGlmZiAtLWdpdCBhL2djYy9s cmEtYXNzaWducy5jIGIvZ2NjL2xyYS1hc3NpZ25zLmMKaW5kZXggMTMxMjgw NC4uY2I0YTg3MyAxMDA2NDQKLS0tIGEvZ2NjL2xyYS1hc3NpZ25zLmMKKysr IGIvZ2NjL2xyYS1hc3NpZ25zLmMKQEAgLTE2MjEsNyArMTYyMSw3IEBAIGxy YV9hc3NpZ24gKGJvb2wgJmZhaWxzX3ApCiAgICAgICAgYXNtIGlzIHJlbW92 ZWQgYW5kIGl0IGNhbiByZXN1bHQgaW4gaW5jb3JyZWN0IGFsbG9jYXRpb24u ICAqLwogICAgIGZvciAoaSA9IEZJUlNUX1BTRVVET19SRUdJU1RFUjsgaSA8 IG1heF9yZWdubzsgaSsrKQogICAgICAgaWYgKGxyYV9yZWdfaW5mb1tpXS5u cmVmcyAhPSAwICYmIHJlZ19yZW51bWJlcltpXSA+PSAwCi0JICAmJiBscmFf cmVnX2luZm9baV0uY2FsbF9wCisJICAmJiBscmFfcmVnX2luZm9baV0uY2Fs bF9pbnNuCiAJICAmJiBvdmVybGFwc19oYXJkX3JlZ19zZXRfcCAoY2FsbF91 c2VkX3JlZ19zZXQsCiAJCQkJICAgICAgUFNFVURPX1JFR05PX01PREUgKGkp LCByZWdfcmVudW1iZXJbaV0pKQogCWdjY191bnJlYWNoYWJsZSAoKTsKZGlm ZiAtLWdpdCBhL2djYy9scmEtY29uc3RyYWludHMuYyBiL2djYy9scmEtY29u c3RyYWludHMuYwppbmRleCA0ZjQzNGU1Li4xNDQwNDUxIDEwMDY0NAotLS0g YS9nY2MvbHJhLWNvbnN0cmFpbnRzLmMKKysrIGIvZ2NjL2xyYS1jb25zdHJh aW50cy5jCkBAIC01Mzc3LDcgKzUzNzcsOCBAQCBuZWVkX2Zvcl9jYWxsX3Nh dmVfcCAoaW50IHJlZ25vKQogCSAgICAgICA6IGNhbGxfdXNlZF9yZWdfc2V0 LAogCSAgICAgICBQU0VVRE9fUkVHTk9fTU9ERSAocmVnbm8pLCByZWdfcmVu dW1iZXJbcmVnbm9dKQogCSAgICAgIHx8ICh0YXJnZXRtLmhhcmRfcmVnbm9f Y2FsbF9wYXJ0X2Nsb2JiZXJlZAotCQkgIChyZWdfcmVudW1iZXJbcmVnbm9d LCBQU0VVRE9fUkVHTk9fTU9ERSAocmVnbm8pKSkpKTsKKwkJICAobHJhX3Jl Z19pbmZvW3JlZ25vXS5jYWxsX2luc24sCisJCSAgIHJlZ19yZW51bWJlclty ZWdub10sIFBTRVVET19SRUdOT19NT0RFIChyZWdubykpKSkpOwogfQogCiAv KiBHbG9iYWwgcmVnaXN0ZXJzIG9jY3VycmluZyBpbiB0aGUgY3VycmVudCBF QkIuICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2xyYS1pbnQuaCBiL2djYy9scmEt aW50LmgKaW5kZXggOWQ5ZTgxZC4uZDBhOGZhYyAxMDA2NDQKLS0tIGEvZ2Nj L2xyYS1pbnQuaAorKysgYi9nY2MvbHJhLWludC5oCkBAIC05MSwxMCArOTEs NiBAQCBzdHJ1Y3QgbHJhX3JlZwogICAvKiBUcnVlIGlmIHRoZSBwc2V1ZG8g c2hvdWxkIG5vdCBiZSBhc3NpZ25lZCB0byBhIHN0YWNrIHJlZ2lzdGVyLiAg Ki8KICAgYm9vbCBub19zdGFja19wOwogI2VuZGlmCi0gIC8qIFRydWUgaWYg dGhlIHBzZXVkbyBjcm9zc2VzIGEgY2FsbC4JIEl0IGlzIHNldHVwIGluIGxy YS1saXZlcy5jCi0gICAgIGFuZCB1c2VkIHRvIGNoZWNrIHRoYXQgdGhlIHBz ZXVkbyBjcm9zc2luZyBhIGNhbGwgZGlkIG5vdCBnZXQgYQotICAgICBjYWxs IHVzZWQgaGFyZCByZWdpc3Rlci4gICovCi0gIGJvb2wgY2FsbF9wOwogICAv KiBOdW1iZXIgb2YgcmVmZXJlbmNlcyBhbmQgZXhlY3V0aW9uIGZyZXF1ZW5j aWVzIG9mIHRoZSByZWdpc3RlciBpbgogICAgICAqbm9uLWRlYnVnKiBpbnNu cy4JICovCiAgIGludCBucmVmcywgZnJlcTsKQEAgLTEwNyw2ICsxMDMsOCBA QCBzdHJ1Y3QgbHJhX3JlZwogICBpbnQgdmFsOwogICAvKiBPZmZzZXQgZnJv bSByZWxhdGl2ZSBlbGltaW5hdGUgcmVnaXN0ZXIgdG8gcGVzdWRvIHJlZy4g ICovCiAgIHBvbHlfaW50NjQgb2Zmc2V0OworICAvKiBDYWxsIGluc3RydWN0 aW9uLCBpZiBhbnksIHRoYXQgbWF5IGFmZmVjdCB0aGlzIHBzdWVkbyByZWcu ICAqLworICBydHhfaW5zbiAqY2FsbF9pbnNuOwogICAvKiBUaGVzZSBtZW1i ZXJzIGFyZSBzZXQgdXAgaW4gbHJhLWxpdmVzLmMgYW5kIHVwZGF0ZWQgaW4K ICAgICAgbHJhLWNvYWxlc2NlLmMuICAqLwogICAvKiBUaGUgYmlnZ2VzdCBz aXplIG1vZGUgaW4gd2hpY2ggZWFjaCBwc2V1ZG8gcmVnIGlzIHJlZmVycmVk IGluCmRpZmYgLS1naXQgYS9nY2MvbHJhLWxpdmVzLmMgYi9nY2MvbHJhLWxp dmVzLmMKaW5kZXggYTAwZWMzOC4uYjc3YjY3NSAxMDA2NDQKLS0tIGEvZ2Nj L2xyYS1saXZlcy5jCisrKyBiL2djYy9scmEtbGl2ZXMuYwpAQCAtNTc2LDI1 ICs1NzYsMzkgQEAgbHJhX3NldHVwX3JlbG9hZF9wc2V1ZG9fcHJlZmVyZW5j ZWRfaGFyZF9yZWcgKGludCByZWdubywKIAogLyogQ2hlY2sgdGhhdCBSRUdO TyBsaXZpbmcgdGhyb3VnaCBjYWxscyBhbmQgc2V0anVtcHMsIHNldCB1cCBj b25mbGljdAogICAgcmVncyB1c2luZyBMQVNUX0NBTExfVVNFRF9SRUdfU0VU LCBhbmQgY2xlYXIgY29ycmVzcG9uZGluZyBiaXRzIGluCi0gICBQU0VVRE9T X0xJVkVfVEhST1VHSF9DQUxMUyBhbmQgUFNFVURPU19MSVZFX1RIUk9VR0hf U0VUSlVNUFMuICAqLworICAgUFNFVURPU19MSVZFX1RIUk9VR0hfQ0FMTFMg YW5kIFBTRVVET1NfTElWRV9USFJPVUdIX1NFVEpVTVBTLgorICAgQ0FMTF9J TlNOIG1heSBiZSB0aGUgc3BlY2lmaWMgY2FsbCB3ZSB3YW50IHRvIGNoZWNr IHRoYXQgUkVHTk8gbGl2ZXMKKyAgIHRocm91Z2ggb3IgYSBjYWxsIHRoYXQg aXMgZ3VhcmFudGVlZCB0byBjbG9iYmVyIFJFR05PIGlmIGFueSBjYWxsCisg ICBpbiB0aGUgY3VycmVudCBibG9jayBjbG9iYmVycyBSRUdOTy4gICovCisK IHN0YXRpYyBpbmxpbmUgdm9pZAogY2hlY2tfcHNldWRvc19saXZlX3Rocm91 Z2hfY2FsbHMgKGludCByZWdubywKLQkJCQkgIEhBUkRfUkVHX1NFVCBsYXN0 X2NhbGxfdXNlZF9yZWdfc2V0KQorCQkJCSAgSEFSRF9SRUdfU0VUIGxhc3Rf Y2FsbF91c2VkX3JlZ19zZXQsCisJCQkJICBydHhfaW5zbiAqY2FsbF9pbnNu KQogewogICBpbnQgaHI7CisgIHJ0eF9pbnNuICpvbGRfY2FsbF9pbnNuOwog CiAgIGlmICghIHNwYXJzZXNldF9iaXRfcCAocHNldWRvc19saXZlX3Rocm91 Z2hfY2FsbHMsIHJlZ25vKSkKICAgICByZXR1cm47CisKKyAgZ2NjX2Fzc2Vy dCAoY2FsbF9pbnNuICYmIENBTExfUCAoY2FsbF9pbnNuKSk7CisgIG9sZF9j YWxsX2luc24gPSBscmFfcmVnX2luZm9bcmVnbm9dLmNhbGxfaW5zbjsKKyAg aWYgKCFvbGRfY2FsbF9pbnNuCisgICAgICB8fCAodGFyZ2V0bS5yZXR1cm5f Y2FsbF93aXRoX21heF9jbG9iYmVycworCSAgJiYgdGFyZ2V0bS5yZXR1cm5f Y2FsbF93aXRoX21heF9jbG9iYmVycyAob2xkX2NhbGxfaW5zbiwgY2FsbF9p bnNuKQorCSAgICAgPT0gY2FsbF9pbnNuKSkKKyAgICBscmFfcmVnX2luZm9b cmVnbm9dLmNhbGxfaW5zbiA9IGNhbGxfaW5zbjsKKwogICBzcGFyc2VzZXRf Y2xlYXJfYml0IChwc2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxscywgcmVnbm8p OwogICBJT1JfSEFSRF9SRUdfU0VUIChscmFfcmVnX2luZm9bcmVnbm9dLmNv bmZsaWN0X2hhcmRfcmVncywKIAkJICAgIGxhc3RfY2FsbF91c2VkX3JlZ19z ZXQpOwogCiAgIGZvciAoaHIgPSAwOyBIQVJEX1JFR0lTVEVSX05VTV9QICho cik7IGhyKyspCi0gICAgaWYgKHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3Bh cnRfY2xvYmJlcmVkIChociwKKyAgICBpZiAodGFyZ2V0bS5oYXJkX3JlZ25v X2NhbGxfcGFydF9jbG9iYmVyZWQgKGNhbGxfaW5zbiwgaHIsCiAJCQkJCQlQ U0VVRE9fUkVHTk9fTU9ERSAocmVnbm8pKSkKICAgICAgIGFkZF90b19oYXJk X3JlZ19zZXQgKCZscmFfcmVnX2luZm9bcmVnbm9dLmNvbmZsaWN0X2hhcmRf cmVncywKIAkJCSAgIFBTRVVET19SRUdOT19NT0RFIChyZWdubyksIGhyKTsK LSAgbHJhX3JlZ19pbmZvW3JlZ25vXS5jYWxsX3AgPSB0cnVlOwogICBpZiAo ISBzcGFyc2VzZXRfYml0X3AgKHBzZXVkb3NfbGl2ZV90aHJvdWdoX3NldGp1 bXBzLCByZWdubykpCiAgICAgcmV0dXJuOwogICBzcGFyc2VzZXRfY2xlYXJf Yml0IChwc2V1ZG9zX2xpdmVfdGhyb3VnaF9zZXRqdW1wcywgcmVnbm8pOwpA QCAtNjE1LDYgKzYyOSwxOSBAQCByZWdfZWFybHlfY2xvYmJlcl9wIChjb25z dCBzdHJ1Y3QgbHJhX2luc25fcmVnICpyZWcsIGludCBuX2FsdCkKIAkJICAm JiBURVNUX0JJVCAocmVnLT5lYXJseV9jbG9iYmVyX2FsdHMsIG5fYWx0KSkp KTsKIH0KIAorLyogUmV0dXJuIHRydWUgaWYgY2FsbCBpbnN0cnVjdGlvbnMg Q0FMTDEgYW5kIENBTEwyIHVzZSBBQklzIHRoYXQKKyAgIHByZXNlcnZlIHRo ZSBzYW1lIHNldCBvZiByZWdpc3RlcnMuICAqLworCitzdGF0aWMgYm9vbAor Y2FsbHNfaGF2ZV9zYW1lX2Nsb2JiZXJzX3AgKHJ0eF9pbnNuICpjYWxsMSwg cnR4X2luc24gKmNhbGwyKQoreworICBpZiAoIXRhcmdldG0ucmV0dXJuX2Nh bGxfd2l0aF9tYXhfY2xvYmJlcnMpCisgICAgcmV0dXJuIGZhbHNlOworCisg IHJldHVybiAodGFyZ2V0bS5yZXR1cm5fY2FsbF93aXRoX21heF9jbG9iYmVy cyAoY2FsbDEsIGNhbGwyKSA9PSBjYWxsMQorICAgICAgICAgICYmIHRhcmdl dG0ucmV0dXJuX2NhbGxfd2l0aF9tYXhfY2xvYmJlcnMgKGNhbGwyLCBjYWxs MSkgPT0gY2FsbDIpOworfQorCiAvKiBQcm9jZXNzIGluc25zIG9mIHRoZSBi YXNpYyBibG9jayBCQiB0byB1cGRhdGUgcHNldWRvIGxpdmUgcmFuZ2VzLAog ICAgcHNldWRvIGhhcmQgcmVnaXN0ZXIgY29uZmxpY3RzLCBhbmQgaW5zbiBu b3Rlcy4gIFdlIGRvIGl0IG9uCiAgICBiYWNrd2FyZCBzY2FuIG9mIEJCIGlu c25zLiAgQ1VSUl9QT0lOVCBpcyB0aGUgcHJvZ3JhbSBwb2ludCB3aGVyZQpA QCAtNjM1LDYgKzY2Miw4IEBAIHByb2Nlc3NfYmJfbGl2ZXMgKGJhc2ljX2Js b2NrIGJiLCBpbnQgJmN1cnJfcG9pbnQsIGJvb2wgZGVhZF9pbnNuX3ApCiAg IHJ0eCBsaW5rLCAqbGlua19sb2M7CiAgIGJvb2wgbmVlZF9jdXJyX3BvaW50 X2luY3I7CiAgIEhBUkRfUkVHX1NFVCBsYXN0X2NhbGxfdXNlZF9yZWdfc2V0 OworICBydHhfaW5zbiAqY2FsbF9pbnNuID0gTlVMTDsKKyAgcnR4X2luc24g Kmxhc3RfY2FsbF9pbnNuID0gTlVMTDsKIAogICByZWdfbGl2ZV9vdXQgPSBk Zl9nZXRfbGl2ZV9vdXQgKGJiKTsKICAgc3BhcnNlc2V0X2NsZWFyIChwc2V1 ZG9zX2xpdmUpOwpAQCAtODQ3LDcgKzg3Niw4IEBAIHByb2Nlc3NfYmJfbGl2 ZXMgKGJhc2ljX2Jsb2NrIGJiLCBpbnQgJmN1cnJfcG9pbnQsIGJvb2wgZGVh ZF9pbnNuX3ApCiAJICAgICAgdXBkYXRlX3BzZXVkb19wb2ludCAocmVnLT5y ZWdubywgY3Vycl9wb2ludCwgVVNFX1BPSU5UKTsKIAkgICAgICBtYXJrX3Jl Z25vX2xpdmUgKHJlZy0+cmVnbm8sIHJlZy0+YmlnZ2VzdF9tb2RlKTsKIAkg ICAgICBjaGVja19wc2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxscyAocmVnLT5y ZWdubywKLQkJCQkJCWxhc3RfY2FsbF91c2VkX3JlZ19zZXQpOworCQkJCQkJ bGFzdF9jYWxsX3VzZWRfcmVnX3NldCwKKwkJCQkJCWNhbGxfaW5zbik7CiAJ ICAgIH0KIAogCSAgaWYgKCFIQVJEX1JFR0lTVEVSX05VTV9QIChyZWctPnJl Z25vKSkKQEAgLTg5Niw3ICs5MjYsOCBAQCBwcm9jZXNzX2JiX2xpdmVzIChi YXNpY19ibG9jayBiYiwgaW50ICZjdXJyX3BvaW50LCBib29sIGRlYWRfaW5z bl9wKQogCiAgICAgICBpZiAoY2FsbF9wKQogCXsKLQkgIGlmICghIGZsYWdf aXBhX3JhKQorCSAgY2FsbF9pbnNuID0gY3Vycl9pbnNuOworCSAgaWYgKCEg ZmxhZ19pcGFfcmEgJiYgISB0YXJnZXRtLnJldHVybl9jYWxsX3dpdGhfbWF4 X2Nsb2JiZXJzKQogCSAgICBDT1BZX0hBUkRfUkVHX1NFVChsYXN0X2NhbGxf dXNlZF9yZWdfc2V0LCBjYWxsX3VzZWRfcmVnX3NldCk7CiAJICBlbHNlCiAJ ICAgIHsKQEAgLTkwNSwxOCArOTM2LDI0IEBAIHByb2Nlc3NfYmJfbGl2ZXMg KGJhc2ljX2Jsb2NrIGJiLCBpbnQgJmN1cnJfcG9pbnQsIGJvb2wgZGVhZF9p bnNuX3ApCiAJCQkJICAgICAgY2FsbF91c2VkX3JlZ19zZXQpOwogCiAJICAg ICAgYm9vbCBmbHVzaCA9ICghIGhhcmRfcmVnX3NldF9lbXB0eV9wIChsYXN0 X2NhbGxfdXNlZF9yZWdfc2V0KQotCQkJICAgICYmICEgaGFyZF9yZWdfc2V0 X2VxdWFsX3AgKGxhc3RfY2FsbF91c2VkX3JlZ19zZXQsCi0JCQkJCQkgICAg ICAgdGhpc19jYWxsX3VzZWRfcmVnX3NldCkpOworCQkJICAgICYmICggISBo YXJkX3JlZ19zZXRfZXF1YWxfcCAobGFzdF9jYWxsX3VzZWRfcmVnX3NldCwK KwkJCQkJCSAgICAgICB0aGlzX2NhbGxfdXNlZF9yZWdfc2V0KSkpCisJCQkg ICB8fCAobGFzdF9jYWxsX2luc24gJiYgISBjYWxsc19oYXZlX3NhbWVfY2xv YmJlcnNfcAorCQkJCQkJICAgICAoY2FsbF9pbnNuLAorCQkJCQkJICAgICAg bGFzdF9jYWxsX2luc24pKTsKIAogCSAgICAgIEVYRUNVVEVfSUZfU0VUX0lO X1NQQVJTRVNFVCAocHNldWRvc19saXZlLCBqKQogCQl7CiAJCSAgSU9SX0hB UkRfUkVHX1NFVCAobHJhX3JlZ19pbmZvW2pdLmFjdHVhbF9jYWxsX3VzZWRf cmVnX3NldCwKIAkJCQkgICAgdGhpc19jYWxsX3VzZWRfcmVnX3NldCk7CisK IAkJICBpZiAoZmx1c2gpCi0JCSAgICBjaGVja19wc2V1ZG9zX2xpdmVfdGhy b3VnaF9jYWxscwotCQkgICAgICAoaiwgbGFzdF9jYWxsX3VzZWRfcmVnX3Nl dCk7CisJCSAgICBjaGVja19wc2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxscyAo aiwKKwkJCQkJCSAgICAgIGxhc3RfY2FsbF91c2VkX3JlZ19zZXQsCisJCQkJ CQkgICAgICBsYXN0X2NhbGxfaW5zbik7CiAJCX0KIAkgICAgICBDT1BZX0hB UkRfUkVHX1NFVChsYXN0X2NhbGxfdXNlZF9yZWdfc2V0LCB0aGlzX2NhbGxf dXNlZF9yZWdfc2V0KTsKKwkgICAgICBsYXN0X2NhbGxfaW5zbiA9IGNhbGxf aW5zbjsKIAkgICAgfQogCiAJICBzcGFyc2VzZXRfaW9yIChwc2V1ZG9zX2xp dmVfdGhyb3VnaF9jYWxscywKQEAgLTk1Niw3ICs5OTMsOCBAQCBwcm9jZXNz X2JiX2xpdmVzIChiYXNpY19ibG9jayBiYiwgaW50ICZjdXJyX3BvaW50LCBi b29sIGRlYWRfaW5zbl9wKQogCSAgICAgIHVwZGF0ZV9wc2V1ZG9fcG9pbnQg KHJlZy0+cmVnbm8sIGN1cnJfcG9pbnQsIFVTRV9QT0lOVCk7CiAJICAgIG1h cmtfcmVnbm9fbGl2ZSAocmVnLT5yZWdubywgcmVnLT5iaWdnZXN0X21vZGUp OwogCSAgICBjaGVja19wc2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxscyAocmVn LT5yZWdubywKLQkJCQkJICAgICAgbGFzdF9jYWxsX3VzZWRfcmVnX3NldCk7 CisJCQkJCSAgICAgIGxhc3RfY2FsbF91c2VkX3JlZ19zZXQsCisJCQkJCSAg ICAgIGNhbGxfaW5zbik7CiAJICB9CiAKICAgICAgIGZvciAocmVnID0gY3Vy cl9zdGF0aWNfaWQtPmhhcmRfcmVnczsgcmVnICE9IE5VTEw7IHJlZyA9IHJl Zy0+bmV4dCkKQEAgLTExMjUsNyArMTE2Myw3IEBAIHByb2Nlc3NfYmJfbGl2 ZXMgKGJhc2ljX2Jsb2NrIGJiLCBpbnQgJmN1cnJfcG9pbnQsIGJvb2wgZGVh ZF9pbnNuX3ApCiAgICAgICBpZiAoc3BhcnNlc2V0X2NhcmRpbmFsaXR5IChw c2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxscykgPT0gMCkKIAlicmVhazsKICAg ICAgIGlmIChzcGFyc2VzZXRfYml0X3AgKHBzZXVkb3NfbGl2ZV90aHJvdWdo X2NhbGxzLCBqKSkKLQljaGVja19wc2V1ZG9zX2xpdmVfdGhyb3VnaF9jYWxs cyAoaiwgbGFzdF9jYWxsX3VzZWRfcmVnX3NldCk7CisJY2hlY2tfcHNldWRv c19saXZlX3Rocm91Z2hfY2FsbHMgKGosIGxhc3RfY2FsbF91c2VkX3JlZ19z ZXQsIGNhbGxfaW5zbik7CiAgICAgfQogCiAgIGZvciAoaSA9IDA7IEhBUkRf UkVHSVNURVJfTlVNX1AgKGkpOyArK2kpCkBAIC0xMzU5LDcgKzEzOTcsNyBA QCBscmFfY3JlYXRlX2xpdmVfcmFuZ2VzXzEgKGJvb2wgYWxsX3AsIGJvb2wg ZGVhZF9pbnNuX3ApCiAJbHJhX3JlZ19pbmZvW2ldLmJpZ2dlc3RfbW9kZSA9 IEdFVF9NT0RFIChyZWdub19yZWdfcnR4W2ldKTsKICAgICAgIGVsc2UKIAls cmFfcmVnX2luZm9baV0uYmlnZ2VzdF9tb2RlID0gVk9JRG1vZGU7Ci0gICAg ICBscmFfcmVnX2luZm9baV0uY2FsbF9wID0gZmFsc2U7CisgICAgICBscmFf cmVnX2luZm9baV0uY2FsbF9pbnNuID0gTlVMTDsKICAgICAgIGlmICghSEFS RF9SRUdJU1RFUl9OVU1fUCAoaSkKIAkgICYmIGxyYV9yZWdfaW5mb1tpXS5u cmVmcyAhPSAwKQogCXsKZGlmZiAtLWdpdCBhL2djYy9scmEuYyBiL2djYy9s cmEuYwppbmRleCA1OTJiOTkwLi5lMDBlNmU3IDEwMDY0NAotLS0gYS9nY2Mv bHJhLmMKKysrIGIvZ2NjL2xyYS5jCkBAIC0xMzQ0LDYgKzEzNDQsNyBAQCBp bml0aWFsaXplX2xyYV9yZWdfaW5mb19lbGVtZW50IChpbnQgaSkKICAgbHJh X3JlZ19pbmZvW2ldLnZhbCA9IGdldF9uZXdfcmVnX3ZhbHVlICgpOwogICBs cmFfcmVnX2luZm9baV0ub2Zmc2V0ID0gMDsKICAgbHJhX3JlZ19pbmZvW2ld LmNvcGllcyA9IE5VTEw7CisgIGxyYV9yZWdfaW5mb1tpXS5jYWxsX2luc24g PSBOVUxMOwogfQogCiAvKiBJbml0aWFsaXplIGNvbW1vbiByZWcgaW5mbyBh bmQgY29waWVzLiAgKi8KZGlmZiAtLWdpdCBhL2djYy9yZWdjcHJvcC5jIGIv Z2NjL3JlZ2Nwcm9wLmMKaW5kZXggYjEwN2VhMi4uZTZiZGViMCAxMDA2NDQK LS0tIGEvZ2NjL3JlZ2Nwcm9wLmMKKysrIGIvZ2NjL3JlZ2Nwcm9wLmMKQEAg LTEwNTQsNyArMTA1NCw3IEBAIGNvcHlwcm9wX2hhcmRyZWdfZm9yd2FyZF8x IChiYXNpY19ibG9jayBiYiwgc3RydWN0IHZhbHVlX2RhdGEgKnZkKQogCSAg Zm9yIChyZWdubyA9IDA7IHJlZ25vIDwgRklSU1RfUFNFVURPX1JFR0lTVEVS OyByZWdubysrKQogCSAgICBpZiAoKFRFU1RfSEFSRF9SRUdfQklUIChyZWdz X2ludmFsaWRhdGVkX2J5X3RoaXNfY2FsbCwgcmVnbm8pCiAJCSB8fCAodGFy Z2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9jbG9iYmVyZWQKLQkJICAgICAo cmVnbm8sIHZkLT5lW3JlZ25vXS5tb2RlKSkpCisJCSAgICAgKGluc24sIHJl Z25vLCB2ZC0+ZVtyZWdub10ubW9kZSkpKQogCQkmJiAocmVnbm8gPCBzZXRf cmVnbm8gfHwgcmVnbm8gPj0gc2V0X3JlZ25vICsgc2V0X25yZWdzKSkKIAkg ICAgICBraWxsX3ZhbHVlX3JlZ25vIChyZWdubywgMSwgdmQpOwogCmRpZmYg LS1naXQgYS9nY2MvcmVnaW5mby5jIGIvZ2NjL3JlZ2luZm8uYwppbmRleCA3 YTdmYTRkLi4zMTVjNWVjIDEwMDY0NAotLS0gYS9nY2MvcmVnaW5mby5jCisr KyBiL2djYy9yZWdpbmZvLmMKQEAgLTYzOSw3ICs2MzksNyBAQCBjaG9vc2Vf aGFyZF9yZWdfbW9kZSAodW5zaWduZWQgaW50IHJlZ25vIEFUVFJJQlVURV9V TlVTRUQsCiAgICAgaWYgKGhhcmRfcmVnbm9fbnJlZ3MgKHJlZ25vLCBtb2Rl KSA9PSBucmVncwogCSYmIHRhcmdldG0uaGFyZF9yZWdub19tb2RlX29rIChy ZWdubywgbW9kZSkKIAkmJiAoIWNhbGxfc2F2ZWQKLQkgICAgfHwgIXRhcmdl dG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChyZWdubywgbW9k ZSkpCisJICAgIHx8ICF0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Ns b2JiZXJlZCAoTlVMTCwgcmVnbm8sIG1vZGUpKQogCSYmIG1heWJlX2d0IChH RVRfTU9ERV9TSVpFIChtb2RlKSwgR0VUX01PREVfU0laRSAoZm91bmRfbW9k ZSkpKQogICAgICAgZm91bmRfbW9kZSA9IG1vZGU7CiAKQEAgLTY0Nyw3ICs2 NDcsNyBAQCBjaG9vc2VfaGFyZF9yZWdfbW9kZSAodW5zaWduZWQgaW50IHJl Z25vIEFUVFJJQlVURV9VTlVTRUQsCiAgICAgaWYgKGhhcmRfcmVnbm9fbnJl Z3MgKHJlZ25vLCBtb2RlKSA9PSBucmVncwogCSYmIHRhcmdldG0uaGFyZF9y ZWdub19tb2RlX29rIChyZWdubywgbW9kZSkKIAkmJiAoIWNhbGxfc2F2ZWQK LQkgICAgfHwgIXRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJl cmVkIChyZWdubywgbW9kZSkpCisJICAgIHx8ICF0YXJnZXRtLmhhcmRfcmVn bm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAoTlVMTCwgcmVnbm8sIG1vZGUpKQog CSYmIG1heWJlX2d0IChHRVRfTU9ERV9TSVpFIChtb2RlKSwgR0VUX01PREVf U0laRSAoZm91bmRfbW9kZSkpKQogICAgICAgZm91bmRfbW9kZSA9IG1vZGU7 CiAKQEAgLTY1NSw3ICs2NTUsNyBAQCBjaG9vc2VfaGFyZF9yZWdfbW9kZSAo dW5zaWduZWQgaW50IHJlZ25vIEFUVFJJQlVURV9VTlVTRUQsCiAgICAgaWYg KGhhcmRfcmVnbm9fbnJlZ3MgKHJlZ25vLCBtb2RlKSA9PSBucmVncwogCSYm IHRhcmdldG0uaGFyZF9yZWdub19tb2RlX29rIChyZWdubywgbW9kZSkKIAkm JiAoIWNhbGxfc2F2ZWQKLQkgICAgfHwgIXRhcmdldG0uaGFyZF9yZWdub19j YWxsX3BhcnRfY2xvYmJlcmVkIChyZWdubywgbW9kZSkpCisJICAgIHx8ICF0 YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAoTlVMTCwg cmVnbm8sIG1vZGUpKQogCSYmIG1heWJlX2d0IChHRVRfTU9ERV9TSVpFICht b2RlKSwgR0VUX01PREVfU0laRSAoZm91bmRfbW9kZSkpKQogICAgICAgZm91 bmRfbW9kZSA9IG1vZGU7CiAKQEAgLTY2Myw3ICs2NjMsNyBAQCBjaG9vc2Vf aGFyZF9yZWdfbW9kZSAodW5zaWduZWQgaW50IHJlZ25vIEFUVFJJQlVURV9V TlVTRUQsCiAgICAgaWYgKGhhcmRfcmVnbm9fbnJlZ3MgKHJlZ25vLCBtb2Rl KSA9PSBucmVncwogCSYmIHRhcmdldG0uaGFyZF9yZWdub19tb2RlX29rIChy ZWdubywgbW9kZSkKIAkmJiAoIWNhbGxfc2F2ZWQKLQkgICAgfHwgIXRhcmdl dG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChyZWdubywgbW9k ZSkpCisJICAgIHx8ICF0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Ns b2JiZXJlZCAoTlVMTCwgcmVnbm8sIG1vZGUpKQogCSYmIG1heWJlX2d0IChH RVRfTU9ERV9TSVpFIChtb2RlKSwgR0VUX01PREVfU0laRSAoZm91bmRfbW9k ZSkpKQogICAgICAgZm91bmRfbW9kZSA9IG1vZGU7CiAKQEAgLTY3Nyw3ICs2 NzcsNyBAQCBjaG9vc2VfaGFyZF9yZWdfbW9kZSAodW5zaWduZWQgaW50IHJl Z25vIEFUVFJJQlVURV9VTlVTRUQsCiAgICAgICBpZiAoaGFyZF9yZWdub19u cmVncyAocmVnbm8sIG1vZGUpID09IG5yZWdzCiAJICAmJiB0YXJnZXRtLmhh cmRfcmVnbm9fbW9kZV9vayAocmVnbm8sIG1vZGUpCiAJICAmJiAoIWNhbGxf c2F2ZWQKLQkgICAgICB8fCAhdGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFy dF9jbG9iYmVyZWQgKHJlZ25vLCBtb2RlKSkpCisJICAgICAgfHwgIXRhcmdl dG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChOVUxMLCByZWdu bywgbW9kZSkpKQogCXJldHVybiBtb2RlOwogICAgIH0KIApkaWZmIC0tZ2l0 IGEvZ2NjL3JlZ3JlbmFtZS5jIGIvZ2NjL3JlZ3JlbmFtZS5jCmluZGV4IGEx ODBjZWQuLjYzN2IzY2IgMTAwNjQ0Ci0tLSBhL2djYy9yZWdyZW5hbWUuYwor KysgYi9nY2MvcmVncmVuYW1lLmMKQEAgLTMzOSw5ICszMzksOSBAQCBjaGVj a19uZXdfcmVnX3AgKGludCByZWcgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5l d19yZWcsCiAJICYmICEgREVCVUdfSU5TTl9QICh0bXAtPmluc24pKQogCXx8 ICh0aGlzX2hlYWQtPm5lZWRfY2FsbGVyX3NhdmVfcmVnCiAJICAgICYmICEg KHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkCi0JCSAg KHJlZywgR0VUX01PREUgKCp0bXAtPmxvYykpKQorCQkgIChOVUxMLCByZWcs IEdFVF9NT0RFICgqdG1wLT5sb2MpKSkKIAkgICAgJiYgKHRhcmdldG0uaGFy ZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkCi0JCShuZXdfcmVnLCBHRVRf TU9ERSAoKnRtcC0+bG9jKSkpKSkKKwkJKE5VTEwsIG5ld19yZWcsIEdFVF9N T0RFICgqdG1wLT5sb2MpKSkpKQogICAgICAgcmV0dXJuIGZhbHNlOwogCiAg IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvZ2NjL3JlbG9hZC5jIGIvZ2Nj L3JlbG9hZC5jCmluZGV4IDNhZDExYTguLjcyY2MzOGEgMTAwNjQ0Ci0tLSBh L2djYy9yZWxvYWQuYworKysgYi9nY2MvcmVsb2FkLmMKQEAgLTY5MTIsMTMg KzY5MTIsMTQgQEAgZmluZF9lcXVpdl9yZWcgKHJ0eCBnb2FsLCBydHhfaW5z biAqaW5zbiwgZW51bSByZWdfY2xhc3MgcmNsYXNzLCBpbnQgb3RoZXIsCiAJ ICBpZiAocmVnbm8gPj0gMCAmJiByZWdubyA8IEZJUlNUX1BTRVVET19SRUdJ U1RFUikKIAkgICAgZm9yIChpID0gMDsgaSA8IG5yZWdzOyArK2kpCiAJICAg ICAgaWYgKGNhbGxfdXNlZF9yZWdzW3JlZ25vICsgaV0KLQkJICB8fCB0YXJn ZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAocmVnbm8gKyBp LCBtb2RlKSkKKwkJICB8fCB0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0 X2Nsb2JiZXJlZCAoTlVMTCwgcmVnbm8gKyBpLAorCQkJCQkJCSAgICAgbW9k ZSkpCiAJCXJldHVybiAwOwogCiAJICBpZiAodmFsdWVubyA+PSAwICYmIHZh bHVlbm8gPCBGSVJTVF9QU0VVRE9fUkVHSVNURVIpCiAJICAgIGZvciAoaSA9 IDA7IGkgPCB2YWx1ZW5yZWdzOyArK2kpCiAJICAgICAgaWYgKGNhbGxfdXNl ZF9yZWdzW3ZhbHVlbm8gKyBpXQotCQkgIHx8IHRhcmdldG0uaGFyZF9yZWdu b19jYWxsX3BhcnRfY2xvYmJlcmVkICh2YWx1ZW5vICsgaSwKKwkJICB8fCB0 YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAoTlVMTCwg dmFsdWVubyArIGksCiAJCQkJCQkJICAgICBtb2RlKSkKIAkJcmV0dXJuIDA7 CiAJfQpkaWZmIC0tZ2l0IGEvZ2NjL3JlbG9hZDEuYyBiL2djYy9yZWxvYWQx LmMKaW5kZXggNDIwMTJlNC4uYmIxMTJkOCAxMDA2NDQKLS0tIGEvZ2NjL3Jl bG9hZDEuYworKysgYi9nY2MvcmVsb2FkMS5jCkBAIC04Mjg5LDcgKzgyODks OCBAQCBlbWl0X3JlbG9hZF9pbnNucyAoc3RydWN0IGluc25fY2hhaW4gKmNo YWluKQogCQkJICAgOiBvdXRfcmVnbm8gKyBrKTsKIAkJICAgICAgcmVnX3Jl bG9hZGVkX2luc25bcmVnbm8gKyBrXSA9IGluc247CiAJCSAgICAgIFNFVF9I QVJEX1JFR19CSVQgKHJlZ19yZWxvYWRlZF92YWxpZCwgcmVnbm8gKyBrKTsK LQkJICAgICAgaWYgKHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xv YmJlcmVkIChyZWdubyArIGssCisJCSAgICAgIGlmICh0YXJnZXRtLmhhcmRf cmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAoTlVMTCwKKwkJCQkJCQkJICBy ZWdubyArIGssCiAJCQkJCQkJCSAgbW9kZSkpCiAJCQlTRVRfSEFSRF9SRUdf QklUIChyZWdfcmVsb2FkZWRfY2FsbF9wYXJ0X2Nsb2JiZXJlZCwKIAkJCQkJ ICByZWdubyArIGspOwpAQCAtODM2OSw3ICs4MzcwLDggQEAgZW1pdF9yZWxv YWRfaW5zbnMgKHN0cnVjdCBpbnNuX2NoYWluICpjaGFpbikKIAkJCSAgIDog aW5fcmVnbm8gKyBrKTsKIAkJICAgICAgcmVnX3JlbG9hZGVkX2luc25bcmVn bm8gKyBrXSA9IGluc247CiAJCSAgICAgIFNFVF9IQVJEX1JFR19CSVQgKHJl Z19yZWxvYWRlZF92YWxpZCwgcmVnbm8gKyBrKTsKLQkJICAgICAgaWYgKHRh cmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChyZWdubyAr IGssCisJCSAgICAgIGlmICh0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0 X2Nsb2JiZXJlZCAoTlVMTCwKKwkJCQkJCQkJICByZWdubyArIGssCiAJCQkJ CQkJCSAgbW9kZSkpCiAJCQlTRVRfSEFSRF9SRUdfQklUIChyZWdfcmVsb2Fk ZWRfY2FsbF9wYXJ0X2Nsb2JiZXJlZCwKIAkJCQkJICByZWdubyArIGspOwpA QCAtODQ4NSw3ICs4NDg3LDcgQEAgZW1pdF9yZWxvYWRfaW5zbnMgKHN0cnVj dCBpbnNuX2NoYWluICpjaGFpbikKIAkJICAgICAgQ0xFQVJfSEFSRF9SRUdf QklUIChyZWdfcmVsb2FkZWRfZGVhZCwgc3JjX3JlZ25vICsgayk7CiAJCSAg ICAgIFNFVF9IQVJEX1JFR19CSVQgKHJlZ19yZWxvYWRlZF92YWxpZCwgc3Jj X3JlZ25vICsgayk7CiAJCSAgICAgIGlmICh0YXJnZXRtLmhhcmRfcmVnbm9f Y2FsbF9wYXJ0X2Nsb2JiZXJlZAotCQkJICAoc3JjX3JlZ25vICsgaywgbW9k ZSkpCisJCQkgIChOVUxMLCBzcmNfcmVnbm8gKyBrLCBtb2RlKSkKIAkJCVNF VF9IQVJEX1JFR19CSVQgKHJlZ19yZWxvYWRlZF9jYWxsX3BhcnRfY2xvYmJl cmVkLAogCQkJCQkgIHNyY19yZWdubyArIGspOwogCQkgICAgICBlbHNlCmRp ZmYgLS1naXQgYS9nY2Mvc2NoZWQtZGVwcy5jIGIvZ2NjL3NjaGVkLWRlcHMu YwppbmRleCBhOWU5MzRkLi42Y2Y0Y2FmIDEwMDY0NAotLS0gYS9nY2Mvc2No ZWQtZGVwcy5jCisrKyBiL2djYy9zY2hlZC1kZXBzLmMKQEAgLTM3MjgsNyAr MzcyOCw3IEBAIGRlcHNfYW5hbHl6ZV9pbnNuIChzdHJ1Y3QgZGVwc19kZXNj ICpkZXBzLCBydHhfaW5zbiAqaW5zbikKICAgICAgICAgICAgICBTaW5jZSB3 ZSBvbmx5IGhhdmUgYSBjaG9pY2UgYmV0d2VlbiAnbWlnaHQgYmUgY2xvYmJl cmVkJwogICAgICAgICAgICAgIGFuZCAnZGVmaW5pdGVseSBub3QgY2xvYmJl cmVkJywgd2UgbXVzdCBpbmNsdWRlIGFsbAogICAgICAgICAgICAgIHBhcnRs eSBjYWxsLWNsb2JiZXJlZCByZWdpc3RlcnMgaGVyZS4gICovCi0JICAgIGVs c2UgaWYgKHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVk IChpLAorCSAgICBlbHNlIGlmICh0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9w YXJ0X2Nsb2JiZXJlZCAoaW5zbiwgaSwKIAkJCQkJCQkgICAgIHJlZ19yYXdf bW9kZVtpXSkKICAgICAgICAgICAgICAgICAgICAgIHx8IFRFU1RfSEFSRF9S RUdfQklUIChyZWdzX2ludmFsaWRhdGVkX2J5X2NhbGwsIGkpKQogICAgICAg ICAgICAgICBTRVRfUkVHTk9fUkVHX1NFVCAocmVnX3BlbmRpbmdfY2xvYmJl cnMsIGkpOwpkaWZmIC0tZ2l0IGEvZ2NjL3NlbC1zY2hlZC5jIGIvZ2NjL3Nl bC1zY2hlZC5jCmluZGV4IGJmNGIyZGQuLjMxNWYyYzAgMTAwNjQ0Ci0tLSBh L2djYy9zZWwtc2NoZWQuYworKysgYi9nY2Mvc2VsLXNjaGVkLmMKQEAgLTEx MDIsNyArMTEwMiw3IEBAIGluaXRfcmVnc19mb3JfbW9kZSAobWFjaGluZV9t b2RlIG1vZGUpCiAgICAgICBpZiAoaSA+PSAwKQogICAgICAgICBjb250aW51 ZTsKIAotICAgICAgaWYgKHRhcmdldG0uaGFyZF9yZWdub19jYWxsX3BhcnRf Y2xvYmJlcmVkIChjdXJfcmVnLCBtb2RlKSkKKyAgICAgIGlmICh0YXJnZXRt LmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAoTlVMTCwgY3VyX3Jl ZywgbW9kZSkpCiAgICAgICAgIFNFVF9IQVJEX1JFR19CSVQgKHNlbF9ocmQu cmVnc19mb3JfY2FsbF9jbG9iYmVyZWRbbW9kZV0sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN1cl9yZWcpOwogCkBAIC0xMjUxLDcgKzEyNTEsNyBA QCBtYXJrX3VuYXZhaWxhYmxlX2hhcmRfcmVncyAoZGVmX3QgZGVmLCBzdHJ1 Y3QgcmVnX3JlbmFtZSAqcmVnX3JlbmFtZV9wLAogCiAgIC8qIEV4Y2x1ZGUg cmVnaXN0ZXJzIHRoYXQgYXJlIHBhcnRpYWxseSBjYWxsIGNsb2JiZXJlZC4g ICovCiAgIGlmIChkZWYtPmNyb3NzZXNfY2FsbAotICAgICAgJiYgIXRhcmdl dG0uaGFyZF9yZWdub19jYWxsX3BhcnRfY2xvYmJlcmVkIChyZWdubywgbW9k ZSkpCisgICAgICAmJiAhdGFyZ2V0bS5oYXJkX3JlZ25vX2NhbGxfcGFydF9j bG9iYmVyZWQgKE5VTEwsIHJlZ25vLCBtb2RlKSkKICAgICBBTkRfQ09NUExf SEFSRF9SRUdfU0VUIChyZWdfcmVuYW1lX3AtPmF2YWlsYWJsZV9mb3JfcmVu YW1pbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsX2hyZC5y ZWdzX2Zvcl9jYWxsX2Nsb2JiZXJlZFttb2RlXSk7CiAKZGlmZiAtLWdpdCBh L2djYy90YXJnZXQuZGVmIGIvZ2NjL3RhcmdldC5kZWYKaW5kZXggMmFlYjFm Zi4uN2ViYzkwYiAxMDA2NDQKLS0tIGEvZ2NjL3RhcmdldC5kZWYKKysrIGIv Z2NjL3RhcmdldC5kZWYKQEAgLTU3NjYsMTQgKzU3NjYsMzAgQEAgREVGSE9P SwogKGhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCwKICAiVGhpcyBo b29rIHNob3VsZCByZXR1cm4gdHJ1ZSBpZiBAdmFye3JlZ25vfSBpcyBwYXJ0 bHkgY2FsbC1zYXZlZCBhbmRcblwKIHBhcnRseSBjYWxsLWNsb2JiZXJlZCwg YW5kIGlmIGEgdmFsdWUgb2YgbW9kZSBAdmFye21vZGV9IHdvdWxkIGJlIHBh cnRseVxuXAotY2xvYmJlcmVkIGJ5IGEgY2FsbC4gIEZvciBleGFtcGxlLCBp ZiB0aGUgbG93IDMyIGJpdHMgb2YgQHZhcntyZWdub30gYXJlXG5cCi1wcmVz ZXJ2ZWQgYWNyb3NzIGEgY2FsbCBidXQgaGlnaGVyIGJpdHMgYXJlIGNsb2Ji ZXJlZCwgdGhpcyBob29rIHNob3VsZFxuXAotcmV0dXJuIHRydWUgZm9yIGEg NjQtYml0IG1vZGUgYnV0IGZhbHNlIGZvciBhIDMyLWJpdCBtb2RlLlxuXAor Y2xvYmJlcmVkIGJ5IGNhbGwgaW5zdHJ1Y3Rpb24gQHZhcntpbnNufS4gIElm IEB2YXJ7aW5zbn0gaXMgTlVMTCB0aGVuIGl0XG5cCitzaG91bGQgcmV0dXJu IHRydWUgaWYgYW55IGNhbGwgY291bGQgcGFydGx5IGNsb2JiZXIgdGhlIHJl Z2lzdGVyLlxuXAorRm9yIGV4YW1wbGUsIGlmIHRoZSBsb3cgMzIgYml0cyBv ZiBAdmFye3JlZ25vfSBhcmUgcHJlc2VydmVkIGFjcm9zcyBhIGNhbGxcblwK K2J1dCBoaWdoZXIgYml0cyBhcmUgY2xvYmJlcmVkLCB0aGlzIGhvb2sgc2hv dWxkIHJldHVybiB0cnVlIGZvciBhIDY0LWJpdFxuXAorbW9kZSBidXQgZmFs c2UgZm9yIGEgMzItYml0IG1vZGUuXG5cCiBcblwKIFRoZSBkZWZhdWx0IGlt cGxlbWVudGF0aW9uIHJldHVybnMgZmFsc2UsIHdoaWNoIGlzIGNvcnJlY3Rc blwKIGZvciB0YXJnZXRzIHRoYXQgZG9uJ3QgaGF2ZSBwYXJ0bHkgY2FsbC1j bG9iYmVyZWQgcmVnaXN0ZXJzLiIsCi0gYm9vbCwgKHVuc2lnbmVkIGludCBy ZWdubywgbWFjaGluZV9tb2RlIG1vZGUpLAotIGhvb2tfYm9vbF91aW50X21v ZGVfZmFsc2UpCisgYm9vbCwgKHJ0eF9pbnNuICppbnNuLCB1bnNpZ25lZCBp bnQgcmVnbm8sIG1hY2hpbmVfbW9kZSBtb2RlKSwKKyBob29rX2Jvb2xfaW5z bl91aW50X21vZGVfZmFsc2UpCisKK0RFRkhPT0sKKyhyZXR1cm5fY2FsbF93 aXRoX21heF9jbG9iYmVycywKKyAiVGhpcyBob29rIHJldHVybnMgYSBwb2lu dGVyIHRvIHRoZSBjYWxsIHRoYXQgcGFydGlhbGx5IGNsb2JiZXJzIHRoZVxu XAorbW9zdCByZWdpc3RlcnMuICBJZiBhIHBsYXRmb3JtIHN1cHBvcnRzIG11 bHRpcGxlIEFCSXMgd2hlcmUgdGhlIHJlZ2lzdGVyc1xuXAordGhhdCBhcmUg cGFydGlhbGx5IGNsb2JiZXJlZCBtYXkgdmFyeSwgdGhpcyBmdW5jdGlvbiBj b21wYXJlcyB0d29cblwKK2NhbGxzIGFuZCByZXR1cm5zIGEgcG9pbnRlciB0 byB0aGUgb25lIHRoYXQgY2xvYmJlcnMgdGhlIG1vc3QgcmVnaXN0ZXJzLlxu XAorSWYgYm90aCBjYWxscyBjbG9iYmVyIHRoZSBzYW1lIHJlZ2lzdGVycywg QHZhcntjYWxsXzF9IG11c3QgYmUgcmV0dXJuZWQuXG5cCitcblwKK1RoZSBy ZWdpc3RlcnMgY2xvYmJlcmVkIGluIGRpZmZlcmVudCBBQklzIG11c3QgYmUg YSBwcm9wZXIgc3Vic2V0IG9yXG5cCitzdXBlcnNldCBvZiBhbGwgb3RoZXIg QUJJcy4gIEB2YXJ7Y2FsbF8xfSBtdXN0IGFsd2F5cyBiZSBhIGNhbGwgaW5z bixcblwKK2NhbGxfMiBtYXkgYmUgTlVMTCBvciBhIGNhbGwgaW5zbi4iLAor IHJ0eF9pbnNuICosIChydHhfaW5zbiAqY2FsbF8xLCBydHhfaW5zbiAqY2Fs bF8yKSwKKyBOVUxMKQogCiAvKiBSZXR1cm4gdGhlIHNtYWxsZXN0IG51bWJl ciBvZiBkaWZmZXJlbnQgdmFsdWVzIGZvciB3aGljaCBpdCBpcyBiZXN0IHRv CiAgICB1c2UgYSBqdW1wLXRhYmxlIGluc3RlYWQgb2YgYSB0cmVlIG9mIGNv bmRpdGlvbmFsIGJyYW5jaGVzLiAgKi8KZGlmZiAtLWdpdCBhL2djYy90YXJn aG9va3MuYyBiL2djYy90YXJnaG9va3MuYwppbmRleCA4OTg4NDhmLi4yY2Jk YzRhIDEwMDY0NAotLS0gYS9nY2MvdGFyZ2hvb2tzLmMKKysrIGIvZ2NjL3Rh cmdob29rcy5jCkBAIC0xOTMwLDcgKzE5MzAsNyBAQCBkZWZhdWx0X2R3YXJm X2ZyYW1lX3JlZ19tb2RlIChpbnQgcmVnbm8pCiB7CiAgIG1hY2hpbmVfbW9k ZSBzYXZlX21vZGUgPSByZWdfcmF3X21vZGVbcmVnbm9dOwogCi0gIGlmICh0 YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9wYXJ0X2Nsb2JiZXJlZCAocmVnbm8s IHNhdmVfbW9kZSkpCisgIGlmICh0YXJnZXRtLmhhcmRfcmVnbm9fY2FsbF9w YXJ0X2Nsb2JiZXJlZCAoTlVMTCwgcmVnbm8sIHNhdmVfbW9kZSkpCiAgICAg c2F2ZV9tb2RlID0gY2hvb3NlX2hhcmRfcmVnX21vZGUgKHJlZ25vLCAxLCB0 cnVlKTsKICAgcmV0dXJuIHNhdmVfbW9kZTsKIH0K --_002_1faa09dc8a758006fc373f6e4296ea1d5c39043dcamelmarvellcom_--