From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 08/10] drm/i915: Nuke intel_digital_port->port Date: Thu, 9 Nov 2017 17:24:34 +0200 Message-ID: <20171109152434.32074-1-ville.syrjala@linux.intel.com> References: <20171031205123.13123-9-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3A7356E346 for ; Thu, 9 Nov 2017 15:24:41 +0000 (UTC) In-Reply-To: <20171031205123.13123-9-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl bW92ZSBpbnRlbF9kaWdpdGFsX3BvcnQtPnBvcnQgYW5kIHJlcGxhY2UgaXRzIHVzZXJzIHdpdGgK aW50ZWxfZW5jb2Rlci0+cG9ydC4gaW50ZWxfZW5jb2Rlci0+cG9ydCBpcyBhIHN1cGVyc2V0IG9m CmludGVsX2RpZ2l0YWxfcG9ydC0+cG9ydCwgYW5kIGl0IHdvcmtzIGNvcnJlY3RseSBldmVuIGZv cgpNU1QgZW5jb2RlcnMuCgp2MjogRWxpbWluYXRlIGEgZmV3IGRwX3RvX2RpZ19wb3J0KCktPmJh c2UucG9ydCBjYXNlcyB0b28gKERLKQoKUGVyZm9ybWVkIHdpdGggY29jY2k6CkBACkBACnN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgewogICAgICAgLi4uCi0gICAgICAgZW51bSBwb3J0IHBvcnQ7 CiAgICAgICAuLi4KfQoKQEAKc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqRDsKZXhwcmVzc2lv biBFOwpAQAotIEQtPnBvcnQgPSBFOwoKQEAKc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqRDsK QEAKLSBELT5wb3J0CisgRC0+YmFzZS5wb3J0CgpACmV4cHJlc3Npb24gRTsKQEAKKAotIGRwX3Rv X2RpZ19wb3J0KEUpLT5wb3J0CisgZHBfdG9fZGlnX3BvcnQoRSktPmJhc2UucG9ydAp8Ci0gZW5j X3RvX2RpZ19wb3J0KEUpLT5wb3J0CisgdG9faW50ZWxfZW5jb2RlcihFKS0+cG9ydAopCgpAQApl eHByZXNzaW9uIEU7CkBACi0gdG9faW50ZWxfZW5jb2RlcigmRS0+YmFzZSkKKyBFCgpAQApzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpEOwppZGVudGlmaWVyIEksIE07CkBACiAgSSA9ICZELT5i YXNlCjwuLi4KKAotIEQtPmJhc2UuTQorIEktPk0KfAotICZELT5iYXNlCisgSQopCi4uLj4KCkBA CmlkZW50aWZpZXIgRDsKZXhwcmVzc2lvbiBFOwppZGVudGlmaWVyIE07CkBACiBEID0gZW5jX3Rv X2RpZ19wb3J0KCZFLT5iYXNlKQo8Li4uCigKLSBELT5iYXNlLk0KKyBFLT5NCnwKLSAmRC0+YmFz ZQorIEUKKQouLi4+CgpAQAppZGVudGlmaWVyIEQsIERQOwpleHByZXNzaW9uIEU7CmlkZW50aWZp ZXIgTTsKQEAKIERQID0gZW5jX3RvX2ludGVsX2RwKCZFLT5iYXNlKQo8Li4uCigKLSBkcF90b19k aWdfcG9ydChEUCktPmJhc2UuTQorIEUtPk0KfAotICZkcF90b19kaWdfcG9ydChEUCktPmJhc2UK KyBFCikKLi4uPgoKQEAKZXhwcmVzc2lvbiBFOwppZGVudGlmaWVyIE07CkBACigKLSBlbmNfdG9f ZGlnX3BvcnQoJkUtPmJhc2UpLT5iYXNlLk0KKyBFLT5NCnwKLSBlbmNfdG9fZGlnX3BvcnQoJkUt PmJhc2UpLT5iYXNlCisgRQp8Ci0gZW5jX3RvX21zdCgmRS0+YmFzZSktPnByaW1hcnktPmJhc2Uu cG9ydAorIEUtPnBvcnQKKQoKQEAKZXhwcmVzc2lvbiBFOwppZGVudGlmaWVyIEQ7CkBACi0gc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqRCA9IEU7Ci4uLiB3aGVuICE9IEQKCkNjOiBEaGluYWth cmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6 IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgpBY2tl ZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTog VmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgIHwgICAyICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgIHwgIDEzICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgIHwgIDEzICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jICAgICAgIHwgMTAzICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jICAgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwaW9fcGh5LmMgfCAgMTIgKystLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggICAgICB8ICAgNSArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aGRtaS5jICAgICB8ICAxNyArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVf Y3JjLmMgfCAgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jICAgICAgfCAg IDQgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDg3IGluc2VydGlvbnMoKyksIDkyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggMzk4ODNjZDkxNWRiLi5kODkz MjFmMDQ2OGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0zNjAzLDcgKzM2 MDMsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHBfbXN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2 b2lkICp1bnVzZWQpCiAJCQljb250aW51ZTsKIAogCQlzZXFfcHJpbnRmKG0sICJNU1QgU291cmNl IFBvcnQgJWNcbiIsCi0JCQkgICBwb3J0X25hbWUoaW50ZWxfZGlnX3BvcnQtPnBvcnQpKTsKKwkJ CSAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KSk7CiAJCWRybV9kcF9tc3Rf ZHVtcF90b3BvbG9neShtLCAmaW50ZWxfZGlnX3BvcnQtPmRwLm1zdF9tZ3IpOwogCX0KIAlkcm1f Y29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCmluZGV4IGFjZTY3NGNkNzliOS4uNjVhYjU1NDk2YWI3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYwpAQCAtMTgwMSw4ICsxODAxLDggQEAgc3RhdGljIHZvaWQgc2tsX2RkaV9zZXRfaWJv b3N0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgIGludCBsZXZlbCwg ZW51bSBpbnRlbF9vdXRwdXRfdHlwZSB0eXBlKQogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RpZ19wb3J0 LT5iYXNlLmJhc2UuZGV2KTsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0 OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+ YmFzZS5kZXYpOworCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKIAl1aW50OF90IGli b29zdDsKIAogCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9IRE1JKQpAQCAtMjQ3MCw3ICsyNDcw LDcgQEAgdm9pZCBpbnRlbF9kZGlfcHJlcGFyZV9saW5rX3JldHJhaW4oc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9 IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPQogCQl0b19pOTE1KGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2KTsKLQllbnVt IHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0OworCWVudW0gcG9ydCBwb3J0ID0gaW50 ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKIAl1aW50MzJfdCB2YWw7CiAJYm9vbCB3YWl0ID0gZmFs c2U7CiAKQEAgLTI2OTgsNyArMjY5OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICoKIGludGVsX2RkaV9pbml0X2RwX2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICppbnRlbF9kaWdfcG9ydCkKIHsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3I7 Ci0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+cG9ydDsKKwllbnVtIHBvcnQgcG9y dCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7CiAKIAljb25uZWN0b3IgPSBpbnRlbF9jb25u ZWN0b3JfYWxsb2MoKTsKIAlpZiAoIWNvbm5lY3RvcikKQEAgLTI3MTcsNyArMjcxNyw3IEBAIHN0 YXRpYyBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICoKIGludGVsX2RkaV9pbml0X2hkbWlfY29ubmVj dG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KQogewogCXN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcjsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2Rp Z19wb3J0LT5wb3J0OworCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9y dDsKIAogCWNvbm5lY3RvciA9IGludGVsX2Nvbm5lY3Rvcl9hbGxvYygpOwogCWlmICghY29ubmVj dG9yKQpAQCAtMjczMyw3ICsyNzMzLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZGRpX2FfZm9yY2Vf NF9sYW5lcyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCkKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRwb3J0LT5iYXNlLmJhc2UuZGV2KTsK IAotCWlmIChkcG9ydC0+cG9ydCAhPSBQT1JUX0EpCisJaWYgKGRwb3J0LT5iYXNlLnBvcnQgIT0g UE9SVF9BKQogCQlyZXR1cm4gZmFsc2U7CiAKIAlpZiAoZHBvcnQtPnNhdmVkX3BvcnRfYml0cyAm IERESV9BXzRfTEFORVMpCkBAIC0yODM2LDcgKzI4MzYsNiBAQCB2b2lkIGludGVsX2RkaV9pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCiAJaW50 ZWxfZW5jb2Rlci0+c3VzcGVuZCA9IGludGVsX2RwX2VuY29kZXJfc3VzcGVuZDsKIAlpbnRlbF9l bmNvZGVyLT5nZXRfcG93ZXJfZG9tYWlucyA9IGludGVsX2RkaV9nZXRfcG93ZXJfZG9tYWluczsK IAotCWludGVsX2RpZ19wb3J0LT5wb3J0ID0gcG9ydDsKIAlpbnRlbF9kaWdfcG9ydC0+c2F2ZWRf cG9ydF9iaXRzID0gSTkxNV9SRUFEKERESV9CVUZfQ1RMKHBvcnQpKSAmCiAJCQkJCSAgKERESV9C VUZfUE9SVF9SRVZFUlNBTCB8CiAJCQkJCSAgIERESV9BXzRfTEFORVMpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDg0ODE3Y2NjNTMwNS4uNDM1ZGMxOGFhMjM5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xNzAxLDcgKzE3MDEsNyBAQCB2b2lk IHZsdl93YWl0X3BvcnRfcmVhZHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAog CXUzMiBwb3J0X21hc2s7CiAJaTkxNV9yZWdfdCBkcGxsX3JlZzsKIAotCXN3aXRjaCAoZHBvcnQt PnBvcnQpIHsKKwlzd2l0Y2ggKGRwb3J0LT5iYXNlLnBvcnQpIHsKIAljYXNlIFBPUlRfQjoKIAkJ cG9ydF9tYXNrID0gRFBMTF9QT1JUQl9SRUFEWV9NQVNLOwogCQlkcGxsX3JlZyA9IERQTEwoMCk7 CkBAIC0xNzIzLDcgKzE3MjMsOCBAQCB2b2lkIHZsdl93YWl0X3BvcnRfcmVhZHkoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICBkcGxsX3JlZywgcG9ydF9tYXNrLCBl eHBlY3RlZF9tYXNrLAogCQkJCSAgICAxMDAwKSkKIAkJV0FSTigxLCAidGltZWQgb3V0IHdhaXRp bmcgZm9yIHBvcnQgJWMgcmVhZHk6IGdvdCAweCV4LCBleHBlY3RlZCAweCV4XG4iLAotCQkgICAg IHBvcnRfbmFtZShkcG9ydC0+cG9ydCksIEk5MTVfUkVBRChkcGxsX3JlZykgJiBwb3J0X21hc2ss IGV4cGVjdGVkX21hc2spOworCQkgICAgIHBvcnRfbmFtZShkcG9ydC0+YmFzZS5wb3J0KSwKKwkJ ICAgICBJOTE1X1JFQUQoZHBsbF9yZWcpICYgcG9ydF9tYXNrLCBleHBlY3RlZF9tYXNrKTsKIH0K IAogc3RhdGljIHZvaWQgaXJvbmxha2VfZW5hYmxlX3BjaF90cmFuc2NvZGVyKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKQEAgLTQ0ODEsNyArNDQ4Miw3IEBAIGludGVsX3RyYW5z X2RwX3BvcnRfc2VsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCWZvcl9lYWNoX2VuY29kZXJf b25fY3J0YyhkZXYsICZjcnRjLT5iYXNlLCBlbmNvZGVyKSB7CiAJCWlmIChlbmNvZGVyLT50eXBl ID09IElOVEVMX09VVFBVVF9EUCB8fAogCQkgICAgZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQ VVRfRURQKQotCQkJcmV0dXJuIGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSktPnBvcnQ7 CisJCQlyZXR1cm4gZW5jb2Rlci0+cG9ydDsKIAl9CiAKIAlyZXR1cm4gLTE7CkBAIC03NjMyLDcg Kzc2MzMsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9pbml0X3BjaF9yZWZjbGsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJYnJlYWs7CiAJCWNhc2UgSU5URUxfT1VUUFVU X0VEUDoKIAkJCWhhc19wYW5lbCA9IHRydWU7Ci0JCQlpZiAoZW5jX3RvX2RpZ19wb3J0KCZlbmNv ZGVyLT5iYXNlKS0+cG9ydCA9PSBQT1JUX0EpCisJCQlpZiAoZW5jb2Rlci0+cG9ydCA9PSBQT1JU X0EpCiAJCQkJaGFzX2NwdV9lZHAgPSB0cnVlOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CkBAIC0x MDc1NSw3ICsxMDc1Niw3IEBAIHN0YXRpYyBib29sIGNoZWNrX2RpZ2l0YWxfcG9ydF9jb25mbGlj dHMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQljYXNlIElOVEVMX09VVFBVVF9E UDoKIAkJY2FzZSBJTlRFTF9PVVRQVVRfSERNSToKIAkJY2FzZSBJTlRFTF9PVVRQVVRfRURQOgot CQkJcG9ydF9tYXNrID0gMSA8PCBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpLT5wb3J0 OworCQkJcG9ydF9tYXNrID0gMSA8PCBlbmNvZGVyLT5wb3J0OwogCiAJCQkvKiB0aGUgc2FtZSBw b3J0IG11c3RuJ3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlICovCiAJCQlpZiAodXNlZF9wb3J0cyAm IHBvcnRfbWFzaykKQEAgLTEwNzY1LDcgKzEwNzY2LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tfZGln aXRhbF9wb3J0X2NvbmZsaWN0cyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCQli cmVhazsKIAkJY2FzZSBJTlRFTF9PVVRQVVRfRFBfTVNUOgogCQkJdXNlZF9tc3RfcG9ydHMgfD0K LQkJCQkxIDw8IGVuY190b19tc3QoJmVuY29kZXItPmJhc2UpLT5wcmltYXJ5LT5wb3J0OworCQkJ CTEgPDwgZW5jb2Rlci0+cG9ydDsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJYnJlYWs7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCBiZjIxZjAwY2Q0YTIuLmI2MjYxZjRmYTA2ZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC0yMjMsNyArMjIzLDcgQEAgaW50ZWxfZHBfc2V0X3Nv dXJjZV9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewogCXN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGlnX3BvcnQtPmJhc2UuYmFz ZS5kZXYpOwotCWVudW0gcG9ydCBwb3J0ID0gZGlnX3BvcnQtPnBvcnQ7CisJZW51bSBwb3J0IHBv cnQgPSBkaWdfcG9ydC0+YmFzZS5wb3J0OwogCWNvbnN0IGludCAqc291cmNlX3JhdGVzOwogCWlu dCBzaXplOwogCXUzMiB2b2x0YWdlOwpAQCAtNDc5LDExICs0NzksMTEgQEAgdmx2X3Bvd2VyX3Nl cXVlbmNlcl9raWNrKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAKIAlpZiAoV0FSTihJOTE1 X1JFQUQoaW50ZWxfZHAtPm91dHB1dF9yZWcpICYgRFBfUE9SVF9FTiwKIAkJICJza2lwcGluZyBw aXBlICVjIHBvd2VyIHNlcWV1bmNlciBraWNrIGR1ZSB0byBwb3J0ICVjIGJlaW5nIGFjdGl2ZVxu IiwKLQkJIHBpcGVfbmFtZShwaXBlKSwgcG9ydF9uYW1lKGludGVsX2RpZ19wb3J0LT5wb3J0KSkp CisJCSBwaXBlX25hbWUocGlwZSksIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0 KSkpCiAJCXJldHVybjsKIAogCURSTV9ERUJVR19LTVMoImtpY2tpbmcgcGlwZSAlYyBwb3dlciBz ZXF1ZW5jZXIgZm9yIHBvcnQgJWNcbiIsCi0JCSAgICAgIHBpcGVfbmFtZShwaXBlKSwgcG9ydF9u YW1lKGludGVsX2RpZ19wb3J0LT5wb3J0KSk7CisJCSAgICAgIHBpcGVfbmFtZShwaXBlKSwgcG9y dF9uYW1lKGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQpKTsKIAogCS8qIFByZXNlcnZlIHRoZSBC SU9TLWNvbXB1dGVkIGRldGVjdGVkIGJpdC4gVGhpcyBpcwogCSAqIHN1cHBvc2VkIHRvIGJlIHJl YWQtb25seS4KQEAgLTYxMCw3ICs2MTAsNyBAQCB2bHZfcG93ZXJfc2VxdWVuY2VyX3BpcGUoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKIAogCURSTV9ERUJVR19LTVMoInBpY2tlZCBwaXBlICVj IHBvd2VyIHNlcXVlbmNlciBmb3IgcG9ydCAlY1xuIiwKIAkJICAgICAgcGlwZV9uYW1lKGludGVs X2RwLT5wcHNfcGlwZSksCi0JCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+cG9ydCkp OworCQkgICAgICBwb3J0X25hbWUoaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydCkpOwogCiAJLyog aW5pdCBwb3dlciBzZXF1ZW5jZXIgb24gdGhpcyBwaXBlIGFuZCBwb3J0ICovCiAJaW50ZWxfZHBf aW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoZGV2LCBpbnRlbF9kcCk7CkBAIC03MDYsNyArNzA2 LDcgQEAgdmx2X2luaXRpYWxfcG93ZXJfc2VxdWVuY2VyX3NldHVwKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBk cF90b19kaWdfcG9ydChpbnRlbF9kcCk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVs X2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZGV2KTsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5w b3J0OworCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKIAogCWxv Y2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwogCkBAIC05NjYsNyArOTY2 LDcgQEAgc3RhdGljIHVpbnQzMl90IGlsa19nZXRfYXV4X2Nsb2NrX2RpdmlkZXIoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCwgaW50IGluZGV4KQogCSAqIGxpa2UgdG8gcnVuIGF0IDJNSHouICBT bywgdGFrZSB0aGUgY2RjbGsgb3IgUENIIHJhd2NsayB2YWx1ZSBhbmQKIAkgKiBkaXZpZGUgYnkg MjAwMCBhbmQgdXNlIHRoYXQKIAkgKi8KLQlpZiAoaW50ZWxfZGlnX3BvcnQtPnBvcnQgPT0gUE9S VF9BKQorCWlmIChpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0ID09IFBPUlRfQSkKIAkJcmV0dXJu IERJVl9ST1VORF9DTE9TRVNUKGRldl9wcml2LT5jZGNsay5ody5jZGNsaywgMjAwMCk7CiAJZWxz ZQogCQlyZXR1cm4gRElWX1JPVU5EX0NMT1NFU1QoZGV2X3ByaXYtPnJhd2Nsa19mcmVxLCAyMDAw KTsKQEAgLTk3Nyw3ICs5NzcsNyBAQCBzdGF0aWMgdWludDMyX3QgaHN3X2dldF9hdXhfY2xvY2tf ZGl2aWRlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgaW5kZXgpCiAJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9k cCk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9k aWdfcG9ydC0+YmFzZS5iYXNlLmRldik7CiAKLQlpZiAoaW50ZWxfZGlnX3BvcnQtPnBvcnQgIT0g UE9SVF9BICYmIEhBU19QQ0hfTFBUX0goZGV2X3ByaXYpKSB7CisJaWYgKGludGVsX2RpZ19wb3J0 LT5iYXNlLnBvcnQgIT0gUE9SVF9BICYmIEhBU19QQ0hfTFBUX0goZGV2X3ByaXYpKSB7CiAJCS8q IFdvcmthcm91bmQgZm9yIG5vbi1VTFQgSFNXICovCiAJCXN3aXRjaCAoaW5kZXgpIHsKIAkJY2Fz ZSAwOiByZXR1cm4gNjM7CkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9h dXhfcmVnX2luaXQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkp OwogCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfYXV4X3BvcnQoZGV2X3ByaXYsCi0JCQkJCWRwX3Rv X2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydCk7CisJCQkJCWRwX3RvX2RpZ19wb3J0KGludGVsX2Rw KS0+YmFzZS5wb3J0KTsKIAlpbnQgaTsKIAogCWludGVsX2RwLT5hdXhfY2hfY3RsX3JlZyA9IGlu dGVsX2F1eF9jdGxfcmVnKGRldl9wcml2LCBwb3J0KTsKQEAgLTE0NjUsNyArMTQ2NSw3IEBAIHN0 YXRpYyB2b2lkCiBpbnRlbF9kcF9hdXhfaW5pdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog ewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGln X3BvcnQoaW50ZWxfZHApOwotCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7 CisJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0OwogCiAJaW50ZWxf YXV4X3JlZ19pbml0KGludGVsX2RwKTsKIAlkcm1fZHBfYXV4X2luaXQoJmludGVsX2RwLT5hdXgp OwpAQCAtMTYzNSw3ICsxNjM1LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKIAlzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsK LQllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydDsKKwllbnVt IHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOwogCXN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0 b3I7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX3N0YXRlICppbnRlbF9jb25uX3N0 YXRlID0KQEAgLTE4NTksNyArMTg1OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3ByZXBhcmUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVs X2RwKCZlbmNvZGVyLT5iYXNlKTsKLQllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGlu dGVsX2RwKS0+cG9ydDsKKwllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7CiAJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMp OwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVf Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7CiAKQEAgLTIwNzQsNyArMjA3NCw3IEBAIHN0YXRp YyBib29sIGVkcF9wYW5lbF92ZGRfb24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlpbnRl bF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4p OwogCiAJRFJNX0RFQlVHX0tNUygiVHVybmluZyBlRFAgcG9ydCAlYyBWREQgb25cbiIsCi0JCSAg ICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+cG9ydCkpOworCQkgICAgICBwb3J0X25hbWUo aW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydCkpOwogCiAJaWYgKCFlZHBfaGF2ZV9wYW5lbF9wb3dl cihpbnRlbF9kcCkpCiAJCXdhaXRfcGFuZWxfcG93ZXJfY3ljbGUoaW50ZWxfZHApOwpAQCAtMjA5 NCw3ICsyMDk0LDcgQEAgc3RhdGljIGJvb2wgZWRwX3BhbmVsX3ZkZF9vbihzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQogCSAqLwogCWlmICghZWRwX2hhdmVfcGFuZWxfcG93ZXIoaW50ZWxfZHAp KSB7CiAJCURSTV9ERUJVR19LTVMoImVEUCBwb3J0ICVjIHBhbmVsIHBvd2VyIHdhc24ndCBlbmFi bGVkXG4iLAotCQkJICAgICAgcG9ydF9uYW1lKGludGVsX2RpZ19wb3J0LT5wb3J0KSk7CisJCQkg ICAgICBwb3J0X25hbWUoaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydCkpOwogCQltc2xlZXAoaW50 ZWxfZHAtPnBhbmVsX3Bvd2VyX3VwX2RlbGF5KTsKIAl9CiAKQEAgLTIxMjAsNyArMjEyMCw3IEBA IHZvaWQgaW50ZWxfZWRwX3BhbmVsX3ZkZF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog CXBwc191bmxvY2soaW50ZWxfZHApOwogCiAJSTkxNV9TVEFURV9XQVJOKCF2ZGQsICJlRFAgcG9y dCAlYyBWREQgYWxyZWFkeSByZXF1ZXN0ZWQgb25cbiIsCi0JICAgICBwb3J0X25hbWUoZHBfdG9f ZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0KSk7CisJICAgICBwb3J0X25hbWUoZHBfdG9fZGlnX3Bv cnQoaW50ZWxfZHApLT5iYXNlLnBvcnQpKTsKIH0KIAogc3RhdGljIHZvaWQgZWRwX3BhbmVsX3Zk ZF9vZmZfc3luYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQpAQCAtMjE0MCw3ICsyMTQwLDcg QEAgc3RhdGljIHZvaWQgZWRwX3BhbmVsX3ZkZF9vZmZfc3luYyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQogCQlyZXR1cm47CiAKIAlEUk1fREVCVUdfS01TKCJUdXJuaW5nIGVEUCBwb3J0ICVj IFZERCBvZmZcbiIsCi0JCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+cG9ydCkpOwor CQkgICAgICBwb3J0X25hbWUoaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydCkpOwogCiAJcHAgPSBp cm9ubGFrZV9nZXRfcHBfY29udHJvbChpbnRlbF9kcCk7CiAJcHAgJj0gfkVEUF9GT1JDRV9WREQ7 CkBAIC0yMjAwLDcgKzIyMDAsNyBAQCBzdGF0aWMgdm9pZCBlZHBfcGFuZWxfdmRkX29mZihzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBib29sIHN5bmMpCiAJCXJldHVybjsKIAogCUk5MTVfU1RB VEVfV0FSTighaW50ZWxfZHAtPndhbnRfcGFuZWxfdmRkLCAiZURQIHBvcnQgJWMgVkREIG5vdCBm b3JjZWQgb24iLAotCSAgICAgcG9ydF9uYW1lKGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+cG9y dCkpOworCSAgICAgcG9ydF9uYW1lKGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZS5wb3J0 KSk7CiAKIAlpbnRlbF9kcC0+d2FudF9wYW5lbF92ZGQgPSBmYWxzZTsKIApAQCAtMjIyMywxMSAr MjIyMywxMSBAQCBzdGF0aWMgdm9pZCBlZHBfcGFuZWxfb24oc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIAkJcmV0dXJuOwogCiAJRFJNX0RFQlVHX0tNUygiVHVybiBlRFAgcG9ydCAlYyBwYW5l bCBwb3dlciBvblxuIiwKLQkJICAgICAgcG9ydF9uYW1lKGRwX3RvX2RpZ19wb3J0KGludGVsX2Rw KS0+cG9ydCkpOworCQkgICAgICBwb3J0X25hbWUoZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5i YXNlLnBvcnQpKTsKIAogCWlmIChXQVJOKGVkcF9oYXZlX3BhbmVsX3Bvd2VyKGludGVsX2RwKSwK IAkJICJlRFAgcG9ydCAlYyBwYW5lbCBwb3dlciBhbHJlYWR5IG9uXG4iLAotCQkgcG9ydF9uYW1l KGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydCkpKQorCQkgcG9ydF9uYW1lKGRwX3RvX2Rp Z19wb3J0KGludGVsX2RwKS0+YmFzZS5wb3J0KSkpCiAJCXJldHVybjsKIAogCXdhaXRfcGFuZWxf cG93ZXJfY3ljbGUoaW50ZWxfZHApOwpAQCAtMjI4MiwxMCArMjI4MiwxMCBAQCBzdGF0aWMgdm9p ZCBlZHBfcGFuZWxfb2ZmKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJCXJldHVybjsKIAog CURSTV9ERUJVR19LTVMoIlR1cm4gZURQIHBvcnQgJWMgcGFuZWwgcG93ZXIgb2ZmXG4iLAotCQkg ICAgICBwb3J0X25hbWUoZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0KSk7CisJCSAgICAg IHBvcnRfbmFtZShkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2UucG9ydCkpOwogCiAJV0FS TighaW50ZWxfZHAtPndhbnRfcGFuZWxfdmRkLCAiTmVlZCBlRFAgcG9ydCAlYyBWREQgdG8gdHVy biBvZmYgcGFuZWxcbiIsCi0JICAgICBwb3J0X25hbWUoZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHAp LT5wb3J0KSk7CisJICAgICBwb3J0X25hbWUoZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNl LnBvcnQpKTsKIAogCXBwID0gaXJvbmxha2VfZ2V0X3BwX2NvbnRyb2woaW50ZWxfZHApOwogCS8q IFdlIG5lZWQgdG8gc3dpdGNoIG9mZiBwYW5lbCBwb3dlciBfYW5kXyBmb3JjZSB2ZGQsIGZvciBv dGhlcndpc2Ugc29tZQpAQCAtMjQzNyw3ICsyNDM3LDcgQEAgc3RhdGljIHZvaWQgYXNzZXJ0X2Rw X3BvcnQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgYm9vbCBzdGF0ZSkKIAogCUk5MTVfU1RB VEVfV0FSTihjdXJfc3RhdGUgIT0gc3RhdGUsCiAJCQkiRFAgcG9ydCAlYyBzdGF0ZSBhc3NlcnRp b24gZmFpbHVyZSAoZXhwZWN0ZWQgJXMsIGN1cnJlbnQgJXMpXG4iLAotCQkJcG9ydF9uYW1lKGRp Z19wb3J0LT5wb3J0KSwKKwkJCXBvcnRfbmFtZShkaWdfcG9ydC0+YmFzZS5wb3J0KSwKIAkJCW9u b2ZmKHN0YXRlKSwgb25vZmYoY3VyX3N0YXRlKSk7CiB9CiAjZGVmaW5lIGFzc2VydF9kcF9wb3J0 X2Rpc2FibGVkKGQpIGFzc2VydF9kcF9wb3J0KChkKSwgZmFsc2UpCkBAIC0yNTcwLDcgKzI1NzAs NyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJCQkJICBlbnVtIHBpcGUgKnBpcGUpCiB7CiAJc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7Ci0JZW51bSBwb3J0 IHBvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7CisJZW51bSBwb3J0IHBvcnQg PSBlbmNvZGVyLT5wb3J0OwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNl LmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 CiAJdTMyIHRtcDsKQEAgLTI2MjUsNyArMjYyNSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX2dl dF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJdTMyIHRtcCwgZmxhZ3Mg PSAwOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0JZW51bSBwb3J0 IHBvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7CisJZW51bSBwb3J0IHBvcnQg PSBlbmNvZGVyLT5wb3J0OwogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKIAogCWlmIChlbmNvZGVyLT50eXBlID09IElOVEVM X09VVFBVVF9FRFApCkBAIC0yNzk0LDcgKzI3OTQsNyBAQCBfaW50ZWxfZHBfc2V0X2xpbmtfdHJh aW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCWVudW0gcG9ydCBwb3J0 ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7CisJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9y dC0+YmFzZS5wb3J0OwogCiAJaWYgKGRwX3RyYWluX3BhdCAmIERQX1RSQUlOSU5HX1BBVFRFUk5f TUFTSykKIAkJRFJNX0RFQlVHX0tNUygiVXNpbmcgRFAgdHJhaW5pbmcgcGF0dGVybiBUUFMlZFxu IiwKQEAgLTI5NjksNyArMjk2OSw3IEBAIHN0YXRpYyB2b2lkIGc0eF9wcmVfZW5hYmxlX2RwKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9k cCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7Ci0JZW51bSBwb3J0IHBvcnQgPSBk cF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7CisJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVy LT5wb3J0OwogCiAJaW50ZWxfZHBfcHJlcGFyZShlbmNvZGVyLCBwaXBlX2NvbmZpZyk7CiAKQEAg LTMwMDIsNyArMzAwMiw3IEBAIHN0YXRpYyB2b2lkIHZsdl9kZXRhY2hfcG93ZXJfc2VxdWVuY2Vy KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJICogZnJvbSBhIHBvcnQuCiAJICovCiAJRFJN X0RFQlVHX0tNUygiZGV0YWNoaW5nIHBpcGUgJWMgcG93ZXIgc2VxdWVuY2VyIGZyb20gcG9ydCAl Y1xuIiwKLQkJICAgICAgcGlwZV9uYW1lKHBpcGUpLCBwb3J0X25hbWUoaW50ZWxfZGlnX3BvcnQt PnBvcnQpKTsKKwkJICAgICAgcGlwZV9uYW1lKHBpcGUpLCBwb3J0X25hbWUoaW50ZWxfZGlnX3Bv cnQtPmJhc2UucG9ydCkpOwogCUk5MTVfV1JJVEUocHBfb25fcmVnLCAwKTsKIAlQT1NUSU5HX1JF QUQocHBfb25fcmVnKTsKIApAQCAtMzAyNiw3ICszMDI2LDcgQEAgc3RhdGljIHZvaWQgdmx2X3N0 ZWFsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJY29udGludWU7 CiAKIAkJaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwotCQlwb3J0 ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0OworCQlwb3J0ID0gZHBfdG9fZGlnX3Bv cnQoaW50ZWxfZHApLT5iYXNlLnBvcnQ7CiAKIAkJV0FSTihpbnRlbF9kcC0+YWN0aXZlX3BpcGUg PT0gcGlwZSwKIAkJICAgICAic3RlYWxpbmcgcGlwZSAlYyBwb3dlciBzZXF1ZW5jZXIgZnJvbSBh Y3RpdmUgKGUpRFAgcG9ydCAlY1xuIiwKQEAgLTMxNzgsNyArMzE3OCw3IEBAIHVpbnQ4X3QKIGlu dGVsX2RwX3ZvbHRhZ2VfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50 ZWxfZHApKTsKLQllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+cG9y dDsKKwllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZS5wb3J0 OwogCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewogCQlzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciA9ICZkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2U7CkBAIC0zMTk3 LDcgKzMxOTcsNyBAQCB1aW50OF90CiBpbnRlbF9kcF9wcmVfZW1waGFzaXNfbWF4KHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQ4X3Qgdm9sdGFnZV9zd2luZykKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9k cCkpOwotCWVudW0gcG9ydCBwb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0Owor CWVudW0gcG9ydCBwb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNlLnBvcnQ7CiAK IAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CiAJCXN3aXRjaCAodm9sdGFnZV9zd2lu ZyAmIERQX1RSQUlOX1ZPTFRBR0VfU1dJTkdfTUFTSykgewpAQCAtMzUzMSw3ICszNTMxLDcgQEAg dm9pZAogaW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3Rv X2RpZ19wb3J0KGludGVsX2RwKTsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5w b3J0OworCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXVpbnQzMl90 IHNpZ25hbF9sZXZlbHMsIG1hc2sgPSAwOwpAQCAtMzU5MSw3ICszNTkxLDcgQEAgdm9pZCBpbnRl bF9kcF9zZXRfaWRsZV9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChp bnRlbF9kcCk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNl LmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0OworCWVudW0gcG9y dCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKIAl1aW50MzJfdCB2YWw7CiAKIAlp ZiAoIUhBU19EREkoZGV2X3ByaXYpKQpAQCAtNDQ5MCw3ICs0NDkwLDcgQEAgc3RhdGljIGJvb2wg aWJ4X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogewogCXUzMiBiaXQ7CiAKLQlzd2l0Y2ggKHBvcnQtPnBvcnQpIHsKKwlzd2l0Y2ggKHBv cnQtPmJhc2UucG9ydCkgewogCWNhc2UgUE9SVF9COgogCQliaXQgPSBTREVfUE9SVEJfSE9UUExV RzsKIAkJYnJlYWs7CkBAIC00NTAxLDcgKzQ1MDEsNyBAQCBzdGF0aWMgYm9vbCBpYnhfZGlnaXRh bF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWJp dCA9IFNERV9QT1JURF9IT1RQTFVHOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlNSVNTSU5HX0NB U0UocG9ydC0+cG9ydCk7CisJCU1JU1NJTkdfQ0FTRShwb3J0LT5iYXNlLnBvcnQpOwogCQlyZXR1 cm4gZmFsc2U7CiAJfQogCkBAIC00NTEzLDcgKzQ1MTMsNyBAQCBzdGF0aWMgYm9vbCBjcHRfZGln aXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB7 CiAJdTMyIGJpdDsKIAotCXN3aXRjaCAocG9ydC0+cG9ydCkgeworCXN3aXRjaCAocG9ydC0+YmFz ZS5wb3J0KSB7CiAJY2FzZSBQT1JUX0I6CiAJCWJpdCA9IFNERV9QT1JUQl9IT1RQTFVHX0NQVDsK IAkJYnJlYWs7CkBAIC00NTI0LDcgKzQ1MjQsNyBAQCBzdGF0aWMgYm9vbCBjcHRfZGlnaXRhbF9w b3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWJpdCA9 IFNERV9QT1JURF9IT1RQTFVHX0NQVDsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJTUlTU0lOR19D QVNFKHBvcnQtPnBvcnQpOworCQlNSVNTSU5HX0NBU0UocG9ydC0+YmFzZS5wb3J0KTsKIAkJcmV0 dXJuIGZhbHNlOwogCX0KIApAQCAtNDUzNiw3ICs0NTM2LDcgQEAgc3RhdGljIGJvb2wgc3B0X2Rp Z2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAog ewogCXUzMiBiaXQ7CiAKLQlzd2l0Y2ggKHBvcnQtPnBvcnQpIHsKKwlzd2l0Y2ggKHBvcnQtPmJh c2UucG9ydCkgewogCWNhc2UgUE9SVF9BOgogCQliaXQgPSBTREVfUE9SVEFfSE9UUExVR19TUFQ7 CiAJCWJyZWFrOwpAQCAtNDU1NSw3ICs0NTU1LDcgQEAgc3RhdGljIGJvb2wgZzR4X2RpZ2l0YWxf cG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogewogCXUz MiBiaXQ7CiAKLQlzd2l0Y2ggKHBvcnQtPnBvcnQpIHsKKwlzd2l0Y2ggKHBvcnQtPmJhc2UucG9y dCkgewogCWNhc2UgUE9SVF9COgogCQliaXQgPSBQT1JUQl9IT1RQTFVHX0xJVkVfU1RBVFVTX0c0 WDsKIAkJYnJlYWs7CkBAIC00NTY2LDcgKzQ1NjYsNyBAQCBzdGF0aWMgYm9vbCBnNHhfZGlnaXRh bF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWJp dCA9IFBPUlREX0hPVFBMVUdfTElWRV9TVEFUVVNfRzRYOwogCQlicmVhazsKIAlkZWZhdWx0Ogot CQlNSVNTSU5HX0NBU0UocG9ydC0+cG9ydCk7CisJCU1JU1NJTkdfQ0FTRShwb3J0LT5iYXNlLnBv cnQpOwogCQlyZXR1cm4gZmFsc2U7CiAJfQogCkBAIC00NTc4LDcgKzQ1NzgsNyBAQCBzdGF0aWMg Ym9vbCBnbTQ1X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogewogCXUzMiBiaXQ7CiAKLQlzd2l0Y2ggKHBvcnQtPnBvcnQpIHsKKwlzd2l0 Y2ggKHBvcnQtPmJhc2UucG9ydCkgewogCWNhc2UgUE9SVF9COgogCQliaXQgPSBQT1JUQl9IT1RQ TFVHX0xJVkVfU1RBVFVTX0dNNDU7CiAJCWJyZWFrOwpAQCAtNDU4OSw3ICs0NTg5LDcgQEAgc3Rh dGljIGJvb2wgZ200NV9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIAkJYml0ID0gUE9SVERfSE9UUExVR19MSVZFX1NUQVRVU19HTTQ1Owog CQlicmVhazsKIAlkZWZhdWx0OgotCQlNSVNTSU5HX0NBU0UocG9ydC0+cG9ydCk7CisJCU1JU1NJ TkdfQ0FTRShwb3J0LT5iYXNlLnBvcnQpOwogCQlyZXR1cm4gZmFsc2U7CiAJfQogCkBAIC00NTk5 LDcgKzQ1OTksNyBAQCBzdGF0aWMgYm9vbCBnbTQ1X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogc3RhdGljIGJvb2wgaWxrX2RpZ2l0YWxf cG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQogewotCWlmIChwb3J0LT5wb3J0 ID09IFBPUlRfQSkKKwlpZiAocG9ydC0+YmFzZS5wb3J0ID09IFBPUlRfQSkKIAkJcmV0dXJuIEk5 MTVfUkVBRChERUlTUikgJiBERV9EUF9BX0hPVFBMVUc7CiAJZWxzZQogCQlyZXR1cm4gaWJ4X2Rp Z2l0YWxfcG9ydF9jb25uZWN0ZWQoZGV2X3ByaXYsIHBvcnQpOwpAQCAtNDYwOCw3ICs0NjA4LDcg QEAgc3RhdGljIGJvb2wgaWxrX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogc3RhdGljIGJvb2wgc25iX2RpZ2l0YWxfcG9ydF9jb25uZWN0 ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KQogewotCWlmIChwb3J0LT5wb3J0ID09IFBPUlRfQSkK KwlpZiAocG9ydC0+YmFzZS5wb3J0ID09IFBPUlRfQSkKIAkJcmV0dXJuIEk5MTVfUkVBRChERUlT UikgJiBERV9EUF9BX0hPVFBMVUc7CiAJZWxzZQogCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9ydF9j b25uZWN0ZWQoZGV2X3ByaXYsIHBvcnQpOwpAQCAtNDYxNyw3ICs0NjE3LDcgQEAgc3RhdGljIGJv b2wgc25iX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogc3RhdGljIGJvb2wgaXZiX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICpwb3J0KQogewotCWlmIChwb3J0LT5wb3J0ID09IFBPUlRfQSkKKwlpZiAocG9ydC0+ YmFzZS5wb3J0ID09IFBPUlRfQSkKIAkJcmV0dXJuIEk5MTVfUkVBRChERUlTUikgJiBERV9EUF9B X0hPVFBMVUdfSVZCOwogCWVsc2UKIAkJcmV0dXJuIGNwdF9kaWdpdGFsX3BvcnRfY29ubmVjdGVk KGRldl9wcml2LCBwb3J0KTsKQEAgLTQ2MjYsNyArNDYyNiw3IEBAIHN0YXRpYyBib29sIGl2Yl9k aWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IHN0YXRpYyBib29sIGJkd19kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKIAkJCQkgICAgICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq cG9ydCkKIHsKLQlpZiAocG9ydC0+cG9ydCA9PSBQT1JUX0EpCisJaWYgKHBvcnQtPmJhc2UucG9y dCA9PSBQT1JUX0EpCiAJCXJldHVybiBJOTE1X1JFQUQoR0VOOF9ERV9QT1JUX0lTUikgJiBHRU44 X1BPUlRfRFBfQV9IT1RQTFVHOwogCWVsc2UKIAkJcmV0dXJuIGNwdF9kaWdpdGFsX3BvcnRfY29u bmVjdGVkKGRldl9wcml2LCBwb3J0KTsKQEAgLTUxMDksMTIgKzUxMDksMTIgQEAgaW50ZWxfZHBf aHBkX3B1bHNlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBib29s IGxvbmdfaHBkKQogCQkgKiAidmRkIG9mZiAtPiBsb25nIGhwZCAtPiB2ZGQgb24gLT4gZGV0ZWN0 IC0+IHZkZCBvZmYgLT4gLi4uIgogCQkgKi8KIAkJRFJNX0RFQlVHX0tNUygiaWdub3JpbmcgbG9u ZyBocGQgb24gZURQIHBvcnQgJWNcbiIsCi0JCQkgICAgICBwb3J0X25hbWUoaW50ZWxfZGlnX3Bv cnQtPnBvcnQpKTsKKwkJCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0 KSk7CiAJCXJldHVybiBJUlFfSEFORExFRDsKIAl9CiAKIAlEUk1fREVCVUdfS01TKCJnb3QgaHBk IGlycSBvbiBwb3J0ICVjIC0gJXNcbiIsCi0JCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9y dC0+cG9ydCksCisJCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KSwK IAkJICAgICAgbG9uZ19ocGQgPyAibG9uZyIgOiAic2hvcnQiKTsKIAogCWlmIChsb25nX2hwZCkg ewpAQCAtNTM2NCw3ICs1MzY0LDcgQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5j ZXJfcmVnaXN0ZXJzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJdTMyIHBwX29uLCBwcF9vZmYs IHBwX2RpdiwgcG9ydF9zZWwgPSAwOwogCWludCBkaXYgPSBkZXZfcHJpdi0+cmF3Y2xrX2ZyZXEg LyAxMDAwOwogCXN0cnVjdCBwcHNfcmVnaXN0ZXJzIHJlZ3M7Ci0JZW51bSBwb3J0IHBvcnQgPSBk cF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7CisJZW51bSBwb3J0IHBvcnQgPSBkcF90b19k aWdfcG9ydChpbnRlbF9kcCktPmJhc2UucG9ydDsKIAljb25zdCBzdHJ1Y3QgZWRwX3Bvd2VyX3Nl cSAqc2VxID0gJmludGVsX2RwLT5wcHNfZGVsYXlzOwogCiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgm ZGV2X3ByaXYtPnBwc19tdXRleCk7CkBAIC01OTY0LDkgKzU5NjQsOSBAQCBpbnRlbF9kcF9pbml0 X2Nvbm5lY3Rvcl9wb3J0X2luZm8oc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQpCiAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZGlnX3BvcnQt PmJhc2U7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9ICZpbnRlbF9kaWdfcG9ydC0+ZHA7 CiAKLQllbmNvZGVyLT5ocGRfcGluID0gaW50ZWxfaHBkX3BpbihpbnRlbF9kaWdfcG9ydC0+cG9y dCk7CisJZW5jb2Rlci0+aHBkX3BpbiA9IGludGVsX2hwZF9waW4oZW5jb2Rlci0+cG9ydCk7CiAK LQlzd2l0Y2ggKGludGVsX2RpZ19wb3J0LT5wb3J0KSB7CisJc3dpdGNoIChlbmNvZGVyLT5wb3J0 KSB7CiAJY2FzZSBQT1JUX0E6CiAJCWludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluID0gUE9XRVJf RE9NQUlOX0FVWF9BOwogCQlicmVhazsKQEAgLTU5ODQsNyArNTk4NCw3IEBAIGludGVsX2RwX2lu aXRfY29ubmVjdG9yX3BvcnRfaW5mbyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydCkKIAkJaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4gPSBQT1dFUl9ET01BSU5fQVVY X0Q7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCU1JU1NJTkdfQ0FTRShpbnRlbF9kaWdfcG9ydC0+ cG9ydCk7CisJCU1JU1NJTkdfQ0FTRShlbmNvZGVyLT5wb3J0KTsKIAl9CiB9CiAKQEAgLTYwMjAs NyArNjAyMCw3IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmludGVsX2RpZ19wb3J0LAogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNv ZGVyID0gJmludGVsX2RpZ19wb3J0LT5iYXNlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBp bnRlbF9lbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGRldik7Ci0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+cG9y dDsKKwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2VuY29kZXItPnBvcnQ7CiAJaW50IHR5cGU7CiAK IAkvKiBJbml0aWFsaXplIHRoZSB3b3JrIGZvciBtb2Rlc2V0IGluIGNhc2Ugb2YgbGluayB0cmFp biBmYWlsdXJlICovCkBAIC02MTkwLDcgKzYxOTAsNiBAQCBib29sIGludGVsX2RwX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlpbnRlbF9lbmNvZGVyLT5kaXNhYmxl ID0gZzR4X2Rpc2FibGVfZHA7CiAJfQogCi0JaW50ZWxfZGlnX3BvcnQtPnBvcnQgPSBwb3J0Owog CWludGVsX2RpZ19wb3J0LT5kcC5vdXRwdXRfcmVnID0gb3V0cHV0X3JlZzsKIAlpbnRlbF9kaWdf cG9ydC0+bWF4X2xhbmVzID0gNDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwppbmRl eCA2NTNjYTM5Nzg5YjguLmMzZGUwOTE4ZWUxMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHBfbXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bXN0LmMKQEAgLTIwOSw3ICsyMDksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfcHJlX2VuYWJs ZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGludGVsX21zdC0+cHJpbWFyeTsKIAlzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQllbnVtIHBv cnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0OworCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxf ZGlnX3BvcnQtPmJhc2UucG9ydDsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ig PQogCQl0b19pbnRlbF9jb25uZWN0b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKIAlpbnQgcmV0 OwpAQCAtMjUzLDcgKzI1Myw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9lbmFibGVfZHAoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQgPSBpbnRlbF9tc3QtPnByaW1hcnk7CiAJc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCA9ICZpbnRlbF9kaWdfcG9ydC0+ZHA7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0JZW51bSBwb3J0IHBvcnQg PSBpbnRlbF9kaWdfcG9ydC0+cG9ydDsKKwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0 LT5iYXNlLnBvcnQ7CiAJaW50IHJldDsKIAogCURSTV9ERUJVR19LTVMoImFjdGl2ZSBsaW5rcyAl ZFxuIiwgaW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MpOwpAQCAtNTUyLDcgKzU1Miw3IEBAIGlu dGVsX2RwX2NyZWF0ZV9mYWtlX21zdF9lbmNvZGVyKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0LCBlbnVtCiAKIAlpbnRlbF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VU UFVUX0RQX01TVDsKIAlpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4gPSBpbnRlbF9kaWdfcG9y dC0+YmFzZS5wb3dlcl9kb21haW47Ci0JaW50ZWxfZW5jb2Rlci0+cG9ydCA9IGludGVsX2RpZ19w b3J0LT5wb3J0OworCWludGVsX2VuY29kZXItPnBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5w b3J0OwogCWludGVsX2VuY29kZXItPmNydGNfbWFzayA9IDB4NzsKIAlpbnRlbF9lbmNvZGVyLT5j bG9uZWFibGUgPSAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cGlvX3BoeS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBpb19waHkuYwppbmRleCA1 OTU4ZDNkOGI5MGUuLjc2NDczZTk4MzZjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBpb19waHkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGlv X3BoeS5jCkBAIC01ODYsOSArNTg2LDggQEAgYnh0X2RkaV9waHlfY2FsY19sYW5lX2xhdF9vcHRp bV9tYXNrKHVpbnQ4X3QgbGFuZV9jb3VudCkKIHZvaWQgYnh0X2RkaV9waHlfc2V0X2xhbmVfb3B0 aW1fbWFzayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICAgIHVpbnQ4X3Qg bGFuZV9sYXRfb3B0aW1fbWFzaykKIHsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9y dCA9IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7Ci0Jc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkcG9ydC0+YmFzZS5iYXNlLmRldik7Ci0JZW51bSBw b3J0IHBvcnQgPSBkcG9ydC0+cG9ydDsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKKwllbnVtIHBvcnQgcG9ydCA9IGVuY29k ZXItPnBvcnQ7CiAJZW51bSBkcGlvX3BoeSBwaHk7CiAJZW51bSBkcGlvX2NoYW5uZWwgY2g7CiAJ aW50IGxhbmU7CkBAIC02MTMsOSArNjEyLDggQEAgdm9pZCBieHRfZGRpX3BoeV9zZXRfbGFuZV9v cHRpbV9tYXNrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogdWludDhfdAogYnh0X2Rk aV9waHlfZ2V0X2xhbmVfbGF0X29wdGltX21hc2soc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpCiB7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQgPSBlbmNfdG9fZGlnX3Bv cnQoJmVuY29kZXItPmJhc2UpOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZHBvcnQtPmJhc2UuYmFzZS5kZXYpOwotCWVudW0gcG9ydCBwb3J0ID0gZHBvcnQt PnBvcnQ7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNv ZGVyLT5iYXNlLmRldik7CisJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0OwogCWVudW0g ZHBpb19waHkgcGh5OwogCWVudW0gZHBpb19jaGFubmVsIGNoOwogCWludCBsYW5lOwpAQCAtNjQx LDcgKzYzOSw3IEBAIHZvaWQgY2h2X3NldF9waHlfc2lnbmFsX2xldmVsKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmRwb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZHBvcnQtPmJhc2UuYmFzZS5jcnRjKTsK KwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+ YmFzZS5jcnRjKTsKIAllbnVtIGRwaW9fY2hhbm5lbCBjaCA9IHZsdl9kcG9ydF90b19jaGFubmVs KGRwb3J0KTsKIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAJdTMyIHZhbDsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMDBiNDg4Njg4MDQyLi5hMGE1Y2VhZDg2OGMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0xMDU2LDcgKzEwNTYsNiBAQCBzdHJ1Y3Qg aW50ZWxfbHNwY29uIHsKIAogc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCB7CiAJc3RydWN0IGlu dGVsX2VuY29kZXIgYmFzZTsKLQllbnVtIHBvcnQgcG9ydDsKIAl1MzIgc2F2ZWRfcG9ydF9iaXRz OwogCXN0cnVjdCBpbnRlbF9kcCBkcDsKIAlzdHJ1Y3QgaW50ZWxfaGRtaSBoZG1pOwpAQCAtMTA4 OCw3ICsxMDg3LDcgQEAgc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyIHsKIHN0YXRpYyBpbmxp bmUgZW51bSBkcGlvX2NoYW5uZWwKIHZsdl9kcG9ydF90b19jaGFubmVsKHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmRwb3J0KQogewotCXN3aXRjaCAoZHBvcnQtPnBvcnQpIHsKKwlzd2l0Y2gg KGRwb3J0LT5iYXNlLnBvcnQpIHsKIAljYXNlIFBPUlRfQjoKIAljYXNlIFBPUlRfRDoKIAkJcmV0 dXJuIERQSU9fQ0gwOwpAQCAtMTEwMiw3ICsxMTAxLDcgQEAgdmx2X2Rwb3J0X3RvX2NoYW5uZWwo c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQpCiBzdGF0aWMgaW5saW5lIGVudW0gZHBp b19waHkKIHZsdl9kcG9ydF90b19waHkoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQp CiB7Ci0Jc3dpdGNoIChkcG9ydC0+cG9ydCkgeworCXN3aXRjaCAoZHBvcnQtPmJhc2UucG9ydCkg ewogCWNhc2UgUE9SVF9COgogCWNhc2UgUE9SVF9DOgogCQlyZXR1cm4gRFBJT19QSFkwOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IDFmMjI1OGRlYzA5ZS4uMmQ5NWRiNjRjZGYyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIGJv b2wgZzR4X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlp ZiAoKHZhbCAmIFZJREVPX0RJUF9FTkFCTEUpID09IDApCiAJCXJldHVybiBmYWxzZTsKIAotCWlm ICgodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgIT0gVklERU9fRElQX1BPUlQoaW50ZWxfZGln X3BvcnQtPnBvcnQpKQorCWlmICgodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgIT0gVklERU9f RElQX1BPUlQoaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydCkpCiAJCXJldHVybiBmYWxzZTsKIAog CXJldHVybiB2YWwgJiAoVklERU9fRElQX0VOQUJMRV9BVkkgfApAQCAtMjQ1LDcgKzI0NSw3IEBA IHN0YXRpYyBib29sIGlieF9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCiAJaWYgKCh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSA9PSAwKQogCQlyZXR1cm4gZmFs c2U7CiAKLQlpZiAoKHZhbCAmIFZJREVPX0RJUF9QT1JUX01BU0spICE9IFZJREVPX0RJUF9QT1JU KGludGVsX2RpZ19wb3J0LT5wb3J0KSkKKwlpZiAoKHZhbCAmIFZJREVPX0RJUF9QT1JUX01BU0sp ICE9IFZJREVPX0RJUF9QT1JUKGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQpKQogCQlyZXR1cm4g ZmFsc2U7CiAKIAlyZXR1cm4gdmFsICYgKFZJREVPX0RJUF9FTkFCTEVfQVZJIHwKQEAgLTM2Miw3 ICszNjIsNyBAQCBzdGF0aWMgYm9vbCB2bHZfaW5mb2ZyYW1lX2VuYWJsZWQoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAogCWlmICgodmFsICYgVklERU9fRElQX0VOQUJMRSkgPT0gMCkKIAkJ cmV0dXJuIGZhbHNlOwogCi0JaWYgKCh2YWwgJiBWSURFT19ESVBfUE9SVF9NQVNLKSAhPSBWSURF T19ESVBfUE9SVChpbnRlbF9kaWdfcG9ydC0+cG9ydCkpCisJaWYgKCh2YWwgJiBWSURFT19ESVBf UE9SVF9NQVNLKSAhPSBWSURFT19ESVBfUE9SVChpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KSkK IAkJcmV0dXJuIGZhbHNlOwogCiAJcmV0dXJuIHZhbCAmIChWSURFT19ESVBfRU5BQkxFX0FWSSB8 CkBAIC01MzUsNyArNTM1LDcgQEAgc3RhdGljIHZvaWQgZzR4X3NldF9pbmZvZnJhbWVzKHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9 ICZpbnRlbF9kaWdfcG9ydC0+aGRtaTsKIAlpOTE1X3JlZ190IHJlZyA9IFZJREVPX0RJUF9DVEw7 CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwotCXUzMiBwb3J0ID0gVklERU9fRElQX1BPUlQo aW50ZWxfZGlnX3BvcnQtPnBvcnQpOworCXUzMiBwb3J0ID0gVklERU9fRElQX1BPUlQoaW50ZWxf ZGlnX3BvcnQtPmJhc2UucG9ydCk7CiAKIAlhc3NlcnRfaGRtaV9wb3J0X2Rpc2FibGVkKGludGVs X2hkbWkpOwogCkBAIC02ODYsNyArNjg2LDcgQEAgc3RhdGljIHZvaWQgaWJ4X3NldF9pbmZvZnJh bWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50 ZWxfaGRtaSA9ICZpbnRlbF9kaWdfcG9ydC0+aGRtaTsKIAlpOTE1X3JlZ190IHJlZyA9IFRWSURF T19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwogCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsK LQl1MzIgcG9ydCA9IFZJREVPX0RJUF9QT1JUKGludGVsX2RpZ19wb3J0LT5wb3J0KTsKKwl1MzIg cG9ydCA9IFZJREVPX0RJUF9QT1JUKGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQpOwogCiAJYXNz ZXJ0X2hkbWlfcG9ydF9kaXNhYmxlZChpbnRlbF9oZG1pKTsKIApAQCAtNzgyLDcgKzc4Miw3IEBA IHN0YXRpYyB2b2lkIHZsdl9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCiAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShl bmNvZGVyKTsKIAlpOTE1X3JlZ190IHJlZyA9IFZMVl9UVklERU9fRElQX0NUTChpbnRlbF9jcnRj LT5waXBlKTsKIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7Ci0JdTMyIHBvcnQgPSBWSURFT19E SVBfUE9SVChpbnRlbF9kaWdfcG9ydC0+cG9ydCk7CisJdTMyIHBvcnQgPSBWSURFT19ESVBfUE9S VChpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KTsKIAogCWFzc2VydF9oZG1pX3BvcnRfZGlzYWJs ZWQoaW50ZWxfaGRtaSk7CiAKQEAgLTE1NDUsNyArMTU0NSw3IEBAIGludGVsX2hkbWlfZHBfZHVh bF9tb2RlX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGhhc19l ZGlkKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29u bmVjdG9yLT5kZXYpOwogCXN0cnVjdCBpbnRlbF9oZG1pICpoZG1pID0gaW50ZWxfYXR0YWNoZWRf aGRtaShjb25uZWN0b3IpOwotCWVudW0gcG9ydCBwb3J0ID0gaGRtaV90b19kaWdfcG9ydChoZG1p KS0+cG9ydDsKKwllbnVtIHBvcnQgcG9ydCA9IGhkbWlfdG9fZGlnX3BvcnQoaGRtaSktPmJhc2Uu cG9ydDsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPQogCQlpbnRlbF9nbWJ1c19nZXRf YWRhcHRlcihkZXZfcHJpdiwgaGRtaS0+ZGRjX2J1cyk7CiAJZW51bSBkcm1fZHBfZHVhbF9tb2Rl X3R5cGUgdHlwZSA9IGRybV9kcF9kdWFsX21vZGVfZGV0ZWN0KGFkYXB0ZXIpOwpAQCAtMjAxNSw3 ICsyMDE1LDcgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRl bF9lbmNvZGVyID0gJmludGVsX2RpZ19wb3J0LT5iYXNlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBpbnRlbF9lbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9y dC0+cG9ydDsKKwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2VuY29kZXItPnBvcnQ7CiAKIAlEUk1f REVCVUdfS01TKCJBZGRpbmcgSERNSSBjb25uZWN0b3Igb24gcG9ydCAlY1xuIiwKIAkJICAgICAg cG9ydF9uYW1lKHBvcnQpKTsKQEAgLTIxMzUsNyArMjEzNSw2IEBAIHZvaWQgaW50ZWxfaGRtaV9p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlpZiAoSVNfRzRYKGRldl9w cml2KSkKIAkJaW50ZWxfZW5jb2Rlci0+Y2xvbmVhYmxlIHw9IDEgPDwgSU5URUxfT1VUUFVUX0hE TUk7CiAKLQlpbnRlbF9kaWdfcG9ydC0+cG9ydCA9IHBvcnQ7CiAJaW50ZWxfZGlnX3BvcnQtPmhk bWkuaGRtaV9yZWcgPSBoZG1pX3JlZzsKIAlpbnRlbF9kaWdfcG9ydC0+ZHAub3V0cHV0X3JlZyA9 IElOVkFMSURfTU1JT19SRUc7CiAJaW50ZWxfZGlnX3BvcnQtPm1heF9sYW5lcyA9IDQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYwppbmRleCA4OTk4MzlmMmY3YzYuLjYxNjQxZDQ3 OWI5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCkBAIC0yNjksNyArMjY5 LDcgQEAgc3RhdGljIGludCBpOXh4X3BpcGVfY3JjX2F1dG9fc291cmNlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAkJY2FzZSBJTlRFTF9PVVRQVVRfRFA6CiAJCWNhc2UgSU5U RUxfT1VUUFVUX0VEUDoKIAkJCWRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5i YXNlKTsKLQkJCXN3aXRjaCAoZGlnX3BvcnQtPnBvcnQpIHsKKwkJCXN3aXRjaCAoZGlnX3BvcnQt PmJhc2UucG9ydCkgewogCQkJY2FzZSBQT1JUX0I6CiAJCQkJKnNvdXJjZSA9IElOVEVMX1BJUEVf Q1JDX1NPVVJDRV9EUF9COwogCQkJCWJyZWFrOwpAQCAtMjgxLDcgKzI4MSw3IEBAIHN0YXRpYyBp bnQgaTl4eF9waXBlX2NyY19hdXRvX3NvdXJjZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAJCQkJYnJlYWs7CiAJCQlkZWZhdWx0OgogCQkJCVdBUk4oMSwgIm5vbmV4aXN0aW5n IERQIHBvcnQgJWNcbiIsCi0JCQkJICAgICBwb3J0X25hbWUoZGlnX3BvcnQtPnBvcnQpKTsKKwkJ CQkgICAgIHBvcnRfbmFtZShkaWdfcG9ydC0+YmFzZS5wb3J0KSk7CiAJCQkJYnJlYWs7CiAJCQl9 CiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKaW5kZXggNmUzYjQzMGZjY2RjLi5h MWFkODVmYTVjMWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCkBAIC0xNjMsNyArMTYzLDcg QEAgc3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFibGVfc2luayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQogCQlbM10gPSAxIC0gMSwKIAkJWzRdID0gRFBfU0VUX1BPV0VSX0QwLAogCX07Ci0JZW51 bSBwb3J0IHBvcnQgPSBkaWdfcG9ydC0+cG9ydDsKKwllbnVtIHBvcnQgcG9ydCA9IGRpZ19wb3J0 LT5iYXNlLnBvcnQ7CiAJdTMyIGF1eF9jdGw7CiAJaW50IGk7CiAKQEAgLTM3Niw3ICszNzYsNyBA QCB2b2lkIGludGVsX3Bzcl9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LAogCSAqIG9uZXMuIFNpbmNlIGJ5IERpc3BsYXkgZGVzaWduIHRyYW5zY29kZXIgRURQIGlzIHRp ZWQgdG8gcG9ydCBBCiAJICogd2UgY2FuIHNhZmVseSBlc2NhcGUgYmFzZWQgb24gdGhlIHBvcnQg QS4KIAkgKi8KLQlpZiAoSEFTX0RESShkZXZfcHJpdikgJiYgZGlnX3BvcnQtPnBvcnQgIT0gUE9S VF9BKSB7CisJaWYgKEhBU19EREkoZGV2X3ByaXYpICYmIGRpZ19wb3J0LT5iYXNlLnBvcnQgIT0g UE9SVF9BKSB7CiAJCURSTV9ERUJVR19LTVMoIlBTUiBjb25kaXRpb24gZmFpbGVkOiBQb3J0IG5v dCBzdXBwb3J0ZWRcbiIpOwogCQlyZXR1cm47CiAJfQotLSAKMi4xMy42CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK