From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from imap1.codethink.co.uk ([176.9.8.82]:49993 "EHLO imap1.codethink.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753282AbdKOVKu (ORCPT ); Wed, 15 Nov 2017 16:10:50 -0500 Message-ID: <1510780246.18523.74.camel@codethink.co.uk> Subject: Security fixes for 4.4 From: Ben Hutchings To: Greg Kroah-Hartman Cc: stable Date: Wed, 15 Nov 2017 21:10:46 +0000 Content-Type: multipart/mixed; boundary="=-vonGjUvoFztiEwHXWRlA" Mime-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: --=-vonGjUvoFztiEwHXWRlA Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Please apply the attached backported patches to 4.4-stable. The upstream commits are: 06bd3c36a733 ext4: fix data exposure after a crash c8401dda2f0a KVM: x86: fix singlestepping over syscall 0d0e57697f16 bpf: don't let ldimm64 leak map addresses on unprivileged 089bc0143f48 xen-blkback: don't leak stack data via response ring df80cd9b28b9 sctp: do not peel off an assoc from one netns to another one 2cb80187ba06 net: cdc_ether: fix divide by 0 on bad descriptors 7fd078337201 net: qmi_wwan: fix divide by 0 on bad descriptors The last three are not in later stable branches yet. The USB net driver fixes are already in David Miller's queue for stable, and i have asked him to add the sctp fix. Ben. -- Ben Hutchings Software Developer, Codethink Ltd. --=-vonGjUvoFztiEwHXWRlA Content-Type: application/mbox; name="security-4.4.mbox" Content-Disposition: attachment; filename="security-4.4.mbox" Content-Transfer-Encoding: base64 RnJvbSBlM2U5ODJiYmI3OGZjM2FmNmY4OWI0ZDllY2MxZmE1Y2Q0MWYwYTQyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gS2FyYSA8amFja0BzdXNlLmN6PgpEYXRlOiBTdW4sIDI0 IEFwciAyMDE2IDAwOjU2OjAzIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxLzddIGV4dDQ6IGZpeCBk YXRhIGV4cG9zdXJlIGFmdGVyIGEgY3Jhc2gKCmNvbW1pdCAwNmJkM2MzNmE3MzNhYzI3OTYyZmVh N2Q2ZjQ3MTY4ODQxMzc2ODI0IHVwc3RyZWFtLgoKSHVhbmcgaGFzIHJlcG9ydGVkIHRoYXQgaW4g aGlzIHBvd2VyZmFpbCB0ZXN0aW5nIGhlIGlzIHNlZWluZyBzdGFsZQpibG9jayBjb250ZW50cyBp biBzb21lIG9mIHJlY2VudGx5IGFsbG9jYXRlZCBibG9ja3MgYWx0aG91Z2ggaGUgbW91bnRzCmV4 dDQgaW4gZGF0YT1vcmRlcmVkIG1vZGUuIEFmdGVyIHNvbWUgaW52ZXN0aWdhdGlvbiBJIGhhdmUg Zm91bmQgb3V0CnRoYXQgaW5kZWVkIHdoZW4gZGVsYXllZCBhbGxvY2F0aW9uIGlzIHVzZWQsIHdl IGRvbid0IGFkZCBpbm9kZSB0bwp0cmFuc2FjdGlvbidzIGxpc3Qgb2YgaW5vZGVzIG5lZWRpbmcg Zmx1c2hpbmcgYmVmb3JlIGNvbW1pdC4gT3JpZ2luYWxseQp3ZSB3ZXJlIGRvaW5nIHRoYXQgYnV0 IGNvbW1pdCBmM2I1OTI5MWE2OWQgcmVtb3ZlZCB0aGUgbG9naWMgd2l0aCBhCmZsYXdlZCBhcmd1 bWVudCB0aGF0IGl0IGlzIG5vdCBuZWVkZWQuCgpUaGUgcHJvYmxlbSBpcyB0aGF0IGFsdGhvdWdo IGZvciBkZWxheWVkIGFsbG9jYXRlZCBibG9ja3Mgd2Ugd3JpdGUgdGhlaXIKY29udGVudHMgaW1t ZWRpYXRlbHkgYWZ0ZXIgYWxsb2NhdGluZyB0aGVtLCB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhh dAp0aGUgSU8gc2NoZWR1bGVyIG9yIGRldmljZSBkb2Vzbid0IHJlb3JkZXIgdGhpbmdzIGFuZCB0 aHVzIHRyYW5zYWN0aW9uCmFsbG9jYXRpbmcgYmxvY2tzIGFuZCBhdHRhY2hpbmcgdGhlbSB0byBp bm9kZSBjYW4gcmVhY2ggc3RhYmxlIHN0b3JhZ2UKYmVmb3JlIGFjdHVhbCBibG9jayBjb250ZW50 cy4gQWN0dWFsbHkgd2hlbmV2ZXIgd2UgYXR0YWNoIGZyZXNobHkKYWxsb2NhdGVkIGJsb2NrcyB0 byBpbm9kZSB1c2luZyBhIHdyaXR0ZW4gZXh0ZW50LCB3ZSBzaG91bGQgYWRkIGlub2RlIHRvCnRy YW5zYWN0aW9uJ3Mgb3JkZXJlZCBpbm9kZSBsaXN0IHRvIG1ha2Ugc3VyZSB3ZSBwcm9wZXJseSB3 YWl0IGZvciBibG9jawpjb250ZW50cyB0byBiZSB3cml0dGVuIGJlZm9yZSBjb21taXR0aW5nIHRo ZSB0cmFuc2FjdGlvbi4gU28gdGhhdCBpcwp3aGF0IHdlIGRvIGluIHRoaXMgcGF0Y2guIFRoaXMg YWxzbyBoYW5kbGVzIG90aGVyIGNhc2VzIHdoZXJlIHN0YWxlIGRhdGEKZXhwb3N1cmUgd2FzIHBv c3NpYmxlIC0gbGlrZSBmaWxsaW5nIGhvbGUgdmlhIG1tYXAgaW4KZGF0YT1vcmRlcmVkLG5vZGVs YWxsb2MgbW9kZS4KClRoZSBvbmx5IGV4Y2VwdGlvbiB0byB0aGUgYWJvdmUgcnVsZSBhcmUgZXh0 ZW5kaW5nIGRpcmVjdCBJTyB3cml0ZXMgd2hlcmUKYmxrZGV2X2RpcmVjdF9JTygpIHdhaXRzIGZv ciBJTyB0byBjb21wbGV0ZSBiZWZvcmUgaW5jcmVhc2luZyBpX3NpemUgYW5kCnRodXMgc3RhbGUg ZGF0YSBleHBvc3VyZSBpcyBub3QgcG9zc2libGUuIEZvciBub3cgd2UgZG9uJ3QgY29tcGxpY2F0 ZQp0aGUgY29kZSB3aXRoIG9wdGltaXppbmcgdGhpcyBzcGVjaWFsIGNhc2Ugc2luY2UgdGhlIG92 ZXJoZWFkIGlzIHByZXR0eQpsb3cuIEluIGNhc2UgdGhpcyBpcyBvYnNlcnZlZCB0byBiZSBhIHBl cmZvcm1hbmNlIHByb2JsZW0gd2UgY2FuIGFsd2F5cwpoYW5kbGUgaXQgdXNpbmcgYSBzcGVjaWFs IGZsYWcgdG8gZXh0NF9tYXBfYmxvY2tzKCkuCgpGaXhlczogZjNiNTkyOTFhNjlkMGI3MzRiZTFm YzhiZTQ4OWZlZjJkZDg0NmQzZApSZXBvcnRlZC1ieTogIkhVQU5HIFdlbGxlciAoQ00vRVNXMTIt Q04pIiA8V2VsbGVyLkh1YW5nQGNuLmJvc2NoLmNvbT4KVGVzdGVkLWJ5OiAiSFVBTkcgV2VsbGVy IChDTS9FU1cxMi1DTikiIDxXZWxsZXIuSHVhbmdAY24uYm9zY2guY29tPgpTaWduZWQtb2ZmLWJ5 OiBKYW4gS2FyYSA8amFja0BzdXNlLmN6PgpTaWduZWQtb2ZmLWJ5OiBUaGVvZG9yZSBUcydvIDx0 eXRzb0BtaXQuZWR1PgpbYndoOiBCYWNrcG9ydGVkIHRvIDQuNDoKIC0gRHJvcCBjaGVjayBmb3Ig RVhUNF9HRVRfQkxPQ0tTX1pFUk8gZmxhZwogLSBBZGp1c3QgY29udGV4dF0KU2lnbmVkLW9mZi1i eTogQmVuIEh1dGNoaW5ncyA8YmVuLmh1dGNoaW5nc0Bjb2RldGhpbmsuY28udWs+Ci0tLQogZnMv ZXh0NC9pbm9kZS5jIHwgMjMgKysrKysrKysrKysrKystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAxNCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZzL2V4dDQv aW5vZGUuYyBiL2ZzL2V4dDQvaW5vZGUuYwppbmRleCAxOTRhNmJhYTQyODMuLjRkZjFjYjE5YTI0 MyAxMDA2NDQKLS0tIGEvZnMvZXh0NC9pbm9kZS5jCisrKyBiL2ZzL2V4dDQvaW5vZGUuYwpAQCAt NjU4LDYgKzY1OCwyMCBAQCBoYXNfemVyb291dDoKIAkJcmV0ID0gY2hlY2tfYmxvY2tfdmFsaWRp dHkoaW5vZGUsIG1hcCk7CiAJCWlmIChyZXQgIT0gMCkKIAkJCXJldHVybiByZXQ7CisKKwkJLyoK KwkJICogSW5vZGVzIHdpdGggZnJlc2hseSBhbGxvY2F0ZWQgYmxvY2tzIHdoZXJlIGNvbnRlbnRz IHdpbGwgYmUKKwkJICogdmlzaWJsZSBhZnRlciB0cmFuc2FjdGlvbiBjb21taXQgbXVzdCBiZSBv biB0cmFuc2FjdGlvbidzCisJCSAqIG9yZGVyZWQgZGF0YSBsaXN0LgorCQkgKi8KKwkJaWYgKG1h cC0+bV9mbGFncyAmIEVYVDRfTUFQX05FVyAmJgorCQkgICAgIShtYXAtPm1fZmxhZ3MgJiBFWFQ0 X01BUF9VTldSSVRURU4pICYmCisJCSAgICAhSVNfTk9RVU9UQShpbm9kZSkgJiYKKwkJICAgIGV4 dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKSB7CisJCQlyZXQgPSBleHQ0X2piZDJfZmlsZV9p bm9kZShoYW5kbGUsIGlub2RlKTsKKwkJCWlmIChyZXQpCisJCQkJcmV0dXJuIHJldDsKKwkJfQog CX0KIAlyZXR1cm4gcmV0dmFsOwogfQpAQCAtMTE1MiwxNSArMTE2Niw2IEBAIHN0YXRpYyBpbnQg ZXh0NF93cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsCiAJaW50IGlfc2l6ZV9jaGFuZ2VkID0g MDsKIAogCXRyYWNlX2V4dDRfd3JpdGVfZW5kKGlub2RlLCBwb3MsIGxlbiwgY29waWVkKTsKLQlp ZiAoZXh0NF90ZXN0X2lub2RlX3N0YXRlKGlub2RlLCBFWFQ0X1NUQVRFX09SREVSRURfTU9ERSkp IHsKLQkJcmV0ID0gZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlLCBpbm9kZSk7Ci0JCWlmIChy ZXQpIHsKLQkJCXVubG9ja19wYWdlKHBhZ2UpOwotCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2Up OwotCQkJZ290byBlcnJvdXQ7Ci0JCX0KLQl9Ci0KIAlpZiAoZXh0NF9oYXNfaW5saW5lX2RhdGEo aW5vZGUpKSB7CiAJCXJldCA9IGV4dDRfd3JpdGVfaW5saW5lX2RhdGFfZW5kKGlub2RlLCBwb3Ms IGxlbiwKIAkJCQkJCSBjb3BpZWQsIHBhZ2UpOwotLSAKMi4xNS4wLnJjMAoKCkZyb20gYjE3NGE0 ZmRmMjVmMjE5OTRiYzgxMTg3NzhkZGQ3YTQwZmIzNTg3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KRGF0ZTogV2VkLCA3 IEp1biAyMDE3IDE1OjEzOjE0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzddIEtWTTogeDg2OiBm aXggc2luZ2xlc3RlcHBpbmcgb3ZlciBzeXNjYWxsCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0Cgpjb21taXQgYzg0MDFkZGEyZjBhMDBjZDI1YzBhZjZhOTVlZDUwZTQ3OGQyNWRlNCB1 cHN0cmVhbS4KClRGIGlzIGhhbmRsZWQgYSBiaXQgZGlmZmVyZW50bHkgZm9yIHN5c2NhbGwgYW5k IHN5c3JldCwgY29tcGFyZWQKdG8gdGhlIG90aGVyIGluc3RydWN0aW9uczogVEYgaXMgY2hlY2tl ZCBhZnRlciB0aGUgaW5zdHJ1Y3Rpb24gY29tcGxldGVzLApzbyB0aGF0IHRoZSBPUyBjYW4gZGlz YWJsZSAjREIgYXQgYSBzeXNjYWxsIGJ5IGFkZGluZyBURiB0byBGTUFTSy4KV2hlbiB0aGUgc3lz cmV0IGlzIGV4ZWN1dGVkIHRoZSAjREIgaXMgdGFrZW4gImFzIGlmIiB0aGUgc3lzY2FsbCBpbnNu Cmp1c3QgY29tcGxldGVkLgoKS1ZNIGVtdWxhdGVzIHN5c2NhbGwgc28gdGhhdCBpdCBjYW4gdHJh cCAzMi1iaXQgc3lzY2FsbCBvbiBJbnRlbCBwcm9jZXNzb3JzLgpGaXggdGhlIGJlaGF2aW9yLCBv dGhlcndpc2UgeW91IGNvdWxkIGdldCAjREIgb24gYSB1c2VyIHN0YWNrIHdoaWNoIGlzIG5vdApu aWNlLiAgVGhpcyBkb2VzIG5vdCBhZmZlY3QgTGludXggZ3Vlc3RzLCBhcyB0aGV5IHVzZSBhbiBJ U1Qgb3IgdGFzayBnYXRlCmZvciAjREIuCgpUaGlzIGZpeGVzIENWRS0yMDE3LTc1MTguCgpSZXBv cnRlZC1ieTogQW5keSBMdXRvbWlyc2tpIDxsdXRvQGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6 IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IFJhZGlt IEtyxI1tw6HFmSA8cmtyY21hckByZWRoYXQuY29tPgpbYndoOiBCYWNrcG9ydGVkIHRvIDQuNDoK IC0ga3ZtX3ZjcHVfY2hlY2tfc2luZ2xlc3RlcCgpIHNldHMgc29tZSBmbGFncyBkaWZmZXJlbnRs eQogLSBEcm9wIGNoYW5nZXMgdG8ga3ZtX3NraXBfZW11bGF0ZWRfaW5zdHJ1Y3Rpb24oKV0KU2ln bmVkLW9mZi1ieTogQmVuIEh1dGNoaW5ncyA8YmVuLmh1dGNoaW5nc0Bjb2RldGhpbmsuY28udWs+ Ci0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20va3ZtX2VtdWxhdGUuaCB8ICAxICsKIGFyY2gveDg2 L2t2bS9lbXVsYXRlLmMgICAgICAgICAgICAgfCAgMSArCiBhcmNoL3g4Ni9rdm0veDg2LmMgICAg ICAgICAgICAgICAgIHwgNTIgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDMgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20va3ZtX2VtdWxhdGUuaCBiL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL2t2bV9lbXVsYXRlLmgKaW5kZXggMTlkMTRhYzIzZWY5Li5mYzNjN2U0OWM4ZTQg MTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2t2bV9lbXVsYXRlLmgKKysrIGIvYXJj aC94ODYvaW5jbHVkZS9hc20va3ZtX2VtdWxhdGUuaApAQCAtMjk2LDYgKzI5Niw3IEBAIHN0cnVj dCB4ODZfZW11bGF0ZV9jdHh0IHsKIAogCWJvb2wgcGVybV9vazsgLyogZG8gbm90IGNoZWNrIHBl cm1pc3Npb25zIGlmIHRydWUgKi8KIAlib29sIHVkOwkvKiBpbmplY3QgYW4gI1VEIGlmIGhvc3Qg ZG9lc24ndCBzdXBwb3J0IGluc24gKi8KKwlib29sIHRmOwkvKiBURiB2YWx1ZSBiZWZvcmUgaW5z dHJ1Y3Rpb24gKGFmdGVyIGZvciBzeXNjYWxsL3N5c3JldCkgKi8KIAogCWJvb2wgaGF2ZV9leGNl cHRpb247CiAJc3RydWN0IHg4Nl9leGNlcHRpb24gZXhjZXB0aW9uOwpkaWZmIC0tZ2l0IGEvYXJj aC94ODYva3ZtL2VtdWxhdGUuYyBiL2FyY2gveDg2L2t2bS9lbXVsYXRlLmMKaW5kZXggMDRiMmYz Y2FkN2JhLi42ODRlZGViYjRhMGMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2t2bS9lbXVsYXRlLmMK KysrIGIvYXJjaC94ODYva3ZtL2VtdWxhdGUuYwpAQCAtMjcyNiw2ICsyNzI2LDcgQEAgc3RhdGlj IGludCBlbV9zeXNjYWxsKHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0KQogCQljdHh0LT5l ZmxhZ3MgJj0gfihYODZfRUZMQUdTX1ZNIHwgWDg2X0VGTEFHU19JRik7CiAJfQogCisJY3R4dC0+ dGYgPSAoY3R4dC0+ZWZsYWdzICYgWDg2X0VGTEFHU19URikgIT0gMDsKIAlyZXR1cm4gWDg2RU1V TF9DT05USU5VRTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL3g4Ni5jIGIvYXJjaC94 ODYva3ZtL3g4Ni5jCmluZGV4IDhlNTI2YzZmZDc4NC4uM2ZmZDU5MDBkYTViIDEwMDY0NAotLS0g YS9hcmNoL3g4Ni9rdm0veDg2LmMKKysrIGIvYXJjaC94ODYva3ZtL3g4Ni5jCkBAIC01MDk1LDYg KzUwOTUsOCBAQCBzdGF0aWMgdm9pZCBpbml0X2VtdWxhdGVfY3R4dChzdHJ1Y3Qga3ZtX3ZjcHUg KnZjcHUpCiAJa3ZtX3g4Nl9vcHMtPmdldF9jc19kYl9sX2JpdHModmNwdSwgJmNzX2RiLCAmY3Nf bCk7CiAKIAljdHh0LT5lZmxhZ3MgPSBrdm1fZ2V0X3JmbGFncyh2Y3B1KTsKKwljdHh0LT50ZiA9 IChjdHh0LT5lZmxhZ3MgJiBYODZfRUZMQUdTX1RGKSAhPSAwOworCiAJY3R4dC0+ZWlwID0ga3Zt X3JpcF9yZWFkKHZjcHUpOwogCWN0eHQtPm1vZGUgPSAoIWlzX3Byb3Rtb2RlKHZjcHUpKQkJPyBY ODZFTVVMX01PREVfUkVBTCA6CiAJCSAgICAgKGN0eHQtPmVmbGFncyAmIFg4Nl9FRkxBR1NfVk0p CT8gWDg2RU1VTF9NT0RFX1ZNODYgOgpAQCAtNTMxNSwzNyArNTMxNywyNiBAQCBzdGF0aWMgaW50 IGt2bV92Y3B1X2NoZWNrX2h3X2JwKHVuc2lnbmVkIGxvbmcgYWRkciwgdTMyIHR5cGUsIHUzMiBk cjcsCiAJcmV0dXJuIGRyNjsKIH0KIAotc3RhdGljIHZvaWQga3ZtX3ZjcHVfY2hlY2tfc2luZ2xl c3RlcChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHVuc2lnbmVkIGxvbmcgcmZsYWdzLCBpbnQgKnIp CitzdGF0aWMgdm9pZCBrdm1fdmNwdV9kb19zaW5nbGVzdGVwKHN0cnVjdCBrdm1fdmNwdSAqdmNw dSwgaW50ICpyKQogewogCXN0cnVjdCBrdm1fcnVuICprdm1fcnVuID0gdmNwdS0+cnVuOwogCi0J LyoKLQkgKiByZmxhZ3MgaXMgdGhlIG9sZCwgInJhdyIgdmFsdWUgb2YgdGhlIGZsYWdzLiAgVGhl IG5ldyB2YWx1ZSBoYXMKLQkgKiBub3QgYmVlbiBzYXZlZCB5ZXQuCi0JICoKLQkgKiBUaGlzIGlz IGNvcnJlY3QgZXZlbiBmb3IgVEYgc2V0IGJ5IHRoZSBndWVzdCwgYmVjYXVzZSAidGhlCi0JICog cHJvY2Vzc29yIHdpbGwgbm90IGdlbmVyYXRlIHRoaXMgZXhjZXB0aW9uIGFmdGVyIHRoZSBpbnN0 cnVjdGlvbgotCSAqIHRoYXQgc2V0cyB0aGUgVEYgZmxhZyIuCi0JICovCi0JaWYgKHVubGlrZWx5 KHJmbGFncyAmIFg4Nl9FRkxBR1NfVEYpKSB7Ci0JCWlmICh2Y3B1LT5ndWVzdF9kZWJ1ZyAmIEtW TV9HVUVTVERCR19TSU5HTEVTVEVQKSB7Ci0JCQlrdm1fcnVuLT5kZWJ1Zy5hcmNoLmRyNiA9IERS Nl9CUyB8IERSNl9GSVhFRF8xIHwKLQkJCQkJCSAgRFI2X1JUTTsKLQkJCWt2bV9ydW4tPmRlYnVn LmFyY2gucGMgPSB2Y3B1LT5hcmNoLnNpbmdsZXN0ZXBfcmlwOwotCQkJa3ZtX3J1bi0+ZGVidWcu YXJjaC5leGNlcHRpb24gPSBEQl9WRUNUT1I7Ci0JCQlrdm1fcnVuLT5leGl0X3JlYXNvbiA9IEtW TV9FWElUX0RFQlVHOwotCQkJKnIgPSBFTVVMQVRFX1VTRVJfRVhJVDsKLQkJfSBlbHNlIHsKLQkJ CXZjcHUtPmFyY2guZW11bGF0ZV9jdHh0LmVmbGFncyAmPSB+WDg2X0VGTEFHU19URjsKLQkJCS8q Ci0JCQkgKiAiQ2VydGFpbiBkZWJ1ZyBleGNlcHRpb25zIG1heSBjbGVhciBiaXQgMC0zLiAgVGhl Ci0JCQkgKiByZW1haW5pbmcgY29udGVudHMgb2YgdGhlIERSNiByZWdpc3RlciBhcmUgbmV2ZXIK LQkJCSAqIGNsZWFyZWQgYnkgdGhlIHByb2Nlc3NvciIuCi0JCQkgKi8KLQkJCXZjcHUtPmFyY2gu ZHI2ICY9IH4xNTsKLQkJCXZjcHUtPmFyY2guZHI2IHw9IERSNl9CUyB8IERSNl9SVE07Ci0JCQlr dm1fcXVldWVfZXhjZXB0aW9uKHZjcHUsIERCX1ZFQ1RPUik7Ci0JCX0KKwlpZiAodmNwdS0+Z3Vl c3RfZGVidWcgJiBLVk1fR1VFU1REQkdfU0lOR0xFU1RFUCkgeworCQlrdm1fcnVuLT5kZWJ1Zy5h cmNoLmRyNiA9IERSNl9CUyB8IERSNl9GSVhFRF8xIHwgRFI2X1JUTTsKKwkJa3ZtX3J1bi0+ZGVi dWcuYXJjaC5wYyA9IHZjcHUtPmFyY2guc2luZ2xlc3RlcF9yaXA7CisJCWt2bV9ydW4tPmRlYnVn LmFyY2guZXhjZXB0aW9uID0gREJfVkVDVE9SOworCQlrdm1fcnVuLT5leGl0X3JlYXNvbiA9IEtW TV9FWElUX0RFQlVHOworCQkqciA9IEVNVUxBVEVfVVNFUl9FWElUOworCX0gZWxzZSB7CisJCXZj cHUtPmFyY2guZW11bGF0ZV9jdHh0LmVmbGFncyAmPSB+WDg2X0VGTEFHU19URjsKKwkJLyoKKwkJ ICogIkNlcnRhaW4gZGVidWcgZXhjZXB0aW9ucyBtYXkgY2xlYXIgYml0IDAtMy4gIFRoZQorCQkg KiByZW1haW5pbmcgY29udGVudHMgb2YgdGhlIERSNiByZWdpc3RlciBhcmUgbmV2ZXIKKwkJICog Y2xlYXJlZCBieSB0aGUgcHJvY2Vzc29yIi4KKwkJICovCisJCXZjcHUtPmFyY2guZHI2ICY9IH4x NTsKKwkJdmNwdS0+YXJjaC5kcjYgfD0gRFI2X0JTIHwgRFI2X1JUTTsKKwkJa3ZtX3F1ZXVlX2V4 Y2VwdGlvbih2Y3B1LCBEQl9WRUNUT1IpOwogCX0KIH0KIApAQCAtNTUwMCw4ICs1NDkxLDkgQEAg cmVzdGFydDoKIAkJdG9nZ2xlX2ludGVycnVwdGliaWxpdHkodmNwdSwgY3R4dC0+aW50ZXJydXB0 aWJpbGl0eSk7CiAJCXZjcHUtPmFyY2guZW11bGF0ZV9yZWdzX25lZWRfc3luY190b192Y3B1ID0g ZmFsc2U7CiAJCWt2bV9yaXBfd3JpdGUodmNwdSwgY3R4dC0+ZWlwKTsKLQkJaWYgKHIgPT0gRU1V TEFURV9ET05FKQotCQkJa3ZtX3ZjcHVfY2hlY2tfc2luZ2xlc3RlcCh2Y3B1LCByZmxhZ3MsICZy KTsKKwkJaWYgKHIgPT0gRU1VTEFURV9ET05FICYmCisJCSAgICAoY3R4dC0+dGYgfHwgKHZjcHUt Pmd1ZXN0X2RlYnVnICYgS1ZNX0dVRVNUREJHX1NJTkdMRVNURVApKSkKKwkJCWt2bV92Y3B1X2Rv X3NpbmdsZXN0ZXAodmNwdSwgJnIpOwogCQlpZiAoIWN0eHQtPmhhdmVfZXhjZXB0aW9uIHx8CiAJ CSAgICBleGNlcHRpb25fdHlwZShjdHh0LT5leGNlcHRpb24udmVjdG9yKSA9PSBFWENQVF9UUkFQ KQogCQkJX19rdm1fc2V0X3JmbGFncyh2Y3B1LCBjdHh0LT5lZmxhZ3MpOwotLSAKMi4xNS4wLnJj MAoKCkZyb20gMTBjZDgxY2Q5YTdkNmUyZDI0NmRlZjRlOTljZWY4ZDkwYzU2YzZlOCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGFuaWVsIEJvcmttYW5uIDxkYW5pZWxAaW9nZWFyYm94 Lm5ldD4KRGF0ZTogTW9uLCA4IE1heSAyMDE3IDAwOjA0OjA5ICswMjAwClN1YmplY3Q6IFtQQVRD SCAzLzddIGJwZjogZG9uJ3QgbGV0IGxkaW1tNjQgbGVhayBtYXAgYWRkcmVzc2VzIG9uIHVucHJp dmlsZWdlZAoKY29tbWl0IDBkMGU1NzY5N2YxNjJkYTRhYTIxOGI1ZmVhZmU2MTRmYjY2NmRiMDcg dXBzdHJlYW0uCgpUaGUgcGF0Y2ggZml4ZXMgdHdvIHRoaW5ncyBhdCBvbmNlOgoKMSkgSXQgY2hl Y2tzIHRoZSBlbnYtPmFsbG93X3B0cl9sZWFrcyBhbmQgb25seSBwcmludHMgdGhlIG1hcCBhZGRy ZXNzIHRvCiAgIHRoZSBsb2cgaWYgd2UgaGF2ZSB0aGUgcHJpdmlsZWdlcyB0byBkbyBzbywgb3Ro ZXJ3aXNlIGl0IGp1c3QgZHVtcHMgMAogICBhcyB3ZSB3b3VsZCB3aGVuIGtwdHJfcmVzdHJpY3Qg aXMgZW5hYmxlZCBvbiAlcEsuIEdpdmVuIHRoZSBsYXR0ZXIgaXMKICAgb2ZmIGJ5IGRlZmF1bHQg YW5kIG5vdCBldmVyeSBkaXN0cm8gc2V0cyBpdCwgSSBkb24ndCB3YW50IHRvIHJlbHkgb24KICAg dGhpcywgaGVuY2UgdGhlIDAgYnkgZGVmYXVsdCBmb3IgdW5wcml2aWxlZ2VkLgoKMikgUHJpbnRp bmcgb2YgbGRpbW02NCBpbiB0aGUgdmVyaWZpZXIgbG9nIGlzIGN1cnJlbnRseSBicm9rZW4gaW4g dGhhdAogICB3ZSBkb24ndCBwcmludCB0aGUgZnVsbCBpbW1lZGlhdGUsIGJ1dCBvbmx5IHRoZSAz MiBiaXQgcGFydCBvZiB0aGUKICAgZmlyc3QgaW5zbiBwYXJ0IGZvciBsZGltbTY0LiBUaHVzLCBm aXggdGhpcyB1cCBhcyB3ZWxsOyBpdCdzIG9rYXkgdG8KICAgYWNjZXNzLCBzaW5jZSB3ZSB2ZXJp ZmllZCBhbGwgbGRpbW02NCBlYXJsaWVyIGFscmVhZHkgKGluY2x1ZGluZyBqdXN0CiAgIGNvbnN0 YW50cykgdGhyb3VnaCByZXBsYWNlX21hcF9mZF93aXRoX21hcF9wdHIoKS4KCkZpeGVzOiAxYmU3 Zjc1ZDE2NjggKCJicGY6IGVuYWJsZSBub24tcm9vdCBlQlBGIHByb2dyYW1zIikKRml4ZXM6IGNi ZDM1NzAwODYwNCAoImJwZjogdmVyaWZpZXIgKGFkZCBhYmlsaXR5IHRvIHJlY2VpdmUgdmVyaWZp Y2F0aW9uIGxvZykiKQpSZXBvcnRlZC1ieTogSmFubiBIb3JuIDxqYW5uaEBnb29nbGUuY29tPgpT aWduZWQtb2ZmLWJ5OiBEYW5pZWwgQm9ya21hbm4gPGRhbmllbEBpb2dlYXJib3gubmV0PgpBY2tl ZC1ieTogQWxleGVpIFN0YXJvdm9pdG92IDxhc3RAa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgpbYndoOiBCYWNrcG9ydGVkIHRv IDQuNDogcy9icGZfdmVyaWZpZXJfZW52L3ZlcmlmaWVyX2Vudi9dClNpZ25lZC1vZmYtYnk6IEJl biBIdXRjaGluZ3MgPGJlbi5odXRjaGluZ3NAY29kZXRoaW5rLmNvLnVrPgotLS0KIGtlcm5lbC9i cGYvdmVyaWZpZXIuYyB8IDIxICsrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQs IDE2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEva2VybmVsL2Jw Zi92ZXJpZmllci5jIGIva2VybmVsL2JwZi92ZXJpZmllci5jCmluZGV4IDcwZGM2ZGNmODY0OS4u ZWI3NTlmNTAwOGI4IDEwMDY0NAotLS0gYS9rZXJuZWwvYnBmL3ZlcmlmaWVyLmMKKysrIGIva2Vy bmVsL2JwZi92ZXJpZmllci5jCkBAIC0zMTMsNyArMzEzLDggQEAgc3RhdGljIGNvbnN0IGNoYXIg KmNvbnN0IGJwZl9qbXBfc3RyaW5nWzE2XSA9IHsKIAlbQlBGX0VYSVQgPj4gNF0gPSAiZXhpdCIs CiB9OwogCi1zdGF0aWMgdm9pZCBwcmludF9icGZfaW5zbihzdHJ1Y3QgYnBmX2luc24gKmluc24p CitzdGF0aWMgdm9pZCBwcmludF9icGZfaW5zbihjb25zdCBzdHJ1Y3QgdmVyaWZpZXJfZW52ICpl bnYsCisJCQkgICBjb25zdCBzdHJ1Y3QgYnBmX2luc24gKmluc24pCiB7CiAJdTggY2xhc3MgPSBC UEZfQ0xBU1MoaW5zbi0+Y29kZSk7CiAKQEAgLTM3Nyw5ICszNzgsMTkgQEAgc3RhdGljIHZvaWQg cHJpbnRfYnBmX2luc24oc3RydWN0IGJwZl9pbnNuICppbnNuKQogCQkJCWluc24tPmNvZGUsCiAJ CQkJYnBmX2xkc3Rfc3RyaW5nW0JQRl9TSVpFKGluc24tPmNvZGUpID4+IDNdLAogCQkJCWluc24t PnNyY19yZWcsIGluc24tPmltbSk7Ci0JCX0gZWxzZSBpZiAoQlBGX01PREUoaW5zbi0+Y29kZSkg PT0gQlBGX0lNTSkgewotCQkJdmVyYm9zZSgiKCUwMngpIHIlZCA9IDB4JXhcbiIsCi0JCQkJaW5z bi0+Y29kZSwgaW5zbi0+ZHN0X3JlZywgaW5zbi0+aW1tKTsKKwkJfSBlbHNlIGlmIChCUEZfTU9E RShpbnNuLT5jb2RlKSA9PSBCUEZfSU1NICYmCisJCQkgICBCUEZfU0laRShpbnNuLT5jb2RlKSA9 PSBCUEZfRFcpIHsKKwkJCS8qIEF0IHRoaXMgcG9pbnQsIHdlIGFscmVhZHkgbWFkZSBzdXJlIHRo YXQgdGhlIHNlY29uZAorCQkJICogcGFydCBvZiB0aGUgbGRpbW02NCBpbnNuIGlzIGFjY2Vzc2li bGUuCisJCQkgKi8KKwkJCXU2NCBpbW0gPSAoKHU2NCkoaW5zbiArIDEpLT5pbW0gPDwgMzIpIHwg KHUzMilpbnNuLT5pbW07CisJCQlib29sIG1hcF9wdHIgPSBpbnNuLT5zcmNfcmVnID09IEJQRl9Q U0VVRE9fTUFQX0ZEOworCisJCQlpZiAobWFwX3B0ciAmJiAhZW52LT5hbGxvd19wdHJfbGVha3Mp CisJCQkJaW1tID0gMDsKKworCQkJdmVyYm9zZSgiKCUwMngpIHIlZCA9IDB4JWxseFxuIiwgaW5z bi0+Y29kZSwKKwkJCQlpbnNuLT5kc3RfcmVnLCAodW5zaWduZWQgbG9uZyBsb25nKWltbSk7CiAJ CX0gZWxzZSB7CiAJCQl2ZXJib3NlKCJCVUdfbGRfJTAyeFxuIiwgaW5zbi0+Y29kZSk7CiAJCQly ZXR1cm47CkBAIC0xNzY0LDcgKzE3NzUsNyBAQCBzdGF0aWMgaW50IGRvX2NoZWNrKHN0cnVjdCB2 ZXJpZmllcl9lbnYgKmVudikKIAogCQlpZiAobG9nX2xldmVsKSB7CiAJCQl2ZXJib3NlKCIlZDog IiwgaW5zbl9pZHgpOwotCQkJcHJpbnRfYnBmX2luc24oaW5zbik7CisJCQlwcmludF9icGZfaW5z bihlbnYsIGluc24pOwogCQl9CiAKIAkJaWYgKGNsYXNzID09IEJQRl9BTFUgfHwgY2xhc3MgPT0g QlBGX0FMVTY0KSB7Ci0tIAoyLjE1LjAucmMwCgoKRnJvbSA0ZTAyZGI3ZDZlZTk5Yzc4ODQwNzhk NGFiMjRhZjI0MWUxMzdiMjFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYW4gQmV1 bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkRhdGU6IFR1ZSwgMTMgSnVuIDIwMTcgMTY6Mjg6Mjcg LTA0MDAKU3ViamVjdDogW1BBVENIIDQvN10geGVuLWJsa2JhY2s6IGRvbid0IGxlYWsgc3RhY2sg ZGF0YSB2aWEgcmVzcG9uc2UgcmluZwoKY29tbWl0IDA4OWJjMDE0M2Y0ODliZDNhNDU3OGJkZmY1 ZjRjYTY4ZmIyNmYzNDEgdXBzdHJlYW0uCgpSYXRoZXIgdGhhbiBjb25zdHJ1Y3RpbmcgYSBsb2Nh bCBzdHJ1Y3R1cmUgaW5zdGFuY2Ugb24gdGhlIHN0YWNrLCBmaWxsCnRoZSBmaWVsZHMgZGlyZWN0 bHkgb24gdGhlIHNoYXJlZCByaW5nLCBqdXN0IGxpa2Ugb3RoZXIgYmFja2VuZHMgZG8uCkJ1aWxk IG9uIHRoZSBmYWN0IHRoYXQgYWxsIHJlc3BvbnNlIHN0cnVjdHVyZSBmbGF2b3JzIGFyZSBhY3R1 YWxseQppZGVudGljYWwgKHRoZSBvbGQgY29kZSBkaWQgbWFrZSB0aGlzIGFzc3VtcHRpb24gdG9v KS4KClRoaXMgaXMgWFNBLTIxNi4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGlj aEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndp bGtAb3JhY2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25y YWQud2lsa0BvcmFjbGUuY29tPgpbYndoOiBCYWNrcG9ydGVkIHRvIDQuNDogYWRqdXN0IGNvbnRl eHRdClNpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbi5odXRjaGluZ3NAY29kZXRoaW5r LmNvLnVrPgotLS0KIGRyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svYmxrYmFjay5jIHwgMjMgKysr KysrKysrKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svY29tbW9uLmgg IHwgMjUgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNl cnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3hl bi1ibGtiYWNrL2Jsa2JhY2suYyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svYmxrYmFjay5j CmluZGV4IDMzZTIzYTdhNjkxZi4uYTI5NWFkNmExNjc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Js b2NrL3hlbi1ibGtiYWNrL2Jsa2JhY2suYworKysgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNr L2Jsa2JhY2suYwpAQCAtMTQwNywzMyArMTQwNywzNCBAQCBzdGF0aWMgaW50IGRpc3BhdGNoX3J3 X2Jsb2NrX2lvKHN0cnVjdCB4ZW5fYmxraWYgKmJsa2lmLAogc3RhdGljIHZvaWQgbWFrZV9yZXNw b25zZShzdHJ1Y3QgeGVuX2Jsa2lmICpibGtpZiwgdTY0IGlkLAogCQkJICB1bnNpZ25lZCBzaG9y dCBvcCwgaW50IHN0KQogewotCXN0cnVjdCBibGtpZl9yZXNwb25zZSAgcmVzcDsKKwlzdHJ1Y3Qg YmxraWZfcmVzcG9uc2UgKnJlc3A7CiAJdW5zaWduZWQgbG9uZyAgICAgZmxhZ3M7CiAJdW5pb24g YmxraWZfYmFja19yaW5ncyAqYmxrX3JpbmdzID0gJmJsa2lmLT5ibGtfcmluZ3M7CiAJaW50IG5v dGlmeTsKIAotCXJlc3AuaWQgICAgICAgID0gaWQ7Ci0JcmVzcC5vcGVyYXRpb24gPSBvcDsKLQly ZXNwLnN0YXR1cyAgICA9IHN0OwotCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmJsa2lmLT5ibGtfcmlu Z19sb2NrLCBmbGFncyk7CiAJLyogUGxhY2Ugb24gdGhlIHJlc3BvbnNlIHJpbmcgZm9yIHRoZSBy ZWxldmFudCBkb21haW4uICovCiAJc3dpdGNoIChibGtpZi0+YmxrX3Byb3RvY29sKSB7CiAJY2Fz ZSBCTEtJRl9QUk9UT0NPTF9OQVRJVkU6Ci0JCW1lbWNweShSSU5HX0dFVF9SRVNQT05TRSgmYmxr X3JpbmdzLT5uYXRpdmUsIGJsa19yaW5ncy0+bmF0aXZlLnJzcF9wcm9kX3B2dCksCi0JCSAgICAg ICAmcmVzcCwgc2l6ZW9mKHJlc3ApKTsKKwkJcmVzcCA9IFJJTkdfR0VUX1JFU1BPTlNFKCZibGtf cmluZ3MtPm5hdGl2ZSwKKwkJCQkJIGJsa19yaW5ncy0+bmF0aXZlLnJzcF9wcm9kX3B2dCk7CiAJ CWJyZWFrOwogCWNhc2UgQkxLSUZfUFJPVE9DT0xfWDg2XzMyOgotCQltZW1jcHkoUklOR19HRVRf UkVTUE9OU0UoJmJsa19yaW5ncy0+eDg2XzMyLCBibGtfcmluZ3MtPng4Nl8zMi5yc3BfcHJvZF9w dnQpLAotCQkgICAgICAgJnJlc3AsIHNpemVvZihyZXNwKSk7CisJCXJlc3AgPSBSSU5HX0dFVF9S RVNQT05TRSgmYmxrX3JpbmdzLT54ODZfMzIsCisJCQkJCSBibGtfcmluZ3MtPng4Nl8zMi5yc3Bf cHJvZF9wdnQpOwogCQlicmVhazsKIAljYXNlIEJMS0lGX1BST1RPQ09MX1g4Nl82NDoKLQkJbWVt Y3B5KFJJTkdfR0VUX1JFU1BPTlNFKCZibGtfcmluZ3MtPng4Nl82NCwgYmxrX3JpbmdzLT54ODZf NjQucnNwX3Byb2RfcHZ0KSwKLQkJICAgICAgICZyZXNwLCBzaXplb2YocmVzcCkpOworCQlyZXNw ID0gUklOR19HRVRfUkVTUE9OU0UoJmJsa19yaW5ncy0+eDg2XzY0LAorCQkJCQkgYmxrX3Jpbmdz LT54ODZfNjQucnNwX3Byb2RfcHZ0KTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJQlVHKCk7CiAJ fQorCisJcmVzcC0+aWQgICAgICAgID0gaWQ7CisJcmVzcC0+b3BlcmF0aW9uID0gb3A7CisJcmVz cC0+c3RhdHVzICAgID0gc3Q7CisKIAlibGtfcmluZ3MtPmNvbW1vbi5yc3BfcHJvZF9wdnQrKzsK IAlSSU5HX1BVU0hfUkVTUE9OU0VTX0FORF9DSEVDS19OT1RJRlkoJmJsa19yaW5ncy0+Y29tbW9u LCBub3RpZnkpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmJsa2lmLT5ibGtfcmluZ19sb2Nr LCBmbGFncyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL2NvbW1vbi5o IGIvZHJpdmVycy9ibG9jay94ZW4tYmxrYmFjay9jb21tb24uaAppbmRleCBjOTI5YWUyMjc2NGMu LjA0Y2ZlZTcxOTMzNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay94ZW4tYmxrYmFjay9jb21t b24uaAorKysgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL2NvbW1vbi5oCkBAIC03NCw5ICs3 NCw4IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgeGVuX2Jsa2lmX21heF9yaW5nX29yZGVyOwogc3Ry dWN0IGJsa2lmX2NvbW1vbl9yZXF1ZXN0IHsKIAljaGFyIGR1bW15OwogfTsKLXN0cnVjdCBibGtp Zl9jb21tb25fcmVzcG9uc2UgewotCWNoYXIgZHVtbXk7Ci19OworCisvKiBpMzg2IHByb3RvY29s IHZlcnNpb24gKi8KIAogc3RydWN0IGJsa2lmX3g4Nl8zMl9yZXF1ZXN0X3J3IHsKIAl1aW50OF90 ICAgICAgICBucl9zZWdtZW50czsgIC8qIG51bWJlciBvZiBzZWdtZW50cyAgICAgICAgICAgICAg ICAgICAqLwpAQCAtMTI4LDE0ICsxMjcsNiBAQCBzdHJ1Y3QgYmxraWZfeDg2XzMyX3JlcXVlc3Qg ewogCX0gdTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwogCi0vKiBpMzg2IHByb3Rv Y29sIHZlcnNpb24gKi8KLSNwcmFnbWEgcGFjayhwdXNoLCA0KQotc3RydWN0IGJsa2lmX3g4Nl8z Ml9yZXNwb25zZSB7Ci0JdWludDY0X3QgICAgICAgIGlkOyAgICAgICAgICAgICAgLyogY29waWVk IGZyb20gcmVxdWVzdCAqLwotCXVpbnQ4X3QgICAgICAgICBvcGVyYXRpb247ICAgICAgIC8qIGNv cGllZCBmcm9tIHJlcXVlc3QgKi8KLQlpbnQxNl90ICAgICAgICAgc3RhdHVzOyAgICAgICAgICAv KiBCTEtJRl9SU1BfPz8/ICAgICAgICovCi19OwotI3ByYWdtYSBwYWNrKHBvcCkKIC8qIHg4Nl82 NCBwcm90b2NvbCB2ZXJzaW9uICovCiAKIHN0cnVjdCBibGtpZl94ODZfNjRfcmVxdWVzdF9ydyB7 CkBAIC0xOTIsMTggKzE4MywxMiBAQCBzdHJ1Y3QgYmxraWZfeDg2XzY0X3JlcXVlc3QgewogCX0g dTsKIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOwogCi1zdHJ1Y3QgYmxraWZfeDg2XzY0 X3Jlc3BvbnNlIHsKLQl1aW50NjRfdCAgICAgICBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXyg4 KSkpIGlkOwotCXVpbnQ4X3QgICAgICAgICBvcGVyYXRpb247ICAgICAgIC8qIGNvcGllZCBmcm9t IHJlcXVlc3QgKi8KLQlpbnQxNl90ICAgICAgICAgc3RhdHVzOyAgICAgICAgICAvKiBCTEtJRl9S U1BfPz8/ICAgICAgICovCi19OwotCiBERUZJTkVfUklOR19UWVBFUyhibGtpZl9jb21tb24sIHN0 cnVjdCBibGtpZl9jb21tb25fcmVxdWVzdCwKLQkJICBzdHJ1Y3QgYmxraWZfY29tbW9uX3Jlc3Bv bnNlKTsKKwkJICBzdHJ1Y3QgYmxraWZfcmVzcG9uc2UpOwogREVGSU5FX1JJTkdfVFlQRVMoYmxr aWZfeDg2XzMyLCBzdHJ1Y3QgYmxraWZfeDg2XzMyX3JlcXVlc3QsCi0JCSAgc3RydWN0IGJsa2lm X3g4Nl8zMl9yZXNwb25zZSk7CisJCSAgc3RydWN0IGJsa2lmX3Jlc3BvbnNlIF9fcGFja2VkKTsK IERFRklORV9SSU5HX1RZUEVTKGJsa2lmX3g4Nl82NCwgc3RydWN0IGJsa2lmX3g4Nl82NF9yZXF1 ZXN0LAotCQkgIHN0cnVjdCBibGtpZl94ODZfNjRfcmVzcG9uc2UpOworCQkgIHN0cnVjdCBibGtp Zl9yZXNwb25zZSk7CiAKIHVuaW9uIGJsa2lmX2JhY2tfcmluZ3MgewogCXN0cnVjdCBibGtpZl9i YWNrX3JpbmcgICAgICAgIG5hdGl2ZTsKLS0gCjIuMTUuMC5yYzAKCgpGcm9tIDc4NGJmM2JlMmIz NTIwNjU5YTg3Mjk1ODZmNjU5MjRjYmU1N2MzZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IFhpbiBMb25nIDxsdWNpZW4ueGluQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNyBPY3QgMjAx NyAyMzoyNjoxMCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggNS83XSBzY3RwOiBkbyBub3QgcGVlbCBv ZmYgYW4gYXNzb2MgZnJvbSBvbmUgbmV0bnMgdG8gYW5vdGhlcgogb25lCgpjb21taXQgZGY4MGNk OWIyOGI5ZWJhYTI4NGE0MWRmNjExZGJmM2EyZDA1Y2E3NCB1cHN0cmVhbS4KCk5vdyB3aGVuIHBl ZWxpbmcgb2ZmIGFuIGFzc29jaWF0aW9uIHRvIHRoZSBzb2NrIGluIGFub3RoZXIgbmV0bnMsIGFs bAp0cmFuc3BvcnRzIGluIHRoaXMgYXNzb2MgYXJlIG5vdCB0byBiZSByZWhhc2hlZCBhbmQga2Vl cCB1c2UgdGhlIG9sZAprZXkgaW4gaGFzaHRhYmxlLgoKQXMgYSB0cmFuc3BvcnQgdXNlcyBzay0+ bmV0IGFzIHRoZSBoYXNoIGtleSB0byBpbnNlcnQgaW50byBoYXNodGFibGUsCml0IHdvdWxkIG1p c3MgcmVtb3ZpbmcgdGhlc2UgdHJhbnNwb3J0cyBmcm9tIGhhc2h0YWJsZSBkdWUgdG8gdGhlIG5l dwpuZXRucyB3aGVuIGNsb3NpbmcgdGhlIHNvY2sgYW5kIGFsbCB0cmFuc3BvcnRzIGFyZSBiZWlu ZyBmcmVlZWQsIHRoZW4KbGF0ZXIgYW4gdXNlLWFmdGVyLWZyZWUgaXNzdWUgY291bGQgYmUgY2F1 c2VkIHdoZW4gbG9va2luZyB1cCBhbiBhc29jCmFuZCBkZXJlZmVyZW5jaW5nIHRob3NlIHRyYW5z cG9ydHMuCgpUaGlzIGlzIGEgdmVyeSBvbGQgaXNzdWUgc2luY2UgdmVyeSBiZWdpbm5pbmcsIENo dW5ZdSBmb3VuZCBpdCB3aXRoCnN5emthbGxlciBmdXp6IHRlc3Rpbmcgd2l0aCB0aGlzIHNlcmll czoKCiAgc29ja2V0JGluZXQ2X3NjdHAoKQogIGJpbmQkaW5ldDYoKQogIHNlbmR0byRpbmV0Nigp CiAgdW5zaGFyZSgweDQwMDAwMDAwKQogIGdldHNvY2tvcHQkaW5ldF9zY3RwNl9TQ1RQX0dFVF9B U1NPQ19JRF9MSVNUKCkKICBnZXRzb2Nrb3B0JGluZXRfc2N0cDZfU0NUUF9TT0NLT1BUX1BFRUxP RkYoKQoKVGhpcyBwYXRjaCBpcyB0byBibG9jayB0aGlzIGNhbGwgd2hlbiBwZWVsaW5nIG9uZSBh c3NvYyBvZmYgZnJvbSBvbmUKbmV0bnMgdG8gYW5vdGhlciBvbmUsIHNvIHRoYXQgdGhlIG5ldG5z IG9mIGFsbCB0cmFuc3BvcnQgd291bGQgbm90CmdvIG91dC1zeW5jIHdpdGggdGhlIGtleSBpbiBo YXNodGFibGUuCgpOb3RlIHRoYXQgdGhpcyBwYXRjaCBkaWRuJ3QgZml4IGl0IGJ5IHJlaGFzaGlu ZyB0cmFuc3BvcnRzLCBhcyBpdCdzCmRpZmZpY3VsdCB0byBoYW5kbGUgdGhlIHNpdHVhdGlvbiB3 aGVuIHRoZSB0dXBsZSBpcyBhbHJlYWR5IGluIHVzZQppbiB0aGUgbmV3IG5ldG5zLiBCZXNpZGVz LCBubyBvbmUgd291bGQgbGlrZSB0byBwZWVsIG9mZiBvbmUgYXNzb2MKdG8gYW5vdGhlciBuZXRu cywgY29uc2lkZXJpbmcgaXBhZGRycywgaWZhY2VzLCBldGMuIGFyZSB1c3VhbGx5CmRpZmZlcmVu dC4KClJlcG9ydGVkLWJ5OiBDaHVuWXUgV2FuZyA8Y2h1bndhbmdAcmVkaGF0LmNvbT4KU2lnbmVk LW9mZi1ieTogWGluIExvbmcgPGx1Y2llbi54aW5AZ21haWwuY29tPgpBY2tlZC1ieTogTWFyY2Vs byBSaWNhcmRvIExlaXRuZXIgPG1hcmNlbG8ubGVpdG5lckBnbWFpbC5jb20+CkFja2VkLWJ5OiBO ZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ClNpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGlu Z3MgPGJlbi5odXRjaGluZ3NAY29kZXRoaW5rLmNvLnVrPgotLS0KIG5ldC9zY3RwL3NvY2tldC5j IHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv bmV0L3NjdHAvc29ja2V0LmMgYi9uZXQvc2N0cC9zb2NrZXQuYwppbmRleCAzZWJmM2I2NTJkNjAu LmZlNTAxMmU4ZmZjNyAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvc29ja2V0LmMKKysrIGIvbmV0L3Nj dHAvc29ja2V0LmMKQEAgLTQ0MjMsNiArNDQyMywxMCBAQCBpbnQgc2N0cF9kb19wZWVsb2ZmKHN0 cnVjdCBzb2NrICpzaywgc2N0cF9hc3NvY190IGlkLCBzdHJ1Y3Qgc29ja2V0ICoqc29ja3ApCiAJ c3RydWN0IHNvY2tldCAqc29jazsKIAlpbnQgZXJyID0gMDsKIAorCS8qIERvIG5vdCBwZWVsIG9m ZiBmcm9tIG9uZSBuZXRucyB0byBhbm90aGVyIG9uZS4gKi8KKwlpZiAoIW5ldF9lcShjdXJyZW50 LT5uc3Byb3h5LT5uZXRfbnMsIHNvY2tfbmV0KHNrKSkpCisJCXJldHVybiAtRUlOVkFMOworCiAJ aWYgKCFhc29jKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotLSAKMi4xNS4wLnJjMAoKCkZyb20gN2Vj MjA5ODE0ZjQ1OWVlMDk4OWUyZGI1ZTg3ZDVkZDAwYTQ0NDViYyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogPT9VVEYtOD9xP0JqPUMzPUI4cm49MjBNb3JrPz0gPGJqb3JuQG1vcmsubm8+ CkRhdGU6IE1vbiwgNiBOb3YgMjAxNyAxNTozNzoyMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggNi83 XSBuZXQ6IGNkY19ldGhlcjogZml4IGRpdmlkZSBieSAwIG9uIGJhZCBkZXNjcmlwdG9ycwpNSU1F LVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29u dGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKY29tbWl0IDJjYjgwMTg3YmEwNjVkN2RlY2Fk N2M2NjE0ZTM1ZTA3YWVjOGE5NzQgdXBzdHJlYW0uCgpTZXR0aW5nIGRldi0+aGFyZF9tdHUgdG8g MCB3aWxsIGNhdXNlIGEgZGl2aWRlIGVycm9yIGluCnVzYm5ldF9wcm9iZS4gUHJvdGVjdCBhZ2Fp bnN0IGRldmljZXMgd2l0aCBib2d1cyBDREMgRXRoZXJuZXQKZnVuY3Rpb25hbCBkZXNjcmlwdG9y cyBieSBpZ25vcmluZyBhIHplcm8gd01heFNlZ21lbnRTaXplLgoKU2lnbmVkLW9mZi1ieTogQmrD uHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+CkFja2VkLWJ5OiBPbGl2ZXIgTmV1a3VtIDxvbmV1a3Vt QHN1c2UuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+ClNpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbi5odXRjaGluZ3NAY29kZXRo aW5rLmNvLnVrPgotLS0KIGRyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYyB8IDIgKy0KIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYyBiL2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYwpp bmRleCA4YzQwOGFhMmYyMDguLmY5MzQzYmVlMWRlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv dXNiL2NkY19ldGhlci5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYwpAQCAtMjIx LDcgKzIyMSw3IEBAIHNraXA6CiAJCQlnb3RvIGJhZF9kZXNjOwogCX0KIAotCWlmIChoZWFkZXIu dXNiX2NkY19ldGhlcl9kZXNjKSB7CisJaWYgKGhlYWRlci51c2JfY2RjX2V0aGVyX2Rlc2MgJiYg aW5mby0+ZXRoZXItPndNYXhTZWdtZW50U2l6ZSkgewogCQlkZXYtPmhhcmRfbXR1ID0gbGUxNl90 b19jcHUoaW5mby0+ZXRoZXItPndNYXhTZWdtZW50U2l6ZSk7CiAJCS8qIGJlY2F1c2Ugb2YgWmF1 cnVzLCB3ZSBtYXkgYmUgaWdub3JpbmcgdGhlIGhvc3QKIAkJICogc2lkZSBsaW5rIGFkZHJlc3Mg d2Ugd2VyZSBnaXZlbi4KLS0gCjIuMTUuMC5yYzAKCgpGcm9tIDA2NjZmN2FkNDE0ODQwMzJiNGRl ZWNjNjhiNWU2YzcwOGEwNDMzMGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRG LTg/cT9Caj1DMz1COHJuPTIwTW9yaz89IDxiam9ybkBtb3JrLm5vPgpEYXRlOiBNb24sIDYgTm92 IDIwMTcgMTU6MzI6MTggKzAxMDAKU3ViamVjdDogW1BBVENIIDcvN10gbmV0OiBxbWlfd3dhbjog Zml4IGRpdmlkZSBieSAwIG9uIGJhZCBkZXNjcmlwdG9ycwpNSU1FLVZlcnNpb246IDEuMApDb250 ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAoKY29tbWl0IDdmZDA3ODMzNzIwMWNmNzQ2OGY1M2MzZDllZjgxZmY3OGNiNmRm M2IgdXBzdHJlYW0uCgpBIENEQyBFdGhlcm5ldCBmdW5jdGlvbmFsIGRlc2NyaXB0b3Igd2l0aCB3 TWF4U2VnbWVudFNpemUgPSAwIHdpbGwKY2F1c2UgYSBkaXZpZGUgZXJyb3IgaW4gdXNibmV0X3By b2JlOgoKZGl2aWRlIGVycm9yOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAgS0FTQU4KTW9kdWxlcyBs aW5rZWQgaW46CkNQVTogMCBQSUQ6IDI0IENvbW06IGt3b3JrZXIvMDoxIE5vdCB0YWludGVkIDQu MTQuMC1yYzgtNDQ0NTMtZzFmZGMxYTgyYzM0ZiAjNTYKSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFu ZGFyZCBQQyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MgQm9jaHMgMDEvMDEvMjAxMQpXb3Jr cXVldWU6IHVzYl9odWJfd3EgaHViX2V2ZW50CnRhc2s6IGZmZmY4ODAwNmJlZjVjMDAgdGFzay5z dGFjazogZmZmZjg4MDA2YmY2MDAwMApSSVA6IDAwMTA6dXNibmV0X3VwZGF0ZV9tYXhfcWxlbisw eDI0ZC8weDM5MCBkcml2ZXJzL25ldC91c2IvdXNibmV0LmM6MzU1ClJTUDogMDAxODpmZmZmODgw MDZiZjY3NTA4IEVGTEFHUzogMDAwMTAyNDYKUkFYOiAwMDAwMDAwMDAwMDE2M2M4IFJCWDogZmZm Zjg4MDA2MjFmY2U0MCBSQ1g6IGZmZmY4ODAwNjIxZmNmMzQKUkRYOiAwMDAwMDAwMDAwMDAwMDAw IFJTSTogZmZmZmZmZmY4MzdlY2I3YSBSREk6IGZmZmY4ODAwNjIxZmNmMzQKUkJQOiBmZmZmODgw MDZiZjY3NTIwIFIwODogZmZmZjg4MDA2YmVmNWMwMCBSMDk6IGZmZmZlZDAwMGM0M2Y4ODEKUjEw OiBmZmZmZWQwMDBjNDNmODgwIFIxMTogZmZmZjg4MDA2MjFmYzQwNiBSMTI6IDAwMDAwMDAwMDAw MDAwMDMKUjEzOiBmZmZmZmZmZjg1YzcxZGUwIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDAw MDAwMDAwMDAwMDAwMDAKRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODAwNmNh MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAgRFM6IDAwMDAgRVM6 IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDdmZmU5YzBkNmRhYyBDUjM6IDAw MDAwMDAwNjE0ZjQwMDAgQ1I0OiAwMDAwMDAwMDAwMDAwNmYwCkNhbGwgVHJhY2U6CiB1c2JuZXRf cHJvYmUrMHgxOGI1LzB4Mjc5MCBkcml2ZXJzL25ldC91c2IvdXNibmV0LmM6MTc4MwogcW1pX3d3 YW5fcHJvYmUrMHgxMzMvMHgyMjAgZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmM6MTMzOAogdXNi X3Byb2JlX2ludGVyZmFjZSsweDMyNC8weDk0MCBkcml2ZXJzL3VzYi9jb3JlL2RyaXZlci5jOjM2 MQogcmVhbGx5X3Byb2JlIGRyaXZlcnMvYmFzZS9kZC5jOjQxMwogZHJpdmVyX3Byb2JlX2Rldmlj ZSsweDUyMi8weDc0MCBkcml2ZXJzL2Jhc2UvZGQuYzo1NTcKCkZpeCBieSBzaW1wbHkgaWdub3Jp bmcgdGhlIGJvZ3VzIGRlc2NyaXB0b3IsIGFzIGl0IGlzIG9wdGlvbmFsCmZvciBRTUkgZGV2aWNl cyBhbnl3YXkuCgpGaXhlczogNDIzY2U4Y2FhYjdlICgibmV0OiB1c2I6IHFtaV93d2FuOiBOZXcg ZHJpdmVyIGZvciBIdWF3ZWkgUU1JIGJhc2VkIFdXQU4gZGV2aWNlcyIpClJlcG9ydGVkLWJ5OiBB bmRyZXkgS29ub3ZhbG92IDxhbmRyZXlrbnZsQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IEJq w7hybiBNb3JrIDxiam9ybkBtb3JrLm5vPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIg PGRhdmVtQGRhdmVtbG9mdC5uZXQ+ClNpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbi5o dXRjaGluZ3NAY29kZXRoaW5rLmNvLnVrPgotLS0KIGRyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMgYi9kcml2ZXJzL25ldC91c2Iv cW1pX3d3YW4uYwppbmRleCA5NThhZjNiMWFmN2YuLmUzMjVjYTNhZDU2NSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvdXNiL3FtaV93d2FuLmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL3FtaV93d2Fu LmMKQEAgLTI2Miw3ICsyNjIsNyBAQCBzdGF0aWMgaW50IHFtaV93d2FuX2JpbmQoc3RydWN0IHVz Ym5ldCAqZGV2LCBzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZikKIAl9CiAKIAkvKiBlcnJvcnMg YXJlbid0IGZhdGFsIC0gd2UgY2FuIGxpdmUgd2l0aCB0aGUgZHluYW1pYyBhZGRyZXNzICovCi0J aWYgKGNkY19ldGhlcikgeworCWlmIChjZGNfZXRoZXIgJiYgY2RjX2V0aGVyLT53TWF4U2VnbWVu dFNpemUpIHsKIAkJZGV2LT5oYXJkX210dSA9IGxlMTZfdG9fY3B1KGNkY19ldGhlci0+d01heFNl Z21lbnRTaXplKTsKIAkJdXNibmV0X2dldF9ldGhlcm5ldF9hZGRyKGRldiwgY2RjX2V0aGVyLT5p TUFDQWRkcmVzcyk7CiAJfQotLSAKMi4xNS4wLnJjMAoK --=-vonGjUvoFztiEwHXWRlA--