From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 08/10] drm/i915: Nuke intel_digital_port->port Date: Tue, 31 Oct 2017 22:51:21 +0200 Message-ID: <20171031205123.13123-9-ville.syrjala@linux.intel.com> References: <20171031205123.13123-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id D55F76E63D for ; Tue, 31 Oct 2017 20:51:52 +0000 (UTC) In-Reply-To: <20171031205123.13123-1-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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl bW92ZSBpbnRlbF9kaWdpdGFsX3BvcnQtPnBvcnQgYW5kIHJlcGxhY2UgaXRzIHVzZXJzIHdpdGgK aW50ZWxfZW5jb2Rlci0+cG9ydC4gaW50ZWxfZW5jb2Rlci0+cG9ydCBpcyBhIHN1cGVyc2V0IG9m CmludGVsX2RpZ2l0YWxfcG9ydC0+cG9ydCwgYW5kIGl0IHdvcmtzIGNvcnJlY3RseSBldmVuIGZv cgpNU1QgZW5jb2RlcnMuCgpQZXJmb3JtZWQgd2l0aCBjb2NjaToKQEAKQEAKc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCB7CiAgICAgICAuLi4KLSAgICAgICBlbnVtIHBvcnQgcG9ydDsKICAgICAg IC4uLgp9CgpAQApzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpEOwpleHByZXNzaW9uIEU7CkBA Ci0gRC0+cG9ydCA9IEU7CgpAQApzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpEOwpAQAotIEQt PnBvcnQKKyBELT5iYXNlLnBvcnQKCkBACmV4cHJlc3Npb24gRTsKQEAKKAotIGRwX3RvX2RpZ19w b3J0KEUpLT5wb3J0CisgZHBfdG9fZGlnX3BvcnQoRSktPmJhc2UucG9ydAp8Ci0gZW5jX3RvX2Rp Z19wb3J0KEUpLT5wb3J0CisgdG9faW50ZWxfZW5jb2RlcihFKS0+cG9ydAopCgpAQApleHByZXNz aW9uIEU7CkBACi0gdG9faW50ZWxfZW5jb2RlcigmRS0+YmFzZSkKKyBFCgpAQApzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpEOwppZGVudGlmaWVyIEksIE07CkBACiAgSSA9ICZELT5iYXNlCjwu Li4KKAotIEQtPmJhc2UuTQorIEktPk0KfAotICZELT5iYXNlCisgSQopCi4uLj4KCkBACmlkZW50 aWZpZXIgRDsKZXhwcmVzc2lvbiBFOwppZGVudGlmaWVyIE07CkBACiBEID0gZW5jX3RvX2RpZ19w b3J0KCZFLT5iYXNlKQo8Li4uCigKLSBELT5iYXNlLk0KKyBFLT5NCnwKLSAmRC0+YmFzZQorIEUK KQouLi4+CgpAQApleHByZXNzaW9uIEU7CmlkZW50aWZpZXIgTTsKQEAKKAotIGVuY190b19kaWdf cG9ydCgmRS0+YmFzZSktPmJhc2UuTQorIEUtPk0KfAotIGVuY190b19kaWdfcG9ydCgmRS0+YmFz ZSktPmJhc2UKKyBFCnwKLSBlbmNfdG9fbXN0KCZFLT5iYXNlKS0+cHJpbWFyeS0+YmFzZS5wb3J0 CisgRS0+cG9ydAopCgpAQApleHByZXNzaW9uIEU7CmlkZW50aWZpZXIgRDsKQEAKLSBzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICpEID0gRTsKLi4uIHdoZW4gIT0gRAoKU2lnbmVkLW9mZi1ieTog 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 MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDczN2RlMjUxZDBmOC4uYzc1YmNmOTg5NDU0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xNzAzLDcgKzE3MDMsNyBAQCB2b2lk IHZsdl93YWl0X3BvcnRfcmVhZHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAog CXUzMiBwb3J0X21hc2s7CiAJaTkxNV9yZWdfdCBkcGxsX3JlZzsKIAotCXN3aXRjaCAoZHBvcnQt PnBvcnQpIHsKKwlzd2l0Y2ggKGRwb3J0LT5iYXNlLnBvcnQpIHsKIAljYXNlIFBPUlRfQjoKIAkJ cG9ydF9tYXNrID0gRFBMTF9QT1JUQl9SRUFEWV9NQVNLOwogCQlkcGxsX3JlZyA9IERQTEwoMCk7 CkBAIC0xNzI1LDcgKzE3MjUsOCBAQCB2b2lkIHZsdl93YWl0X3BvcnRfcmVhZHkoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICBkcGxsX3JlZywgcG9ydF9tYXNrLCBl eHBlY3RlZF9tYXNrLAogCQkJCSAgICAxMDAwKSkKIAkJV0FSTigxLCAidGltZWQgb3V0IHdhaXRp bmcgZm9yIHBvcnQgJWMgcmVhZHk6IGdvdCAweCV4LCBleHBlY3RlZCAweCV4XG4iLAotCQkgICAg IHBvcnRfbmFtZShkcG9ydC0+cG9ydCksIEk5MTVfUkVBRChkcGxsX3JlZykgJiBwb3J0X21hc2ss IGV4cGVjdGVkX21hc2spOworCQkgICAgIHBvcnRfbmFtZShkcG9ydC0+YmFzZS5wb3J0KSwKKwkJ ICAgICBJOTE1X1JFQUQoZHBsbF9yZWcpICYgcG9ydF9tYXNrLCBleHBlY3RlZF9tYXNrKTsKIH0K IAogc3RhdGljIHZvaWQgaXJvbmxha2VfZW5hYmxlX3BjaF90cmFuc2NvZGVyKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKQEAgLTQ0ODIsNyArNDQ4Myw3IEBAIGludGVsX3RyYW5z X2RwX3BvcnRfc2VsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCWZvcl9lYWNoX2VuY29kZXJf b25fY3J0YyhkZXYsICZjcnRjLT5iYXNlLCBlbmNvZGVyKSB7CiAJCWlmIChlbmNvZGVyLT50eXBl ID09IElOVEVMX09VVFBVVF9EUCB8fAogCQkgICAgZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQ VVRfRURQKQotCQkJcmV0dXJuIGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSktPnBvcnQ7 CisJCQlyZXR1cm4gZW5jb2Rlci0+cG9ydDsKIAl9CiAKIAlyZXR1cm4gLTE7CkBAIC03NjMzLDcg Kzc2MzQsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9pbml0X3BjaF9yZWZjbGsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJYnJlYWs7CiAJCWNhc2UgSU5URUxfT1VUUFVU X0VEUDoKIAkJCWhhc19wYW5lbCA9IHRydWU7Ci0JCQlpZiAoZW5jX3RvX2RpZ19wb3J0KCZlbmNv ZGVyLT5iYXNlKS0+cG9ydCA9PSBQT1JUX0EpCisJCQlpZiAoZW5jb2Rlci0+cG9ydCA9PSBQT1JU X0EpCiAJCQkJaGFzX2NwdV9lZHAgPSB0cnVlOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CkBAIC0x MDc1Niw3ICsxMDc1Nyw3IEBAIHN0YXRpYyBib29sIGNoZWNrX2RpZ2l0YWxfcG9ydF9jb25mbGlj dHMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQljYXNlIElOVEVMX09VVFBVVF9E UDoKIAkJY2FzZSBJTlRFTF9PVVRQVVRfSERNSToKIAkJY2FzZSBJTlRFTF9PVVRQVVRfRURQOgot CQkJcG9ydF9tYXNrID0gMSA8PCBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpLT5wb3J0 OworCQkJcG9ydF9tYXNrID0gMSA8PCBlbmNvZGVyLT5wb3J0OwogCiAJCQkvKiB0aGUgc2FtZSBw b3J0IG11c3RuJ3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlICovCiAJCQlpZiAodXNlZF9wb3J0cyAm IHBvcnRfbWFzaykKQEAgLTEwNzY2LDcgKzEwNzY3LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tfZGln aXRhbF9wb3J0X2NvbmZsaWN0cyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCQli cmVhazsKIAkJY2FzZSBJTlRFTF9PVVRQVVRfRFBfTVNUOgogCQkJdXNlZF9tc3RfcG9ydHMgfD0K LQkJCQkxIDw8IGVuY190b19tc3QoJmVuY29kZXItPmJhc2UpLT5wcmltYXJ5LT5wb3J0OworCQkJ CTEgPDwgZW5jb2Rlci0+cG9ydDsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJYnJlYWs7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCAwMTUxYzhkMThiNzkuLmI4MTUzNWZkZWYxZCAxMDA2 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 IHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZS5wb3J0OwogCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFz ZS5jcnRjKTsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IgPSBpbnRl bF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rv cl9zdGF0ZSAqaW50ZWxfY29ubl9zdGF0ZSA9CkBAIC0xODU5LDcgKzE4NTksNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9kcF9wcmVwYXJlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7Ci0JZW51bSBwb3J0IHBv cnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7CisJZW51bSBwb3J0IHBvcnQgPSBk cF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2UucG9ydDsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7CiAJY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2Uu YWRqdXN0ZWRfbW9kZTsKIApAQCAtMjA3NCw3ICsyMDc0LDcgQEAgc3RhdGljIGJvb2wgZWRwX3Bh bmVsX3ZkZF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWludGVsX2Rpc3BsYXlfcG93 ZXJfZ2V0KGRldl9wcml2LCBpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbik7CiAKIAlEUk1fREVC VUdfS01TKCJUdXJuaW5nIGVEUCBwb3J0ICVjIFZERCBvblxuIiwKLQkJICAgICAgcG9ydF9uYW1l KGludGVsX2RpZ19wb3J0LT5wb3J0KSk7CisJCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9y dC0+YmFzZS5wb3J0KSk7CiAKIAlpZiAoIWVkcF9oYXZlX3BhbmVsX3Bvd2VyKGludGVsX2RwKSkK IAkJd2FpdF9wYW5lbF9wb3dlcl9jeWNsZShpbnRlbF9kcCk7CkBAIC0yMDk0LDcgKzIwOTQsNyBA QCBzdGF0aWMgYm9vbCBlZHBfcGFuZWxfdmRkX29uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp CiAJICovCiAJaWYgKCFlZHBfaGF2ZV9wYW5lbF9wb3dlcihpbnRlbF9kcCkpIHsKIAkJRFJNX0RF QlVHX0tNUygiZURQIHBvcnQgJWMgcGFuZWwgcG93ZXIgd2Fzbid0IGVuYWJsZWRcbiIsCi0JCQkg ICAgICBwb3J0X25hbWUoaW50ZWxfZGlnX3BvcnQtPnBvcnQpKTsKKwkJCSAgICAgIHBvcnRfbmFt ZShpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KSk7CiAJCW1zbGVlcChpbnRlbF9kcC0+cGFuZWxf cG93ZXJfdXBfZGVsYXkpOwogCX0KIApAQCAtMjEyMCw3ICsyMTIwLDcgQEAgdm9pZCBpbnRlbF9l ZHBfcGFuZWxfdmRkX29uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJcHBzX3VubG9jayhp bnRlbF9kcCk7CiAKIAlJOTE1X1NUQVRFX1dBUk4oIXZkZCwgImVEUCBwb3J0ICVjIFZERCBhbHJl YWR5IHJlcXVlc3RlZCBvblxuIiwKLQkgICAgIHBvcnRfbmFtZShkcF90b19kaWdfcG9ydChpbnRl bF9kcCktPnBvcnQpKTsKKwkgICAgIHBvcnRfbmFtZShkcF90b19kaWdfcG9ydChpbnRlbF9kcCkt PmJhc2UucG9ydCkpOwogfQogCiBzdGF0aWMgdm9pZCBlZHBfcGFuZWxfdmRkX29mZl9zeW5jKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCkBAIC0yMTQwLDcgKzIxNDAsNyBAQCBzdGF0aWMgdm9p ZCBlZHBfcGFuZWxfdmRkX29mZl9zeW5jKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJCXJl dHVybjsKIAogCURSTV9ERUJVR19LTVMoIlR1cm5pbmcgZURQIHBvcnQgJWMgVkREIG9mZlxuIiwK LQkJICAgICAgcG9ydF9uYW1lKGludGVsX2RpZ19wb3J0LT5wb3J0KSk7CisJCSAgICAgIHBvcnRf bmFtZShpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KSk7CiAKIAlwcCA9IGlyb25sYWtlX2dldF9w cF9jb250cm9sKGludGVsX2RwKTsKIAlwcCAmPSB+RURQX0ZPUkNFX1ZERDsKQEAgLTIyMDAsNyAr MjIwMCw3IEBAIHN0YXRpYyB2b2lkIGVkcF9wYW5lbF92ZGRfb2ZmKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsIGJvb2wgc3luYykKIAkJcmV0dXJuOwogCiAJSTkxNV9TVEFURV9XQVJOKCFpbnRl bF9kcC0+d2FudF9wYW5lbF92ZGQsICJlRFAgcG9ydCAlYyBWREQgbm90IGZvcmNlZCBvbiIsCi0J ICAgICBwb3J0X25hbWUoZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0KSk7CisJICAgICBw b3J0X25hbWUoZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNlLnBvcnQpKTsKIAogCWludGVs X2RwLT53YW50X3BhbmVsX3ZkZCA9IGZhbHNlOwogCkBAIC0yMjIzLDExICsyMjIzLDExIEBAIHN0 YXRpYyB2b2lkIGVkcF9wYW5lbF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQlyZXR1 cm47CiAKIAlEUk1fREVCVUdfS01TKCJUdXJuIGVEUCBwb3J0ICVjIHBhbmVsIHBvd2VyIG9uXG4i LAotCQkgICAgICBwb3J0X25hbWUoZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0KSk7CisJ CSAgICAgIHBvcnRfbmFtZShkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2UucG9ydCkpOwog CiAJaWYgKFdBUk4oZWRwX2hhdmVfcGFuZWxfcG93ZXIoaW50ZWxfZHApLAogCQkgImVEUCBwb3J0 ICVjIHBhbmVsIHBvd2VyIGFscmVhZHkgb25cbiIsCi0JCSBwb3J0X25hbWUoZHBfdG9fZGlnX3Bv cnQoaW50ZWxfZHApLT5wb3J0KSkpCisJCSBwb3J0X25hbWUoZHBfdG9fZGlnX3BvcnQoaW50ZWxf ZHApLT5iYXNlLnBvcnQpKSkKIAkJcmV0dXJuOwogCiAJd2FpdF9wYW5lbF9wb3dlcl9jeWNsZShp bnRlbF9kcCk7CkBAIC0yMjgyLDEwICsyMjgyLDEwIEBAIHN0YXRpYyB2b2lkIGVkcF9wYW5lbF9v ZmYoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkJcmV0dXJuOwogCiAJRFJNX0RFQlVHX0tN UygiVHVybiBlRFAgcG9ydCAlYyBwYW5lbCBwb3dlciBvZmZcbiIsCi0JCSAgICAgIHBvcnRfbmFt ZShkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQpKTsKKwkJICAgICAgcG9ydF9uYW1lKGRw X3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZS5wb3J0KSk7CiAKIAlXQVJOKCFpbnRlbF9kcC0+ d2FudF9wYW5lbF92ZGQsICJOZWVkIGVEUCBwb3J0ICVjIFZERCB0byB0dXJuIG9mZiBwYW5lbFxu IiwKLQkgICAgIHBvcnRfbmFtZShkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQpKTsKKwkg ICAgIHBvcnRfbmFtZShkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2UucG9ydCkpOwogCiAJ cHAgPSBpcm9ubGFrZV9nZXRfcHBfY29udHJvbChpbnRlbF9kcCk7CiAJLyogV2UgbmVlZCB0byBz d2l0Y2ggb2ZmIHBhbmVsIHBvd2VyIF9hbmRfIGZvcmNlIHZkZCwgZm9yIG90aGVyd2lzZSBzb21l CkBAIC0yNDM3LDcgKzI0MzcsNyBAQCBzdGF0aWMgdm9pZCBhc3NlcnRfZHBfcG9ydChzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwLCBib29sIHN0YXRlKQogCiAJSTkxNV9TVEFURV9XQVJOKGN1cl9z dGF0ZSAhPSBzdGF0ZSwKIAkJCSJEUCBwb3J0ICVjIHN0YXRlIGFzc2VydGlvbiBmYWlsdXJlIChl eHBlY3RlZCAlcywgY3VycmVudCAlcylcbiIsCi0JCQlwb3J0X25hbWUoZGlnX3BvcnQtPnBvcnQp LAorCQkJcG9ydF9uYW1lKGRpZ19wb3J0LT5iYXNlLnBvcnQpLAogCQkJb25vZmYoc3RhdGUpLCBv bm9mZihjdXJfc3RhdGUpKTsKIH0KICNkZWZpbmUgYXNzZXJ0X2RwX3BvcnRfZGlzYWJsZWQoZCkg YXNzZXJ0X2RwX3BvcnQoKGQpLCBmYWxzZSkKQEAgLTI1NzAsNyArMjU3MCw3IEBAIHN0YXRpYyBi b29sIGludGVsX2RwX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IAkJCQkgIGVudW0gcGlwZSAqcGlwZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0g ZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKLQllbnVtIHBvcnQgcG9ydCA9IGRwX3Rv X2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydDsKKwllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19w b3J0KGludGVsX2RwKS0+YmFzZS5wb3J0OwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNv ZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7CiAJdTMyIHRtcDsKQEAgLTI2MjUsNyArMjYyNSw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2RwX2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJdTMyIHRt cCwgZmxhZ3MgPSAwOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRl djsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0J ZW51bSBwb3J0IHBvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7CisJZW51bSBw b3J0IHBvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2UucG9ydDsKIAlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7 CiAKIAlpZiAoZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKQpAQCAtMjc5NCw3ICsy Nzk0LDcgQEAgX2ludGVsX2RwX3NldF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAsCiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19k aWdfcG9ydChpbnRlbF9kcCk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RpZ19w b3J0LT5iYXNlLmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0Owor CWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKIAogCWlmIChkcF90 cmFpbl9wYXQgJiBEUF9UUkFJTklOR19QQVRURVJOX01BU0spCiAJCURSTV9ERUJVR19LTVMoIlVz aW5nIERQIHRyYWluaW5nIHBhdHRlcm4gVFBTJWRcbiIsCkBAIC0yOTY5LDcgKzI5NjksNyBAQCBz dGF0aWMgdm9pZCBnNHhfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKIAkJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQogewogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29k ZXItPmJhc2UpOwotCWVudW0gcG9ydCBwb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5w b3J0OworCWVudW0gcG9ydCBwb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNlLnBv cnQ7CiAKIAlpbnRlbF9kcF9wcmVwYXJlKGVuY29kZXIsIHBpcGVfY29uZmlnKTsKIApAQCAtMzAw Miw3ICszMDAyLDcgQEAgc3RhdGljIHZvaWQgdmx2X2RldGFjaF9wb3dlcl9zZXF1ZW5jZXIoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkgKiBmcm9tIGEgcG9ydC4KIAkgKi8KIAlEUk1fREVC VUdfS01TKCJkZXRhY2hpbmcgcGlwZSAlYyBwb3dlciBzZXF1ZW5jZXIgZnJvbSBwb3J0ICVjXG4i LAotCQkgICAgICBwaXBlX25hbWUocGlwZSksIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+cG9y dCkpOworCQkgICAgICBwaXBlX25hbWUocGlwZSksIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+ YmFzZS5wb3J0KSk7CiAJSTkxNV9XUklURShwcF9vbl9yZWcsIDApOwogCVBPU1RJTkdfUkVBRChw cF9vbl9yZWcpOwogCkBAIC0zMDI2LDcgKzMwMjYsNyBAQCBzdGF0aWMgdm9pZCB2bHZfc3RlYWxf cG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQljb250aW51ZTsKIAog CQlpbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7Ci0JCXBvcnQgPSBk cF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7CisJCXBvcnQgPSBkcF90b19kaWdfcG9ydChp bnRlbF9kcCktPmJhc2UucG9ydDsKIAogCQlXQVJOKGludGVsX2RwLT5hY3RpdmVfcGlwZSA9PSBw aXBlLAogCQkgICAgICJzdGVhbGluZyBwaXBlICVjIHBvd2VyIHNlcXVlbmNlciBmcm9tIGFjdGl2 ZSAoZSlEUCBwb3J0ICVjXG4iLApAQCAtMzE3OCw3ICszMTc4LDcgQEAgdWludDhfdAogaW50ZWxf ZHBfdm9sdGFnZV9tYXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9k cCkpOwotCWVudW0gcG9ydCBwb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5wb3J0Owor CWVudW0gcG9ydCBwb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNlLnBvcnQ7CiAK IAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CiAJCXN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyID0gJmRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+YmFzZTsKQEAgLTMxOTcsNyAr MzE5Nyw3IEBAIHVpbnQ4X3QKIGludGVsX2RwX3ByZV9lbXBoYXNpc19tYXgoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwgdWludDhfdCB2b2x0YWdlX3N3aW5nKQogewogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7 Ci0JZW51bSBwb3J0IHBvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7CisJZW51 bSBwb3J0IHBvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2UucG9ydDsKIAogCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKIAkJc3dpdGNoICh2b2x0YWdlX3N3aW5nICYg RFBfVFJBSU5fVk9MVEFHRV9TV0lOR19NQVNLKSB7CkBAIC0zNTMxLDcgKzM1MzEsNyBAQCB2b2lk CiBpbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVscyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog ewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGln X3BvcnQoaW50ZWxfZHApOwotCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7 CisJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0OwogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJdWludDMyX3Qgc2ln bmFsX2xldmVscywgbWFzayA9IDA7CkBAIC0zNTkxLDcgKzM1OTEsNyBAQCB2b2lkIGludGVsX2Rw X3NldF9pZGxlX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVs X2RwKTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFz ZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OwotCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7CisJZW51bSBwb3J0IHBv cnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0OwogCXVpbnQzMl90IHZhbDsKIAogCWlmICgh SEFTX0RESShkZXZfcHJpdikpCkBAIC00NDkwLDcgKzQ0OTAsNyBAQCBzdGF0aWMgYm9vbCBpYnhf ZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiB7CiAJdTMyIGJpdDsKIAotCXN3aXRjaCAocG9ydC0+cG9ydCkgeworCXN3aXRjaCAocG9ydC0+ YmFzZS5wb3J0KSB7CiAJY2FzZSBQT1JUX0I6CiAJCWJpdCA9IFNERV9QT1JUQl9IT1RQTFVHOwog CQlicmVhazsKQEAgLTQ1MDEsNyArNDUwMSw3IEBAIHN0YXRpYyBib29sIGlieF9kaWdpdGFsX3Bv cnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJYml0ID0g U0RFX1BPUlREX0hPVFBMVUc7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCU1JU1NJTkdfQ0FTRShw b3J0LT5wb3J0KTsKKwkJTUlTU0lOR19DQVNFKHBvcnQtPmJhc2UucG9ydCk7CiAJCXJldHVybiBm YWxzZTsKIAl9CiAKQEAgLTQ1MTMsNyArNDUxMyw3IEBAIHN0YXRpYyBib29sIGNwdF9kaWdpdGFs X3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHsKIAl1 MzIgYml0OwogCi0Jc3dpdGNoIChwb3J0LT5wb3J0KSB7CisJc3dpdGNoIChwb3J0LT5iYXNlLnBv cnQpIHsKIAljYXNlIFBPUlRfQjoKIAkJYml0ID0gU0RFX1BPUlRCX0hPVFBMVUdfQ1BUOwogCQli cmVhazsKQEAgLTQ1MjQsNyArNDUyNCw3IEBAIHN0YXRpYyBib29sIGNwdF9kaWdpdGFsX3BvcnRf Y29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJYml0ID0gU0RF X1BPUlREX0hPVFBMVUdfQ1BUOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlNSVNTSU5HX0NBU0Uo cG9ydC0+cG9ydCk7CisJCU1JU1NJTkdfQ0FTRShwb3J0LT5iYXNlLnBvcnQpOwogCQlyZXR1cm4g ZmFsc2U7CiAJfQogCkBAIC00NTM2LDcgKzQ1MzYsNyBAQCBzdGF0aWMgYm9vbCBzcHRfZGlnaXRh bF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB7CiAJ dTMyIGJpdDsKIAotCXN3aXRjaCAocG9ydC0+cG9ydCkgeworCXN3aXRjaCAocG9ydC0+YmFzZS5w b3J0KSB7CiAJY2FzZSBQT1JUX0E6CiAJCWJpdCA9IFNERV9QT1JUQV9IT1RQTFVHX1NQVDsKIAkJ YnJlYWs7CkBAIC00NTU1LDcgKzQ1NTUsNyBAQCBzdGF0aWMgYm9vbCBnNHhfZGlnaXRhbF9wb3J0 X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB7CiAJdTMyIGJp dDsKIAotCXN3aXRjaCAocG9ydC0+cG9ydCkgeworCXN3aXRjaCAocG9ydC0+YmFzZS5wb3J0KSB7 CiAJY2FzZSBQT1JUX0I6CiAJCWJpdCA9IFBPUlRCX0hPVFBMVUdfTElWRV9TVEFUVVNfRzRYOwog CQlicmVhazsKQEAgLTQ1NjYsNyArNDU2Niw3IEBAIHN0YXRpYyBib29sIGc0eF9kaWdpdGFsX3Bv cnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJYml0ID0g UE9SVERfSE9UUExVR19MSVZFX1NUQVRVU19HNFg7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCU1J U1NJTkdfQ0FTRShwb3J0LT5wb3J0KTsKKwkJTUlTU0lOR19DQVNFKHBvcnQtPmJhc2UucG9ydCk7 CiAJCXJldHVybiBmYWxzZTsKIAl9CiAKQEAgLTQ1NzgsNyArNDU3OCw3IEBAIHN0YXRpYyBib29s IGdtNDVfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiB7CiAJdTMyIGJpdDsKIAotCXN3aXRjaCAocG9ydC0+cG9ydCkgeworCXN3aXRjaCAo cG9ydC0+YmFzZS5wb3J0KSB7CiAJY2FzZSBQT1JUX0I6CiAJCWJpdCA9IFBPUlRCX0hPVFBMVUdf TElWRV9TVEFUVVNfR000NTsKIAkJYnJlYWs7CkBAIC00NTg5LDcgKzQ1ODksNyBAQCBzdGF0aWMg Ym9vbCBnbTQ1X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCQliaXQgPSBQT1JURF9IT1RQTFVHX0xJVkVfU1RBVFVTX0dNNDU7CiAJCWJy ZWFrOwogCWRlZmF1bHQ6Ci0JCU1JU1NJTkdfQ0FTRShwb3J0LT5wb3J0KTsKKwkJTUlTU0lOR19D QVNFKHBvcnQtPmJhc2UucG9ydCk7CiAJCXJldHVybiBmYWxzZTsKIAl9CiAKQEAgLTQ1OTksNyAr NDU5OSw3IEBAIHN0YXRpYyBib29sIGdtNDVfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgYm9vbCBpbGtfZGlnaXRhbF9wb3J0 X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAgICAg IHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKnBvcnQpCiB7Ci0JaWYgKHBvcnQtPnBvcnQgPT0g UE9SVF9BKQorCWlmIChwb3J0LT5iYXNlLnBvcnQgPT0gUE9SVF9BKQogCQlyZXR1cm4gSTkxNV9S RUFEKERFSVNSKSAmIERFX0RQX0FfSE9UUExVRzsKIAllbHNlCiAJCXJldHVybiBpYnhfZGlnaXRh bF9wb3J0X2Nvbm5lY3RlZChkZXZfcHJpdiwgcG9ydCk7CkBAIC00NjA4LDcgKzQ2MDgsNyBAQCBz dGF0aWMgYm9vbCBpbGtfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgYm9vbCBzbmJfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAgICAgIHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKnBvcnQpCiB7Ci0JaWYgKHBvcnQtPnBvcnQgPT0gUE9SVF9BKQorCWlm IChwb3J0LT5iYXNlLnBvcnQgPT0gUE9SVF9BKQogCQlyZXR1cm4gSTkxNV9SRUFEKERFSVNSKSAm IERFX0RQX0FfSE9UUExVRzsKIAllbHNlCiAJCXJldHVybiBjcHRfZGlnaXRhbF9wb3J0X2Nvbm5l Y3RlZChkZXZfcHJpdiwgcG9ydCk7CkBAIC00NjE3LDcgKzQ2MTcsNyBAQCBzdGF0aWMgYm9vbCBz bmJfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiBzdGF0aWMgYm9vbCBpdmJfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKnBvcnQpCiB7Ci0JaWYgKHBvcnQtPnBvcnQgPT0gUE9SVF9BKQorCWlmIChwb3J0LT5iYXNl LnBvcnQgPT0gUE9SVF9BKQogCQlyZXR1cm4gSTkxNV9SRUFEKERFSVNSKSAmIERFX0RQX0FfSE9U UExVR19JVkI7CiAJZWxzZQogCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZGV2 X3ByaXYsIHBvcnQpOwpAQCAtNDYyNiw3ICs0NjI2LDcgQEAgc3RhdGljIGJvb2wgaXZiX2RpZ2l0 YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogc3Rh dGljIGJvb2wgYmR3X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0 KQogewotCWlmIChwb3J0LT5wb3J0ID09IFBPUlRfQSkKKwlpZiAocG9ydC0+YmFzZS5wb3J0ID09 IFBPUlRfQSkKIAkJcmV0dXJuIEk5MTVfUkVBRChHRU44X0RFX1BPUlRfSVNSKSAmIEdFTjhfUE9S VF9EUF9BX0hPVFBMVUc7CiAJZWxzZQogCQlyZXR1cm4gY3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0 ZWQoZGV2X3ByaXYsIHBvcnQpOwpAQCAtNTEwOSwxMiArNTEwOSwxMiBAQCBpbnRlbF9kcF9ocGRf cHVsc2Uoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGJvb2wgbG9u Z19ocGQpCiAJCSAqICJ2ZGQgb2ZmIC0+IGxvbmcgaHBkIC0+IHZkZCBvbiAtPiBkZXRlY3QgLT4g dmRkIG9mZiAtPiAuLi4iCiAJCSAqLwogCQlEUk1fREVCVUdfS01TKCJpZ25vcmluZyBsb25nIGhw ZCBvbiBlRFAgcG9ydCAlY1xuIiwKLQkJCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+ cG9ydCkpOworCQkJICAgICAgcG9ydF9uYW1lKGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQpKTsK IAkJcmV0dXJuIElSUV9IQU5ETEVEOwogCX0KIAogCURSTV9ERUJVR19LTVMoImdvdCBocGQgaXJx IG9uIHBvcnQgJWMgLSAlc1xuIiwKLQkJICAgICAgcG9ydF9uYW1lKGludGVsX2RpZ19wb3J0LT5w b3J0KSwKKwkJICAgICAgcG9ydF9uYW1lKGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQpLAogCQkg ICAgICBsb25nX2hwZCA/ICJsb25nIiA6ICJzaG9ydCIpOwogCiAJaWYgKGxvbmdfaHBkKSB7CkBA IC01MzY0LDcgKzUzNjQsNyBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9y ZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl1MzIgcHBfb24sIHBwX29mZiwgcHBf ZGl2LCBwb3J0X3NlbCA9IDA7CiAJaW50IGRpdiA9IGRldl9wcml2LT5yYXdjbGtfZnJlcSAvIDEw MDA7CiAJc3RydWN0IHBwc19yZWdpc3RlcnMgcmVnczsKLQllbnVtIHBvcnQgcG9ydCA9IGRwX3Rv X2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydDsKKwllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19w b3J0KGludGVsX2RwKS0+YmFzZS5wb3J0OwogCWNvbnN0IHN0cnVjdCBlZHBfcG93ZXJfc2VxICpz ZXEgPSAmaW50ZWxfZHAtPnBwc19kZWxheXM7CiAKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZf cHJpdi0+cHBzX211dGV4KTsKQEAgLTU5NjUsOSArNTk2NSw5IEBAIGludGVsX2RwX2luaXRfY29u bmVjdG9yX3BvcnRfaW5mbyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCkKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9kaWdfcG9ydC0+YmFz ZTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKIAot CWVuY29kZXItPmhwZF9waW4gPSBpbnRlbF9ocGRfcGluKGludGVsX2RpZ19wb3J0LT5wb3J0KTsK KwllbmNvZGVyLT5ocGRfcGluID0gaW50ZWxfaHBkX3BpbihlbmNvZGVyLT5wb3J0KTsKIAotCXN3 aXRjaCAoaW50ZWxfZGlnX3BvcnQtPnBvcnQpIHsKKwlzd2l0Y2ggKGVuY29kZXItPnBvcnQpIHsK IAljYXNlIFBPUlRfQToKIAkJaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4gPSBQT1dFUl9ET01B SU5fQVVYX0E7CiAJCWJyZWFrOwpAQCAtNTk4NSw3ICs1OTg1LDcgQEAgaW50ZWxfZHBfaW5pdF9j b25uZWN0b3JfcG9ydF9pbmZvKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0KQogCQlpbnRlbF9kcC0+YXV4X3Bvd2VyX2RvbWFpbiA9IFBPV0VSX0RPTUFJTl9BVVhfRDsK IAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKGludGVsX2RpZ19wb3J0LT5wb3J0 KTsKKwkJTUlTU0lOR19DQVNFKGVuY29kZXItPnBvcnQpOwogCX0KIH0KIApAQCAtNjAyMSw3ICs2 MDIxLDcgQEAgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqaW50ZWxfZGlnX3BvcnQsCiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIg PSAmaW50ZWxfZGlnX3BvcnQtPmJhc2U7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVs X2VuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0Owor CWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZW5jb2Rlci0+cG9ydDsKIAlpbnQgdHlwZTsKIAogCS8q IEluaXRpYWxpemUgdGhlIHdvcmsgZm9yIG1vZGVzZXQgaW4gY2FzZSBvZiBsaW5rIHRyYWluIGZh aWx1cmUgKi8KQEAgLTYxOTEsNyArNjE5MSw2IEBAIGJvb2wgaW50ZWxfZHBfaW5pdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWludGVsX2VuY29kZXItPmRpc2FibGUgPSBn NHhfZGlzYWJsZV9kcDsKIAl9CiAKLQlpbnRlbF9kaWdfcG9ydC0+cG9ydCA9IHBvcnQ7CiAJaW50 ZWxfZGlnX3BvcnQtPmRwLm91dHB1dF9yZWcgPSBvdXRwdXRfcmVnOwogCWludGVsX2RpZ19wb3J0 LT5tYXhfbGFuZXMgPSA0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCmluZGV4IDY1 M2NhMzk3ODliOC4uYzNkZTA5MThlZTEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcF9tc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3Qu YwpAQCAtMjA5LDcgKzIwOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9wcmVfZW5hYmxlX2Rw KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0ID0gaW50ZWxfbXN0LT5wcmltYXJ5OwogCXN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCWVudW0gcG9ydCBw b3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7CisJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdf cG9ydC0+YmFzZS5wb3J0OwogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9CiAJ CXRvX2ludGVsX2Nvbm5lY3Rvcihjb25uX3N0YXRlLT5jb25uZWN0b3IpOwogCWludCByZXQ7CkBA IC0yNTMsNyArMjUzLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X2VuYWJsZV9kcChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCA9IGludGVsX21zdC0+cHJpbWFyeTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQllbnVtIHBvcnQgcG9ydCA9IGlu dGVsX2RpZ19wb3J0LT5wb3J0OworCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJh c2UucG9ydDsKIAlpbnQgcmV0OwogCiAJRFJNX0RFQlVHX0tNUygiYWN0aXZlIGxpbmtzICVkXG4i LCBpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyk7CkBAIC01NTIsNyArNTUyLDcgQEAgaW50ZWxf ZHBfY3JlYXRlX2Zha2VfbXN0X2VuY29kZXIoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQsIGVudW0KIAogCWludGVsX2VuY29kZXItPnR5cGUgPSBJTlRFTF9PVVRQVVRf RFBfTVNUOwogCWludGVsX2VuY29kZXItPnBvd2VyX2RvbWFpbiA9IGludGVsX2RpZ19wb3J0LT5i YXNlLnBvd2VyX2RvbWFpbjsKLQlpbnRlbF9lbmNvZGVyLT5wb3J0ID0gaW50ZWxfZGlnX3BvcnQt PnBvcnQ7CisJaW50ZWxfZW5jb2Rlci0+cG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7 CiAJaW50ZWxfZW5jb2Rlci0+Y3J0Y19tYXNrID0gMHg3OwogCWludGVsX2VuY29kZXItPmNsb25l YWJsZSA9IDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwaW9f cGh5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGlvX3BoeS5jCmluZGV4IDRmNGEw YmYxMmY4Yy4uNzA0MDQxZjcwZDkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcGlvX3BoeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwaW9fcGh5 LmMKQEAgLTU4Niw5ICs1ODYsOCBAQCBieHRfZGRpX3BoeV9jYWxjX2xhbmVfbGF0X29wdGltX21h c2sodWludDhfdCBsYW5lX2NvdW50KQogdm9pZCBieHRfZGRpX3BoeV9zZXRfbGFuZV9vcHRpbV9t YXNrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgICAgdWludDhfdCBsYW5l X2xhdF9vcHRpbV9tYXNrKQogewotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0g ZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRwb3J0LT5iYXNlLmJhc2UuZGV2KTsKLQllbnVtIHBvcnQg cG9ydCA9IGRwb3J0LT5wb3J0OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+ cG9ydDsKIAllbnVtIGRwaW9fcGh5IHBoeTsKIAllbnVtIGRwaW9fY2hhbm5lbCBjaDsKIAlpbnQg bGFuZTsKQEAgLTYxMyw5ICs2MTIsOCBAQCB2b2lkIGJ4dF9kZGlfcGh5X3NldF9sYW5lX29wdGlt X21hc2soc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB1aW50OF90CiBieHRfZGRpX3Bo eV9nZXRfbGFuZV9sYXRfb3B0aW1fbWFzayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikK IHsKLQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGVuY190b19kaWdfcG9ydCgm ZW5jb2Rlci0+YmFzZSk7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkcG9ydC0+YmFzZS5iYXNlLmRldik7Ci0JZW51bSBwb3J0IHBvcnQgPSBkcG9ydC0+cG9y dDsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXIt PmJhc2UuZGV2KTsKKwllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7CiAJZW51bSBkcGlv X3BoeSBwaHk7CiAJZW51bSBkcGlvX2NoYW5uZWwgY2g7CiAJaW50IGxhbmU7CkBAIC02NDEsNyAr NjM5LDcgQEAgdm9pZCBjaHZfc2V0X3BoeV9zaWduYWxfbGV2ZWwoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBv cnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwotCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhkcG9ydC0+YmFzZS5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNl LmNydGMpOwogCWVudW0gZHBpb19jaGFubmVsIGNoID0gdmx2X2Rwb3J0X3RvX2NoYW5uZWwoZHBv cnQpOwogCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAl1MzIgdmFsOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAwMGI0ODg2ODgwNDIuLmEwYTVjZWFkODY4YyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEwNTYsNyArMTA1Niw2IEBAIHN0cnVjdCBpbnRl bF9sc3Bjb24gewogCiBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0IHsKIAlzdHJ1Y3QgaW50ZWxf ZW5jb2RlciBiYXNlOwotCWVudW0gcG9ydCBwb3J0OwogCXUzMiBzYXZlZF9wb3J0X2JpdHM7CiAJ c3RydWN0IGludGVsX2RwIGRwOwogCXN0cnVjdCBpbnRlbF9oZG1pIGhkbWk7CkBAIC0xMDg4LDcg KzEwODcsNyBAQCBzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIgewogc3RhdGljIGlubGluZSBl bnVtIGRwaW9fY2hhbm5lbAogdmx2X2Rwb3J0X3RvX2NoYW5uZWwoc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqZHBvcnQpCiB7Ci0Jc3dpdGNoIChkcG9ydC0+cG9ydCkgeworCXN3aXRjaCAoZHBv cnQtPmJhc2UucG9ydCkgewogCWNhc2UgUE9SVF9COgogCWNhc2UgUE9SVF9EOgogCQlyZXR1cm4g RFBJT19DSDA7CkBAIC0xMTAyLDcgKzExMDEsNyBAQCB2bHZfZHBvcnRfdG9fY2hhbm5lbChzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCkKIHN0YXRpYyBpbmxpbmUgZW51bSBkcGlvX3Bo eQogdmx2X2Rwb3J0X3RvX3BoeShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCkKIHsK LQlzd2l0Y2ggKGRwb3J0LT5wb3J0KSB7CisJc3dpdGNoIChkcG9ydC0+YmFzZS5wb3J0KSB7CiAJ Y2FzZSBQT1JUX0I6CiAJY2FzZSBQT1JUX0M6CiAJCXJldHVybiBEUElPX1BIWTA7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9oZG1pLmMKaW5kZXggMWYyMjU4ZGVjMDllLi4yZDk1ZGI2NGNkZjIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTE4Niw3ICsxODYsNyBAQCBzdGF0aWMgYm9vbCBn NHhfaW5mb2ZyYW1lX2VuYWJsZWQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWlmICgo dmFsICYgVklERU9fRElQX0VOQUJMRSkgPT0gMCkKIAkJcmV0dXJuIGZhbHNlOwogCi0JaWYgKCh2 YWwgJiBWSURFT19ESVBfUE9SVF9NQVNLKSAhPSBWSURFT19ESVBfUE9SVChpbnRlbF9kaWdfcG9y dC0+cG9ydCkpCisJaWYgKCh2YWwgJiBWSURFT19ESVBfUE9SVF9NQVNLKSAhPSBWSURFT19ESVBf UE9SVChpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJcmV0 dXJuIHZhbCAmIChWSURFT19ESVBfRU5BQkxFX0FWSSB8CkBAIC0yNDUsNyArMjQ1LDcgQEAgc3Rh dGljIGJvb2wgaWJ4X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwKIAlpZiAoKHZhbCAmIFZJREVPX0RJUF9FTkFCTEUpID09IDApCiAJCXJldHVybiBmYWxzZTsK IAotCWlmICgodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgIT0gVklERU9fRElQX1BPUlQoaW50 ZWxfZGlnX3BvcnQtPnBvcnQpKQorCWlmICgodmFsICYgVklERU9fRElQX1BPUlRfTUFTSykgIT0g VklERU9fRElQX1BPUlQoaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydCkpCiAJCXJldHVybiBmYWxz ZTsKIAogCXJldHVybiB2YWwgJiAoVklERU9fRElQX0VOQUJMRV9BVkkgfApAQCAtMzYyLDcgKzM2 Miw3IEBAIHN0YXRpYyBib29sIHZsdl9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIsCiAJaWYgKCh2YWwgJiBWSURFT19ESVBfRU5BQkxFKSA9PSAwKQogCQlyZXR1 cm4gZmFsc2U7CiAKLQlpZiAoKHZhbCAmIFZJREVPX0RJUF9QT1JUX01BU0spICE9IFZJREVPX0RJ UF9QT1JUKGludGVsX2RpZ19wb3J0LT5wb3J0KSkKKwlpZiAoKHZhbCAmIFZJREVPX0RJUF9QT1JU X01BU0spICE9IFZJREVPX0RJUF9QT1JUKGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQpKQogCQly ZXR1cm4gZmFsc2U7CiAKIAlyZXR1cm4gdmFsICYgKFZJREVPX0RJUF9FTkFCTEVfQVZJIHwKQEAg LTUzNSw3ICs1MzUsNyBAQCBzdGF0aWMgdm9pZCBnNHhfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gJmlu dGVsX2RpZ19wb3J0LT5oZG1pOwogCWk5MTVfcmVnX3QgcmVnID0gVklERU9fRElQX0NUTDsKIAl1 MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7Ci0JdTMyIHBvcnQgPSBWSURFT19ESVBfUE9SVChpbnRl bF9kaWdfcG9ydC0+cG9ydCk7CisJdTMyIHBvcnQgPSBWSURFT19ESVBfUE9SVChpbnRlbF9kaWdf cG9ydC0+YmFzZS5wb3J0KTsKIAogCWFzc2VydF9oZG1pX3BvcnRfZGlzYWJsZWQoaW50ZWxfaGRt aSk7CiAKQEAgLTY4Niw3ICs2ODYsNyBAQCBzdGF0aWMgdm9pZCBpYnhfc2V0X2luZm9mcmFtZXMo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9o ZG1pID0gJmludGVsX2RpZ19wb3J0LT5oZG1pOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJ UF9DVEwoaW50ZWxfY3J0Yy0+cGlwZSk7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwotCXUz MiBwb3J0ID0gVklERU9fRElQX1BPUlQoaW50ZWxfZGlnX3BvcnQtPnBvcnQpOworCXUzMiBwb3J0 ID0gVklERU9fRElQX1BPUlQoaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydCk7CiAKIAlhc3NlcnRf aGRtaV9wb3J0X2Rpc2FibGVkKGludGVsX2hkbWkpOwogCkBAIC03ODIsNyArNzgyLDcgQEAgc3Rh dGljIHZvaWQgdmx2X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwK IAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29k ZXIpOwogCWk5MTVfcmVnX3QgcmVnID0gVkxWX1RWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBp cGUpOwogCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKLQl1MzIgcG9ydCA9IFZJREVPX0RJUF9Q T1JUKGludGVsX2RpZ19wb3J0LT5wb3J0KTsKKwl1MzIgcG9ydCA9IFZJREVPX0RJUF9QT1JUKGlu dGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQpOwogCiAJYXNzZXJ0X2hkbWlfcG9ydF9kaXNhYmxlZChp bnRlbF9oZG1pKTsKIApAQCAtMTU0NSw3ICsxNTQ1LDcgQEAgaW50ZWxfaGRtaV9kcF9kdWFsX21v ZGVfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgaGFzX2VkaWQp CiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0 b3ItPmRldik7CiAJc3RydWN0IGludGVsX2hkbWkgKmhkbWkgPSBpbnRlbF9hdHRhY2hlZF9oZG1p KGNvbm5lY3Rvcik7Ci0JZW51bSBwb3J0IHBvcnQgPSBoZG1pX3RvX2RpZ19wb3J0KGhkbWkpLT5w b3J0OworCWVudW0gcG9ydCBwb3J0ID0gaGRtaV90b19kaWdfcG9ydChoZG1pKS0+YmFzZS5wb3J0 OwogCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9CiAJCWludGVsX2dtYnVzX2dldF9hZGFw dGVyKGRldl9wcml2LCBoZG1pLT5kZGNfYnVzKTsKIAllbnVtIGRybV9kcF9kdWFsX21vZGVfdHlw ZSB0eXBlID0gZHJtX2RwX2R1YWxfbW9kZV9kZXRlY3QoYWRhcHRlcik7CkBAIC0yMDE1LDcgKzIw MTUsNyBAQCB2b2lkIGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2Vu Y29kZXIgPSAmaW50ZWxfZGlnX3BvcnQtPmJhc2U7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGludGVsX2VuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZGV2KTsKLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5w b3J0OworCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZW5jb2Rlci0+cG9ydDsKIAogCURSTV9ERUJV R19LTVMoIkFkZGluZyBIRE1JIGNvbm5lY3RvciBvbiBwb3J0ICVjXG4iLAogCQkgICAgICBwb3J0 X25hbWUocG9ydCkpOwpAQCAtMjEzNSw3ICsyMTM1LDYgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWlmIChJU19HNFgoZGV2X3ByaXYp KQogCQlpbnRlbF9lbmNvZGVyLT5jbG9uZWFibGUgfD0gMSA8PCBJTlRFTF9PVVRQVVRfSERNSTsK IAotCWludGVsX2RpZ19wb3J0LT5wb3J0ID0gcG9ydDsKIAlpbnRlbF9kaWdfcG9ydC0+aGRtaS5o ZG1pX3JlZyA9IGhkbWlfcmVnOwogCWludGVsX2RpZ19wb3J0LT5kcC5vdXRwdXRfcmVnID0gSU5W QUxJRF9NTUlPX1JFRzsKIAlpbnRlbF9kaWdfcG9ydC0+bWF4X2xhbmVzID0gNDsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCmluZGV4IDg5OTgzOWYyZjdjNi4uNjE2NDFkNDc5Yjkz IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMKQEAgLTI2OSw3ICsyNjksNyBA QCBzdGF0aWMgaW50IGk5eHhfcGlwZV9jcmNfYXV0b19zb3VyY2Uoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogCQljYXNlIElOVEVMX09VVFBVVF9EUDoKIAkJY2FzZSBJTlRFTF9P VVRQVVRfRURQOgogCQkJZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2Up OwotCQkJc3dpdGNoIChkaWdfcG9ydC0+cG9ydCkgeworCQkJc3dpdGNoIChkaWdfcG9ydC0+YmFz ZS5wb3J0KSB7CiAJCQljYXNlIFBPUlRfQjoKIAkJCQkqc291cmNlID0gSU5URUxfUElQRV9DUkNf U09VUkNFX0RQX0I7CiAJCQkJYnJlYWs7CkBAIC0yODEsNyArMjgxLDcgQEAgc3RhdGljIGludCBp OXh4X3BpcGVfY3JjX2F1dG9fc291cmNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAkJCQlicmVhazsKIAkJCWRlZmF1bHQ6CiAJCQkJV0FSTigxLCAibm9uZXhpc3RpbmcgRFAg cG9ydCAlY1xuIiwKLQkJCQkgICAgIHBvcnRfbmFtZShkaWdfcG9ydC0+cG9ydCkpOworCQkJCSAg ICAgcG9ydF9uYW1lKGRpZ19wb3J0LT5iYXNlLnBvcnQpKTsKIAkJCQlicmVhazsKIAkJCX0KIAkJ CWJyZWFrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwppbmRleCA2ZTNiNDMwZmNjZGMuLmExYWQ4 NWZhNWMxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKQEAgLTE2Myw3ICsxNjMsNyBAQCBz dGF0aWMgdm9pZCBoc3dfcHNyX2VuYWJsZV9zaW5rKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp CiAJCVszXSA9IDEgLSAxLAogCQlbNF0gPSBEUF9TRVRfUE9XRVJfRDAsCiAJfTsKLQllbnVtIHBv cnQgcG9ydCA9IGRpZ19wb3J0LT5wb3J0OworCWVudW0gcG9ydCBwb3J0ID0gZGlnX3BvcnQtPmJh c2UucG9ydDsKIAl1MzIgYXV4X2N0bDsKIAlpbnQgaTsKIApAQCAtMzc2LDcgKzM3Niw3IEBAIHZv aWQgaW50ZWxfcHNyX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJ ICogb25lcy4gU2luY2UgYnkgRGlzcGxheSBkZXNpZ24gdHJhbnNjb2RlciBFRFAgaXMgdGllZCB0 byBwb3J0IEEKIAkgKiB3ZSBjYW4gc2FmZWx5IGVzY2FwZSBiYXNlZCBvbiB0aGUgcG9ydCBBLgog CSAqLwotCWlmIChIQVNfRERJKGRldl9wcml2KSAmJiBkaWdfcG9ydC0+cG9ydCAhPSBQT1JUX0Ep IHsKKwlpZiAoSEFTX0RESShkZXZfcHJpdikgJiYgZGlnX3BvcnQtPmJhc2UucG9ydCAhPSBQT1JU X0EpIHsKIAkJRFJNX0RFQlVHX0tNUygiUFNSIGNvbmRpdGlvbiBmYWlsZWQ6IFBvcnQgbm90IHN1 cHBvcnRlZFxuIik7CiAJCXJldHVybjsKIAl9Ci0tIAoyLjEzLjYKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=