From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 05/15] drm/i915: Pass crtc_state and connector_state to encoder functions Date: Tue, 9 Aug 2016 17:04:04 +0200 Message-ID: <1470755054-32699-6-git-send-email-maarten.lankhorst@linux.intel.com> References: <1470755054-32699-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 098B96E251 for ; Tue, 9 Aug 2016 15:04:20 +0000 (UTC) In-Reply-To: <1470755054-32699-1-git-send-email-maarten.lankhorst@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 VGhpcyBpcyBtb3N0bHkgY29kZSBjaHVybiwgd2l0aCBleGNlcHRpb24gb2YgYSBmZXcgcGxhY2Vz OgotIGludGVsX2Rpc3BsYXkuYyBoYXMgY2hhbmdlcyBpbiBpbnRlbF9zYW5pdGl6ZV9lbmNvZGVy Ci0gaW50ZWxfZGRpLmMgaGFzIGludGVsX2RkaV9mZGlfZGlzYWJsZSBjYWxsaW5nIGludGVsX2Rk aV9wb3N0X2Rpc2FibGUsCiAgYW5kIHJlcXVpcmVkIGEgZnVuY3Rpb24gY2hhbmdlLiBBbHNvIGFm ZmVjdHMgaW50ZWxfZGlzcGxheS5jCi0gaW50ZWxfZHBfbXN0LmMgcGFzc2VzIGEgTlVMTCBjcnRj X3N0YXRlIGFuZCBjb25uX3N0YXRlIHRvCiAgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZSBmb3Igc2h1 dHRpbmcgZG93biB0aGUgcmVhbCBlbmNvZGVyLgoKTm8gb3RoZXIgZnVuY3Rpb25hbCBjaGFuZ2Vz IGFyZSBkb25lLCBkaWZmIHN0YXQgaXMgYWxyZWFkeSBodWdlLgpFYWNoIGVuY29kZXIgdHlwZSB3 aWxsIG5lZWQgdG8gYmUgZml4ZWQgdG8gdXNlIHRoZSBhdG9taWMgc3RhdGVzCnNlcGFyYXRlbHku CgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGlu dXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jICAgICB8 ICAxOCArKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgICAgfCAgMzEg KysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEwMiAr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYyAgICAgIHwgIDQ4ICsrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9tc3QuYyAgfCAgMjAgKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmggICAgIHwgIDI4ICsrKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RzaS5jICAgICB8ICAxNiArKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2 by5jICAgICB8ICAxMiArKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAg IHwgIDcyICsrKysrKysrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2x2ZHMuYyAgICB8ICAyOSArKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9zZHZvLmMgICAgfCAgMjIgKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2 LmMgICAgICB8ICAxMiArKystLQogMTIgZmlsZXMgY2hhbmdlZCwgMjg0IGluc2VydGlvbnMoKyks IDEyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCmluZGV4IDgyN2I2ZWY0 ZTlhZS4uNmU2YzRiZGUxMDVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jcnQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwpAQCAtMTkzLDIx ICsxOTMsMjkgQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0X3NldF9kcG1zKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLCBpbnQgbW9kZSkKIAlJOTE1X1dSSVRFKGNydC0+YWRwYV9yZWcsIGFk cGEpOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2NydChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfY3J0KHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAorCQkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9s ZF9jcnRjX3N0YXRlLAorCQkJICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9j b25uX3N0YXRlKQogewogCWludGVsX2NydF9zZXRfZHBtcyhlbmNvZGVyLCBEUk1fTU9ERV9EUE1T X09GRik7CiB9CiAKLXN0YXRpYyB2b2lkIHBjaF9kaXNhYmxlX2NydChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIHBjaF9kaXNhYmxlX2NydChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKKwkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGUsCisJCQkgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0 YXRlKQogewogfQogCi1zdGF0aWMgdm9pZCBwY2hfcG9zdF9kaXNhYmxlX2NydChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIHBjaF9wb3N0X2Rpc2FibGVfY3J0KHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkJIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRf Y29ubl9zdGF0ZSkKIHsKLQlpbnRlbF9kaXNhYmxlX2NydChlbmNvZGVyKTsKKwlpbnRlbF9kaXNh YmxlX2NydChlbmNvZGVyLCBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3RhdGUpOwogfQogCi1z dGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfY3J0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQorc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2NydChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKKwkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJ ICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlpbnRlbF9j cnRfc2V0X2RwbXMoZW5jb2RlciwgRFJNX01PREVfRFBNU19PTik7CiB9CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCmluZGV4IGMyZGY0ZTQyOWIxOS4uNjZmZWIxZWFmYzkzIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYwpAQCAtMTYxMSw3ICsxNjExLDkgQEAgdm9pZCBpbnRlbF9kZGlfY2xrX3Nl bGVjdChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAl9CiB9CiAKLXN0YXRpYyB2b2lk IGludGVsX2RkaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVy KQorc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmludGVsX2VuY29kZXIsCisJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZywKKwkJCQkgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gJmludGVsX2VuY29kZXItPmJhc2U7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5kZXYpOwpAQCAt MTY2Myw3ICsxNjY1LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGUoc3RydWN0 IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCiAJfQogfQogCi1zdGF0aWMgdm9pZCBpbnRl bF9kZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQor c3RhdGljIHZvaWQgaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq aW50ZWxfZW5jb2RlciwKKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNf c3RhdGUsCisJCQkJICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRl KQogewogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9lbmNvZGVyLT5iYXNl OwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7CkBAIC0xNjczLDYgKzE2 NzcsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyKQogCXVpbnQzMl90IHZhbDsKIAlib29sIHdhaXQgPSBmYWxz ZTsKIAorCS8qIG9sZF9jcnRjX3N0YXRlIGFuZCBvbGRfY29ubl9zdGF0ZSBhcmUgTlVMTCB3aGVu IGNhbGxlZCBmcm9tIERQX01TVCAqLworCiAJdmFsID0gSTkxNV9SRUFEKERESV9CVUZfQ1RMKHBv cnQpKTsKIAlpZiAodmFsICYgRERJX0JVRl9DVExfRU5BQkxFKSB7CiAJCXZhbCAmPSB+RERJX0JV Rl9DVExfRU5BQkxFOwpAQCAtMTcwOCw3ICsxNzE0LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRp X3Bvc3RfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKIAl9CiB9 CiAKLXN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmlu dGVsX2VuY29kZXIpCitzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZGRpKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyLAorCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq cGlwZV9jb25maWcsCisJCQkgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKQogewogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9lbmNvZGVyLT5i YXNlOwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGVuY29kZXItPmNydGM7CkBAIC0xNzQ2LDcg KzE3NTQsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZGRpKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICppbnRlbF9lbmNvZGVyKQogCX0KIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9k ZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCitzdGF0aWMgdm9pZCBpbnRl bF9kaXNhYmxlX2RkaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKKwkJCSAg ICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKKwkJCSAgICAgIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsKIAlzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMgPSBlbmNvZGVyLT5jcnRjOwpAQCAtMjA1Miw3ICsyMDYyLDkgQEAgYnh0X2RkaV9w aHlfY2FsY19sYW5lX2xhdF9vcHRpbV9tYXNrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCX0KIH0KIAotc3RhdGljIHZvaWQgYnh0X2RkaV9wcmVfcGxsX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGJ4dF9kZGlfcHJlX3BsbF9lbmFibGUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkJICAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnLAorCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpj b25uX3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZW5jX3Rv X2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRwb3J0LT5iYXNlLmJhc2UuZGV2KTsKQEAgLTIxNDEsMTAgKzIxNTMs MTEgQEAgdm9pZCBpbnRlbF9kZGlfcHJlcGFyZV9saW5rX3JldHJhaW4oc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKIAl1ZGVsYXkoNjAwKTsKIH0KIAotdm9pZCBpbnRlbF9kZGlfZmRpX2Rpc2Fi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQordm9pZCBpbnRlbF9kZGlfZmRpX2Rpc2FibGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCisJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqb2xkX2Nvbm5fc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjcnRjLT5kZXYpOwotCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNv ZGVyID0gaW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9lbmNvZGVyLT5iYXNlLmRldik7CiAJ dWludDMyX3QgdmFsOwogCiAJLyoKQEAgLTIxNTcsNyArMjE3MCw3IEBAIHZvaWQgaW50ZWxfZGRp X2ZkaV9kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAl2YWwgJj0gfkZESV9SWF9FTkFC TEU7CiAJSTkxNV9XUklURShGRElfUlhfQ1RMKFBJUEVfQSksIHZhbCk7CiAKLQlpbnRlbF9kZGlf cG9zdF9kaXNhYmxlKGludGVsX2VuY29kZXIpOworCWludGVsX2RkaV9wb3N0X2Rpc2FibGUoaW50 ZWxfZW5jb2Rlciwgb2xkX2NydGNfc3RhdGUsIG9sZF9jb25uX3N0YXRlKTsKIAogCXZhbCA9IEk5 MTVfUkVBRChGRElfUlhfTUlTQyhQSVBFX0EpKTsKIAl2YWwgJj0gfihGRElfUlhfUFdSRE5fTEFO RTFfTUFTSyB8IEZESV9SWF9QV1JETl9MQU5FMF9NQVNLKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCA4MjFkZmY3MTllYzguLmI1MzZkMjJhYWY1OSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNDY5NSw2ICs0Njk1LDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfY3J0Y19kaXNhYmxlX3BsYW5lcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHVuc2lnbmVk IHBsYW5lX21hc2sKIH0KIAogc3RhdGljIHZvaWQgaW50ZWxfZW5jb2RlcnNfcHJlX3BsbF9lbmFi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAogCQkJCQkgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUp CiB7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlOwpAQCAtNDcx MCwxMSArNDcxMSwxMiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmNvZGVyc19wcmVfcGxsX2VuYWJs ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQljb250aW51ZTsKIAogCQlpZiAoZW5jb2Rlci0+ cHJlX3BsbF9lbmFibGUpCi0JCQllbmNvZGVyLT5wcmVfcGxsX2VuYWJsZShlbmNvZGVyKTsKKwkJ CWVuY29kZXItPnByZV9wbGxfZW5hYmxlKGVuY29kZXIsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUp OwogCX0KIH0KIAogc3RhdGljIHZvaWQgaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJsZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCisJCQkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCiAJCQkJICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKIHsK IAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGU7CkBAIC00NzMwLDEx ICs0NzMyLDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2VuY29kZXJzX3ByZV9lbmFibGUoc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCQkJY29udGludWU7CiAKIAkJaWYgKGVuY29kZXItPnByZV9lbmFi bGUpCi0JCQllbmNvZGVyLT5wcmVfZW5hYmxlKGVuY29kZXIpOworCQkJZW5jb2Rlci0+cHJlX2Vu YWJsZShlbmNvZGVyLCBjcnRjX3N0YXRlLCBjb25uX3N0YXRlKTsKIAl9CiB9CiAKIHN0YXRpYyB2 b2lkIGludGVsX2VuY29kZXJzX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQkJICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgIHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpvbGRfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9s ZF9jb25uX3N0YXRlOwpAQCAtNDc0OSwxMiArNDc1MiwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9l bmNvZGVyc19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQlpZiAoY29ubl9zdGF0ZS0+ Y3J0YyAhPSBjcnRjKQogCQkJY29udGludWU7CiAKLQkJZW5jb2Rlci0+ZW5hYmxlKGVuY29kZXIp OworCQllbmNvZGVyLT5lbmFibGUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CiAJ CWludGVsX29wcmVnaW9uX25vdGlmeV9lbmNvZGVyKGVuY29kZXIsIHRydWUpOwogCX0KIH0KIAog c3RhdGljIHZvaWQgaW50ZWxfZW5jb2RlcnNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs CisJCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCQkJCSAg IHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlOwpAQCAtNDc2OSwxMSArNDc3MywxMiBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9lbmNvZGVyc19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJ CWNvbnRpbnVlOwogCiAJCWludGVsX29wcmVnaW9uX25vdGlmeV9lbmNvZGVyKGVuY29kZXIsIGZh bHNlKTsKLQkJZW5jb2Rlci0+ZGlzYWJsZShlbmNvZGVyKTsKKwkJZW5jb2Rlci0+ZGlzYWJsZShl bmNvZGVyLCBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3RhdGUpOwogCX0KIH0KIAogc3RhdGlj IHZvaWQgaW50ZWxfZW5jb2RlcnNfcG9zdF9kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK KwkJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCQkJCQlzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQogewogCXN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpvbGRfY29ubl9zdGF0ZTsKQEAgLTQ3ODgsMTEgKzQ3OTMsMTIgQEAgc3RhdGljIHZv aWQgaW50ZWxfZW5jb2RlcnNfcG9zdF9kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJ CWNvbnRpbnVlOwogCiAJCWlmIChlbmNvZGVyLT5wb3N0X2Rpc2FibGUpCi0JCQllbmNvZGVyLT5w b3N0X2Rpc2FibGUoZW5jb2Rlcik7CisJCQllbmNvZGVyLT5wb3N0X2Rpc2FibGUoZW5jb2Rlciwg b2xkX2NydGNfc3RhdGUsIG9sZF9jb25uX3N0YXRlKTsKIAl9CiB9CiAKIHN0YXRpYyB2b2lkIGlu dGVsX2VuY29kZXJzX3Bvc3RfcGxsX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJ CQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCQkJCQkgICAg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGU7CkBAIC00ODA3LDcgKzQ4MTMsNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9lbmNvZGVyc19wb3N0X3BsbF9kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKIAkJCWNvbnRpbnVlOwogCiAJCWlmIChlbmNvZGVyLT5wb3N0X3BsbF9kaXNhYmxlKQotCQkJ ZW5jb2Rlci0+cG9zdF9wbGxfZGlzYWJsZShlbmNvZGVyKTsKKwkJCWVuY29kZXItPnBvc3RfcGxs X2Rpc2FibGUoZW5jb2Rlciwgb2xkX2NydGNfc3RhdGUsIG9sZF9jb25uX3N0YXRlKTsKIAl9CiB9 CiAKQEAgLTQ4NTYsNyArNDg2Miw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAogCWludGVsX2NydGMtPmFj dGl2ZSA9IHRydWU7CiAKLQlpbnRlbF9lbmNvZGVyc19wcmVfZW5hYmxlKGNydGMsIG9sZF9zdGF0 ZSk7CisJaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJsZShjcnRjLCBwaXBlX2NvbmZpZywgb2xkX3N0 YXRlKTsKIAogCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmhhc19wY2hfZW5jb2RlcikgewogCQkv KiBOb3RlOiBGREkgUExMIGVuYWJsaW5nIF9tdXN0XyBiZSBkb25lIGJlZm9yZSB3ZSBlbmFibGUg dGhlCkBAIC00ODg2LDcgKzQ4OTIsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJYXNzZXJ0X3ZibGFua19k aXNhYmxlZChjcnRjKTsKIAlkcm1fY3J0Y192Ymxhbmtfb24oY3J0Yyk7CiAKLQlpbnRlbF9lbmNv ZGVyc19lbmFibGUoY3J0Yywgb2xkX3N0YXRlKTsKKwlpbnRlbF9lbmNvZGVyc19lbmFibGUoY3J0 YywgcGlwZV9jb25maWcsIG9sZF9zdGF0ZSk7CiAKIAlpZiAoSEFTX1BDSF9DUFQoZGV2KSkKIAkJ Y3B0X3ZlcmlmeV9tb2Rlc2V0KGRldiwgaW50ZWxfY3J0Yy0+cGlwZSk7CkBAIC00OTIxLDcgKzQ5 MjcsNyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZywKIAkJaW50ZWxfc2V0X3BjaF9maWZvX3VuZGVycnVuX3JlcG9y dGluZyhkZXZfcHJpdiwgVFJBTlNDT0RFUl9BLAogCQkJCQkJICAgICAgZmFsc2UpOwogCi0JaW50 ZWxfZW5jb2RlcnNfcHJlX3BsbF9lbmFibGUoY3J0Yywgb2xkX3N0YXRlKTsKKwlpbnRlbF9lbmNv ZGVyc19wcmVfcGxsX2VuYWJsZShjcnRjLCBwaXBlX2NvbmZpZywgb2xkX3N0YXRlKTsKIAogCWlm IChpbnRlbF9jcnRjLT5jb25maWctPnNoYXJlZF9kcGxsKQogCQlpbnRlbF9lbmFibGVfc2hhcmVk X2RwbGwoaW50ZWxfY3J0Yyk7CkBAIC00OTU5LDcgKzQ5NjUsNyBAQCBzdGF0aWMgdm9pZCBoYXN3 ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAll bHNlCiAJCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIHBp cGUsIHRydWUpOwogCi0JaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJsZShjcnRjLCBvbGRfc3RhdGUp OworCWludGVsX2VuY29kZXJzX3ByZV9lbmFibGUoY3J0YywgcGlwZV9jb25maWcsIG9sZF9zdGF0 ZSk7CiAKIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29kZXIpCiAJCWRldl9w cml2LT5kaXNwbGF5LmZkaV9saW5rX3RyYWluKGNydGMpOwpAQCAtNTAwMCw3ICs1MDA2LDcgQEAg c3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq cGlwZV9jb25maWcsCiAJYXNzZXJ0X3ZibGFua19kaXNhYmxlZChjcnRjKTsKIAlkcm1fY3J0Y192 Ymxhbmtfb24oY3J0Yyk7CiAKLQlpbnRlbF9lbmNvZGVyc19lbmFibGUoY3J0Yywgb2xkX3N0YXRl KTsKKwlpbnRlbF9lbmNvZGVyc19lbmFibGUoY3J0YywgcGlwZV9jb25maWcsIG9sZF9zdGF0ZSk7 CiAKIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKIAkJaW50ZWxf d2FpdF9mb3JfdmJsYW5rKGRldiwgcGlwZSk7CkBAIC01MDUzLDcgKzUwNTksNyBAQCBzdGF0aWMg dm9pZCBpcm9ubGFrZV9jcnRjX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9j cnRjX3N0YXRlLAogCQlpbnRlbF9zZXRfcGNoX2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9w cml2LCBwaXBlLCBmYWxzZSk7CiAJfQogCi0JaW50ZWxfZW5jb2RlcnNfZGlzYWJsZShjcnRjLCBv bGRfc3RhdGUpOworCWludGVsX2VuY29kZXJzX2Rpc2FibGUoY3J0Yywgb2xkX2NydGNfc3RhdGUs IG9sZF9zdGF0ZSk7CiAKIAlkcm1fY3J0Y192Ymxhbmtfb2ZmKGNydGMpOwogCWFzc2VydF92Ymxh bmtfZGlzYWJsZWQoY3J0Yyk7CkBAIC01MDY1LDcgKzUwNzEsNyBAQCBzdGF0aWMgdm9pZCBpcm9u bGFrZV9jcnRjX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl LAogCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmhhc19wY2hfZW5jb2RlcikKIAkJaXJvbmxha2Vf ZmRpX2Rpc2FibGUoY3J0Yyk7CiAKLQlpbnRlbF9lbmNvZGVyc19wb3N0X2Rpc2FibGUoY3J0Yywg b2xkX3N0YXRlKTsKKwlpbnRlbF9lbmNvZGVyc19wb3N0X2Rpc2FibGUoY3J0Yywgb2xkX2NydGNf c3RhdGUsIG9sZF9zdGF0ZSk7CiAKIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfcGNoX2Vu Y29kZXIpIHsKIAkJaXJvbmxha2VfZGlzYWJsZV9wY2hfdHJhbnNjb2RlcihkZXZfcHJpdiwgcGlw ZSk7CkBAIC01MTA4LDcgKzUxMTQsNyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZGlzYWJs ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiAJCWludGVsX3NldF9w Y2hfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIFRSQU5TQ09ERVJfQSwKIAkJCQkJ CSAgICAgIGZhbHNlKTsKIAotCWludGVsX2VuY29kZXJzX2Rpc2FibGUoY3J0Yywgb2xkX3N0YXRl KTsKKwlpbnRlbF9lbmNvZGVyc19kaXNhYmxlKGNydGMsIG9sZF9jcnRjX3N0YXRlLCBvbGRfc3Rh dGUpOwogCiAJZHJtX2NydGNfdmJsYW5rX29mZihjcnRjKTsKIAlhc3NlcnRfdmJsYW5rX2Rpc2Fi bGVkKGNydGMpOwpAQCAtNTEzMSwxMiArNTEzNywyNiBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2Ny dGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiAJaWYg KCF0cmFuc2NvZGVyX2lzX2RzaShjcHVfdHJhbnNjb2RlcikpCiAJCWludGVsX2RkaV9kaXNhYmxl X3BpcGVfY2xvY2soaW50ZWxfY3J0Yyk7CiAKLQlpbnRlbF9lbmNvZGVyc19wb3N0X2Rpc2FibGUo Y3J0Yywgb2xkX3N0YXRlKTsKKwlpbnRlbF9lbmNvZGVyc19wb3N0X2Rpc2FibGUoY3J0Yywgb2xk X2NydGNfc3RhdGUsIG9sZF9zdGF0ZSk7CiAKIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNf cGNoX2VuY29kZXIpIHsKKwkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0 YXRlOworCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubjsKKwkJaW50IGk7CisKIAkJbHB0X2Rp c2FibGVfcGNoX3RyYW5zY29kZXIoZGV2X3ByaXYpOwogCQlscHRfZGlzYWJsZV9pY2xraXAoZGV2 X3ByaXYpOwotCQlpbnRlbF9kZGlfZmRpX2Rpc2FibGUoY3J0Yyk7CisKKwkJZm9yX2VhY2hfY29u bmVjdG9yX2luX3N0YXRlKG9sZF9zdGF0ZSwgY29ubiwgb2xkX2Nvbm5fc3RhdGUsIGkpCisJCQlp ZiAob2xkX2Nvbm5fc3RhdGUtPmNydGMgPT0gY3J0YykgeworCQkJCXN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyID0KKwkJCQkJdG9faW50ZWxfZW5jb2RlcihvbGRfY29ubl9zdGF0ZS0+YmVz dF9lbmNvZGVyKTsKKworCQkJCWludGVsX2RkaV9mZGlfZGlzYWJsZShlbmNvZGVyLAorCQkJCQkJ ICAgICAgb2xkX2NydGNfc3RhdGUsCisJCQkJCQkgICAgICBvbGRfY29ubl9zdGF0ZSk7CisJCQkJ YnJlYWs7CisJCQl9CiAKIAkJaW50ZWxfc2V0X3BjaF9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhk ZXZfcHJpdiwgVFJBTlNDT0RFUl9BLAogCQkJCQkJICAgICAgdHJ1ZSk7CkBAIC02MjI3LDcgKzYy NDcsNyBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAogCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9y ZXBvcnRpbmcoZGV2X3ByaXYsIHBpcGUsIHRydWUpOwogCi0JaW50ZWxfZW5jb2RlcnNfcHJlX3Bs bF9lbmFibGUoY3J0Yywgb2xkX3N0YXRlKTsKKwlpbnRlbF9lbmNvZGVyc19wcmVfcGxsX2VuYWJs ZShjcnRjLCBwaXBlX2NvbmZpZywgb2xkX3N0YXRlKTsKIAogCWlmIChJU19DSEVSUllWSUVXKGRl dikpIHsKIAkJY2h2X3ByZXBhcmVfcGxsKGludGVsX2NydGMsIGludGVsX2NydGMtPmNvbmZpZyk7 CkBAIC02MjM3LDcgKzYyNTcsNyBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJdmx2X2VuYWJsZV9wbGwo aW50ZWxfY3J0YywgaW50ZWxfY3J0Yy0+Y29uZmlnKTsKIAl9CiAKLQlpbnRlbF9lbmNvZGVyc19w cmVfZW5hYmxlKGNydGMsIG9sZF9zdGF0ZSk7CisJaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJsZShj cnRjLCBwaXBlX2NvbmZpZywgb2xkX3N0YXRlKTsKIAogCWk5eHhfcGZpdF9lbmFibGUoaW50ZWxf Y3J0Yyk7CiAKQEAgLTYyNDksNyArNjI2OSw3IEBAIHN0YXRpYyB2b2lkIHZhbGxleXZpZXdfY3J0 Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCWFzc2VydF92 YmxhbmtfZGlzYWJsZWQoY3J0Yyk7CiAJZHJtX2NydGNfdmJsYW5rX29uKGNydGMpOwogCi0JaW50 ZWxfZW5jb2RlcnNfZW5hYmxlKGNydGMsIG9sZF9zdGF0ZSk7CisJaW50ZWxfZW5jb2RlcnNfZW5h YmxlKGNydGMsIHBpcGVfY29uZmlnLCBvbGRfc3RhdGUpOwogfQogCiBzdGF0aWMgdm9pZCBpOXh4 X3NldF9wbGxfZGl2aWRlcnMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCkBAIC02Mjg4LDcgKzYz MDgsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpwaXBlX2NvbmZpZywKIAlpZiAoIUlTX0dFTjIoZGV2KSkKIAkJaW50ZWxfc2V0X2NwdV9m aWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7CiAKLQlpbnRlbF9l bmNvZGVyc19wcmVfZW5hYmxlKGNydGMsIG9sZF9zdGF0ZSk7CisJaW50ZWxfZW5jb2RlcnNfcHJl X2VuYWJsZShjcnRjLCBwaXBlX2NvbmZpZywgb2xkX3N0YXRlKTsKIAogCWk5eHhfZW5hYmxlX3Bs bChpbnRlbF9jcnRjKTsKIApAQCAtNjMwMiw3ICs2MzIyLDcgQEAgc3RhdGljIHZvaWQgaTl4eF9j cnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJYXNzZXJ0 X3ZibGFua19kaXNhYmxlZChjcnRjKTsKIAlkcm1fY3J0Y192Ymxhbmtfb24oY3J0Yyk7CiAKLQlp bnRlbF9lbmNvZGVyc19lbmFibGUoY3J0Yywgb2xkX3N0YXRlKTsKKwlpbnRlbF9lbmNvZGVyc19l bmFibGUoY3J0YywgcGlwZV9jb25maWcsIG9sZF9zdGF0ZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGk5 eHhfcGZpdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQpAQCAtNjMzNiw3ICs2MzU2 LDcgQEAgc3RhdGljIHZvaWQgaTl4eF9jcnRjX2Rpc2FibGUoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm9sZF9jcnRjX3N0YXRlLAogCWlmIChJU19HRU4yKGRldikpCiAJCWludGVsX3dhaXRfZm9y X3ZibGFuayhkZXYsIHBpcGUpOwogCi0JaW50ZWxfZW5jb2RlcnNfZGlzYWJsZShjcnRjLCBvbGRf c3RhdGUpOworCWludGVsX2VuY29kZXJzX2Rpc2FibGUoY3J0Yywgb2xkX2NydGNfc3RhdGUsIG9s ZF9zdGF0ZSk7CiAKIAlkcm1fY3J0Y192Ymxhbmtfb2ZmKGNydGMpOwogCWFzc2VydF92Ymxhbmtf ZGlzYWJsZWQoY3J0Yyk7CkBAIC02MzQ1LDcgKzYzNjUsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2Ny dGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiAKIAlp OXh4X3BmaXRfZGlzYWJsZShpbnRlbF9jcnRjKTsKIAotCWludGVsX2VuY29kZXJzX3Bvc3RfZGlz YWJsZShjcnRjLCBvbGRfc3RhdGUpOworCWludGVsX2VuY29kZXJzX3Bvc3RfZGlzYWJsZShjcnRj LCBvbGRfY3J0Y19zdGF0ZSwgb2xkX3N0YXRlKTsKIAogCWlmICghaW50ZWxfY3J0Y19oYXNfdHlw ZShpbnRlbF9jcnRjLT5jb25maWcsIElOVEVMX09VVFBVVF9EU0kpKSB7CiAJCWlmIChJU19DSEVS UllWSUVXKGRldikpCkBAIC02MzU2LDcgKzYzNzYsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNf ZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiAJCQlpOXh4 X2Rpc2FibGVfcGxsKGludGVsX2NydGMpOwogCX0KIAotCWludGVsX2VuY29kZXJzX3Bvc3RfcGxs X2Rpc2FibGUoY3J0Yywgb2xkX3N0YXRlKTsKKwlpbnRlbF9lbmNvZGVyc19wb3N0X3BsbF9kaXNh YmxlKGNydGMsIG9sZF9jcnRjX3N0YXRlLCBvbGRfc3RhdGUpOwogCiAJaWYgKCFJU19HRU4yKGRl dikpCiAJCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIHBp cGUsIGZhbHNlKTsKQEAgLTE1ODU4LDE3ICsxNTg3OCw2IEBAIHN0YXRpYyBib29sIGludGVsX2Ny dGNfaGFzX2VuY29kZXJzKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCXJldHVybiBmYWxzZTsK IH0KIAotc3RhdGljIGJvb2wgaW50ZWxfZW5jb2Rlcl9oYXNfY29ubmVjdG9ycyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKLXsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rl ci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yOwotCi0JZm9y X2VhY2hfY29ubmVjdG9yX29uX2VuY29kZXIoZGV2LCAmZW5jb2Rlci0+YmFzZSwgY29ubmVjdG9y KQotCQlyZXR1cm4gdHJ1ZTsKLQotCXJldHVybiBmYWxzZTsKLX0KLQogc3RhdGljIHZvaWQgaW50 ZWxfc2FuaXRpemVfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CkBAIC0xNTk1NSw2ICsxNTk2NCw3IEBAIHN0 YXRpYyB2b2lkIGludGVsX3Nhbml0aXplX2VuY29kZXIoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIpCiB7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yOwogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKKwlib29sIGZvdW5kX2Nvbm5lY3Rv ciA9IGZhbHNlOwogCiAJLyogV2UgbmVlZCB0byBjaGVjayBib3RoIGZvciBhIGNydGMgbGluayAo bWVhbmluZyB0aGF0IHRoZQogCSAqIGVuY29kZXIgaXMgYWN0aXZlIGFuZCB0cnlpbmcgdG8gcmVh ZCBmcm9tIGEgcGlwZSkgYW5kIHRoZQpAQCAtMTU5NjIsNyArMTU5NzIsMTIgQEAgc3RhdGljIHZv aWQgaW50ZWxfc2FuaXRpemVfZW5jb2RlcihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikK IAlib29sIGhhc19hY3RpdmVfY3J0YyA9IGVuY29kZXItPmJhc2UuY3J0YyAmJgogCQl0b19pbnRl bF9jcnRjKGVuY29kZXItPmJhc2UuY3J0YyktPmFjdGl2ZTsKIAotCWlmIChpbnRlbF9lbmNvZGVy X2hhc19jb25uZWN0b3JzKGVuY29kZXIpICYmICFoYXNfYWN0aXZlX2NydGMpIHsKKwlmb3JfZWFj aF9jb25uZWN0b3Jfb25fZW5jb2RlcihkZXYsICZlbmNvZGVyLT5iYXNlLCBjb25uZWN0b3IpIHsK KwkJZm91bmRfY29ubmVjdG9yID0gdHJ1ZTsKKwkJYnJlYWs7CisJfQorCisJaWYgKGZvdW5kX2Nv bm5lY3RvciAmJiAhaGFzX2FjdGl2ZV9jcnRjKSB7CiAJCURSTV9ERUJVR19LTVMoIltFTkNPREVS OiVkOiVzXSBoYXMgYWN0aXZlIGNvbm5lY3RvcnMgYnV0IG5vIGFjdGl2ZSBwaXBlIVxuIiwKIAkJ CSAgICAgIGVuY29kZXItPmJhc2UuYmFzZS5pZCwKIAkJCSAgICAgIGVuY29kZXItPmJhc2UubmFt ZSk7CkBAIC0xNTk3MSwxMiArMTU5ODYsMTQgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2FuaXRpemVf ZW5jb2RlcihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAkJICogZmFsbG91dCBmcm9t IG91ciByZXN1bWUgcmVnaXN0ZXIgcmVzdG9yaW5nLiBEaXNhYmxlCiAJCSAqIHRoZSBlbmNvZGVy IG1hbnVhbGx5IGFnYWluLiAqLwogCQlpZiAoZW5jb2Rlci0+YmFzZS5jcnRjKSB7CisJCQlzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPSBlbmNvZGVyLT5iYXNlLmNydGMtPnN0YXRl OworCiAJCQlEUk1fREVCVUdfS01TKCJbRU5DT0RFUjolZDolc10gbWFudWFsbHkgZGlzYWJsZWRc biIsCiAJCQkJICAgICAgZW5jb2Rlci0+YmFzZS5iYXNlLmlkLAogCQkJCSAgICAgIGVuY29kZXIt PmJhc2UubmFtZSk7Ci0JCQllbmNvZGVyLT5kaXNhYmxlKGVuY29kZXIpOworCQkJZW5jb2Rlci0+ ZGlzYWJsZShlbmNvZGVyLCB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpLCBjb25uZWN0 b3ItPmJhc2Uuc3RhdGUpOwogCQkJaWYgKGVuY29kZXItPnBvc3RfZGlzYWJsZSkKLQkJCQllbmNv ZGVyLT5wb3N0X2Rpc2FibGUoZW5jb2Rlcik7CisJCQkJZW5jb2Rlci0+cG9zdF9kaXNhYmxlKGVu Y29kZXIsIHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSksIGNvbm5lY3Rvci0+YmFzZS5z dGF0ZSk7CiAJCX0KIAkJZW5jb2Rlci0+YmFzZS5jcnRjID0gTlVMTDsKIApAQCAtMTU5ODQsMTIg KzE2MDAxLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2FuaXRpemVfZW5jb2RlcihzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKIAkJICogYSBidWcgaW4gb25lIG9mIHRoZSBnZXRfaHdfc3Rh dGUgZnVuY3Rpb25zLiBPciBzb21lcGxhY2UgZWxzZQogCQkgKiBpbiBvdXIgY29kZSwgbGlrZSB0 aGUgcmVnaXN0ZXIgcmVzdG9yZSBtZXNzIG9uIHJlc3VtZS4gQ2xhbXAKIAkJICogdGhpbmdzIHRv IG9mZiBhcyBhIHNhZmVyIGRlZmF1bHQuICovCi0JCWZvcl9lYWNoX2ludGVsX2Nvbm5lY3Rvcihk ZXYsIGNvbm5lY3RvcikgewotCQkJaWYgKGNvbm5lY3Rvci0+ZW5jb2RlciAhPSBlbmNvZGVyKQot CQkJCWNvbnRpbnVlOwotCQkJY29ubmVjdG9yLT5iYXNlLmRwbXMgPSBEUk1fTU9ERV9EUE1TX09G RjsKLQkJCWNvbm5lY3Rvci0+YmFzZS5lbmNvZGVyID0gTlVMTDsKLQkJfQorCisJCWNvbm5lY3Rv ci0+YmFzZS5kcG1zID0gRFJNX01PREVfRFBNU19PRkY7CisJCWNvbm5lY3Rvci0+YmFzZS5lbmNv ZGVyID0gTlVMTDsKIAl9CiAJLyogRW5hYmxlZCBlbmNvZGVycyB3aXRob3V0IGFjdGl2ZSBjb25u ZWN0b3JzIHdpbGwgYmUgZml4ZWQgaW4KIAkgKiB0aGUgY3J0YyBmaXh1cC4gKi8KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jCmluZGV4IDhmZTJhZmE1NDM5ZS4uOGJmMWJhMzE2NmU5IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKQEAgLTI0NzksNyArMjQ3OSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rw X2dldF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJfQogfQogCi1zdGF0 aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQor c3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKKwkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAorCQkJ ICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUpCiB7CiAJc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7 CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwpAQCAtMjUwMyw3 ICsyNTA1LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKIAkJaW50ZWxfZHBfbGlua19kb3duKGludGVsX2RwKTsKIH0KIAotc3Rh dGljIHZvaWQgaWxrX3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl cikKK3N0YXRpYyB2b2lkIGlsa19wb3N0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCisJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAor CQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkKIHsKIAlzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsK IAllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydDsKQEAgLTI1 MTUsMTQgKzI1MTksMTggQEAgc3RhdGljIHZvaWQgaWxrX3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAkJaXJvbmxha2VfZWRwX3BsbF9vZmYoaW50ZWxfZHAp OwogfQogCi1zdGF0aWMgdm9pZCB2bHZfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgdmx2X3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGUsCisJCQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRl KQogewogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29k ZXItPmJhc2UpOwogCiAJaW50ZWxfZHBfbGlua19kb3duKGludGVsX2RwKTsKIH0KIAotc3RhdGlj IHZvaWQgY2h2X3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikK K3N0YXRpYyB2b2lkIGNodl9wb3N0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCisJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAorCQkJ CXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKIAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CkBAIC0yNjk2LDcgKzI3 MDQsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIpCiAJfQogfQogCi1zdGF0aWMgdm9pZCBnNHhfZW5hYmxlX2RwKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgZzR4X2VuYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnLAorCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsK IAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5i YXNlKTsKIApAQCAtMjcwNCw3ICsyNzE0LDkgQEAgc3RhdGljIHZvaWQgZzR4X2VuYWJsZV9kcChz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlpbnRlbF9lZHBfYmFja2xpZ2h0X29uKGlu dGVsX2RwKTsKIH0KIAotc3RhdGljIHZvaWQgdmx2X2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIHZsdl9lbmFibGVfZHAoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCisJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZywKKwkJCSAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7 CiAKQEAgLTI3MTIsNyArMjcyNCw5IEBAIHN0YXRpYyB2b2lkIHZsdl9lbmFibGVfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJaW50ZWxfcHNyX2VuYWJsZShpbnRlbF9kcCk7CiB9 CiAKLXN0YXRpYyB2b2lkIGc0eF9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQorc3RhdGljIHZvaWQgZzR4X3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCisJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcsCisJCQkgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsK IAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5i YXNlKTsKIAllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydDsK QEAgLTI4MjcsMjEgKzI4NDEsMjcgQEAgc3RhdGljIHZvaWQgdmx2X2luaXRfcGFuZWxfcG93ZXJf c2VxdWVuY2VyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaW50ZWxfZHBfaW5pdF9wYW5l bF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJzKGRldiwgaW50ZWxfZHApOwogfQogCi1zdGF0aWMg dm9pZCB2bHZfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0 YXRpYyB2b2lkIHZsdl9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAorCQkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJICAg ICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJdmx2X3BoeV9w cmVfZW5jb2Rlcl9lbmFibGUoZW5jb2Rlcik7CiAKIAlpbnRlbF9lbmFibGVfZHAoZW5jb2Rlcik7 CiB9CiAKLXN0YXRpYyB2b2lkIHZsdl9kcF9wcmVfcGxsX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIHZsdl9kcF9wcmVfcGxsX2VuYWJsZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpw aXBlX2NvbmZpZywKKwkJCQkgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQogewogCWludGVsX2RwX3ByZXBhcmUoZW5jb2Rlcik7CiAKIAl2bHZfcGh5X3ByZV9wbGxfZW5h YmxlKGVuY29kZXIpOwogfQogCi1zdGF0aWMgdm9pZCBjaHZfcHJlX2VuYWJsZV9kcChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGNodl9wcmVfZW5hYmxlX2RwKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJICAgICAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnLAorCQkJICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg KmNvbm5fc3RhdGUpCiB7CiAJY2h2X3BoeV9wcmVfZW5jb2Rlcl9lbmFibGUoZW5jb2Rlcik7CiAK QEAgLTI4NTEsMTQgKzI4NzEsMTggQEAgc3RhdGljIHZvaWQgY2h2X3ByZV9lbmFibGVfZHAoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJY2h2X3BoeV9yZWxlYXNlX2NsMl9vdmVycmlk ZShlbmNvZGVyKTsKIH0KIAotc3RhdGljIHZvaWQgY2h2X2RwX3ByZV9wbGxfZW5hYmxlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgY2h2X2RwX3ByZV9wbGxfZW5h YmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJCSAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJCSAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg KmNvbm5fc3RhdGUpCiB7CiAJaW50ZWxfZHBfcHJlcGFyZShlbmNvZGVyKTsKIAogCWNodl9waHlf cHJlX3BsbF9lbmFibGUoZW5jb2Rlcik7CiB9CiAKLXN0YXRpYyB2b2lkIGNodl9kcF9wb3N0X3Bs bF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgY2h2 X2RwX3Bvc3RfcGxsX2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkJ ICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKKwkJCQkgICAgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJY2h2X3BoeV9wb3N0X3BsbF9k aXNhYmxlKGVuY29kZXIpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwppbmRleCA2 MjkzMzdkYmNhM2QuLjNlYzI5MGNhZWYxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBfbXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0 LmMKQEAgLTkyLDcgKzkyLDkgQEAgc3RhdGljIGJvb2wgaW50ZWxfZHBfbXN0X2NvbXB1dGVfY29u ZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCiB9CiAKLXN0YXRpYyB2b2lkIGlu dGVsX21zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGlj IHZvaWQgaW50ZWxfbXN0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CisJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKKwkJCQkgc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewogCXN0cnVjdCBpbnRl bF9kcF9tc3RfZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5jX3RvX21zdCgmZW5jb2Rlci0+YmFzZSk7 CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBpbnRlbF9tc3Qt PnByaW1hcnk7CkBAIC0xMDksNyArMTExLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X2Rpc2Fi bGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJfQogfQogCi1zdGF0aWMgdm9p ZCBpbnRlbF9tc3RfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQorc3RhdGljIHZvaWQgaW50ZWxfbXN0X3Bvc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKKwkJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGUsCisJCQkJICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25u X3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5j X3RvX21zdCgmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQgPSBpbnRlbF9tc3QtPnByaW1hcnk7CkBAIC0xMjgsMTIgKzEzMiwxNiBAQCBz dGF0aWMgdm9pZCBpbnRlbF9tc3RfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyKQogCiAJaW50ZWxfbXN0LT5jb25uZWN0b3IgPSBOVUxMOwogCWlmIChpbnRlbF9k cC0+YWN0aXZlX21zdF9saW5rcyA9PSAwKSB7Ci0JCWludGVsX2RpZ19wb3J0LT5iYXNlLnBvc3Rf ZGlzYWJsZSgmaW50ZWxfZGlnX3BvcnQtPmJhc2UpOworCQlpbnRlbF9kaWdfcG9ydC0+YmFzZS5w b3N0X2Rpc2FibGUoJmludGVsX2RpZ19wb3J0LT5iYXNlLAorCQkJCQkJICBvbGRfY3J0Y19zdGF0 ZSwgTlVMTCk7CisKIAkJaW50ZWxfZHBfc2lua19kcG1zKGludGVsX2RwLCBEUk1fTU9ERV9EUE1T X09GRik7CiAJfQogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9tc3RfcHJlX2VuYWJsZV9kcChzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGludGVsX21zdF9wcmVfZW5h YmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJCSAgICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCisJCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAqaW50 ZWxfbXN0ID0gZW5jX3RvX21zdCgmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBpbnRlbF9tc3QtPnByaW1hcnk7CkBAIC0yMDAsNyAr MjA4LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpCiAJcmV0ID0gZHJtX2RwX3VwZGF0ZV9wYXlsb2FkX3BhcnQxKCZp bnRlbF9kcC0+bXN0X21ncik7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX21zdF9lbmFibGVfZHAo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCitzdGF0aWMgdm9pZCBpbnRlbF9tc3RfZW5h YmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZywKKwkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq Y29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIgKmludGVsX21zdCA9 IGVuY190b19tc3QoJmVuY29kZXItPmJhc2UpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0ID0gaW50ZWxfbXN0LT5wcmltYXJ5OwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAppbmRleCAwZTUzY2MxZmQ1Y2MuLjhlMGNhMTFjMGU5OSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKQEAgLTE5NSwxMiArMTk1LDI0IEBAIHN0cnVjdCBpbnRlbF9lbmNvZGVyIHsKIAl2 b2lkICgqaG90X3BsdWcpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICopOwogCWJvb2wgKCpjb21wdXRl X2NvbmZpZykoc3RydWN0IGludGVsX2VuY29kZXIgKiwKIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqKTsKLQl2b2lkICgqcHJlX3BsbF9lbmFibGUpKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICopOwotCXZvaWQgKCpwcmVfZW5hYmxlKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqKTsKLQl2 b2lkICgqZW5hYmxlKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqKTsKLQl2b2lkICgqZGlzYWJsZSko c3RydWN0IGludGVsX2VuY29kZXIgKik7Ci0Jdm9pZCAoKnBvc3RfZGlzYWJsZSkoc3RydWN0IGlu dGVsX2VuY29kZXIgKik7Ci0Jdm9pZCAoKnBvc3RfcGxsX2Rpc2FibGUpKHN0cnVjdCBpbnRlbF9l bmNvZGVyICopOworCXZvaWQgKCpwcmVfcGxsX2VuYWJsZSkoc3RydWN0IGludGVsX2VuY29kZXIg KiwKKwkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqLAorCQkJICAgICAgIHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICopOworCXZvaWQgKCpwcmVfZW5hYmxlKShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqLAorCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKiwKKwkJCSAgIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICopOworCXZvaWQgKCplbmFibGUpKHN0cnVjdCBpbnRl bF9lbmNvZGVyICosCisJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqLAorCQkgICAg ICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKik7CisJdm9pZCAoKmRpc2FibGUpKHN0cnVj dCBpbnRlbF9lbmNvZGVyICosCisJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqLAorCQkJc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKik7CisJdm9pZCAoKnBvc3RfZGlzYWJsZSkoc3RydWN0 IGludGVsX2VuY29kZXIgKiwKKwkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKiwKKwkJ CSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKik7CisJdm9pZCAoKnBvc3RfcGxsX2Rp c2FibGUpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICosCisJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICosCisJCQkJIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICopOwogCS8qIFJlYWQgb3V0 IHRoZSBjdXJyZW50IGh3IHN0YXRlIG9mIHRoaXMgY29ubmVjdG9yLCByZXR1cm5pbmcgdHJ1ZSBp ZgogCSAqIHRoZSBlbmNvZGVyIGlzIGFjdGl2ZS4gSWYgdGhlIGVuY29kZXIgaXMgZW5hYmxlZCBp dCBhbHNvIHNldCB0aGUgcGlwZQogCSAqIGl0IGlzIGNvbm5lY3RlZCB0byBpbiB0aGUgcGlwZSBw YXJhbWV0ZXIuICovCkBAIC0xMTIyLDcgKzExMzQsOSBAQCBib29sIGludGVsX2RkaV9wbGxfc2Vs ZWN0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogdm9pZCBpbnRlbF9kZGlfc2V0X3BpcGVfc2V0 dGluZ3Moc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIHZvaWQgaW50ZWxfZGRpX3ByZXBhcmVfbGlu a19yZXRyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwogYm9vbCBpbnRlbF9kZGlfY29u bmVjdG9yX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0 b3IpOwotdm9pZCBpbnRlbF9kZGlfZmRpX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKTsK K3ZvaWQgaW50ZWxfZGRpX2ZkaV9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICosCisJCQkg ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqLAorCQkJICAgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKik7CiB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwog c3RydWN0IGludGVsX2VuY29kZXIgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwppbmRleCBkZThl OWZiNTE1OTUuLjEwN2I3MGMxOTMzMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKQEAgLTUz NSw3ICs1MzUsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfZW5hYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKQogCiBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfcHJlcGFyZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rlcik7CiAKLXN0YXRpYyB2b2lkIGludGVsX2RzaV9w cmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgaW50 ZWxfZHNpX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkJIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKKwkJCQkgc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVu Y29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKQEAgLTU4Miw3ICs1ODQsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfcHJl X2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlpbnRlbF9kc2lfZW5hYmxl KGVuY29kZXIpOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9kc2lfZW5hYmxlX25vcChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGludGVsX2RzaV9lbmFibGVfbm9w KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcsCisJCQkJIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlKQogewogCURSTV9ERUJVR19LTVMoIlxuIik7CiAKQEAgLTU5Miw3ICs1OTYsOSBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kc2lfZW5hYmxlX25vcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKIAkgKi8KIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfZHNpX3ByZV9kaXNhYmxlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgaW50ZWxfZHNpX3ByZV9kaXNh YmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJCSAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAorCQkJCSAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKm9sZF9jb25uX3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVu Y190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwogCWVudW0gcG9ydCBwb3J0OwpAQCAtNjk0 LDcgKzcwMCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9jbGVhcl9kZXZpY2VfcmVhZHkoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJaW50ZWxfZGlzYWJsZV9kc2lfcGxsKGVuY29k ZXIpOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9kc2lfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgaW50ZWxfZHNpX3Bvc3RfZGlzYWJsZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcsCisJCQkJICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5j X3RvX2ludGVsX2RzaSgmZW5jb2Rlci0+YmFzZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCmlu ZGV4IDQ3YmRmOWRhZDBkMy4uNTJkZGU5YjcxY2E1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kdm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8u YwpAQCAtMTc0LDcgKzE3NCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2R2b19nZXRfY29uZmlnKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGUuY3J0Y19jbG9jayA9IHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrOwogfQogCi1zdGF0aWMg dm9pZCBpbnRlbF9kaXNhYmxlX2R2byhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0 YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZHZvKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAorCQkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAorCQkJ ICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5k ZXYpOwogCXN0cnVjdCBpbnRlbF9kdm8gKmludGVsX2R2byA9IGVuY190b19kdm8oZW5jb2Rlcik7 CkBAIC0xODYsNyArMTg4LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9kdm8oc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJSTkxNV9SRUFEKGR2b19yZWcpOwogfQogCi1zdGF0 aWMgdm9pZCBpbnRlbF9lbmFibGVfZHZvKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQor c3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2R2byhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKKwkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJICAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlz dHJ1Y3QgaW50ZWxfZHZvICppbnRlbF9kdm8gPSBlbmNfdG9fZHZvKGVuY29kZXIpOwpAQCAtMjUz LDcgKzI1Nyw5IEBAIHN0YXRpYyBib29sIGludGVsX2R2b19jb21wdXRlX2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIHZvaWQg aW50ZWxfZHZvX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCitzdGF0 aWMgdm9pZCBpbnRlbF9kdm9fcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKKwkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJCSBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IDRk ZjlmMzg0OTEwYy4uNTYwZWZmOWEzNjk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBA IC05ODUsNyArOTg1LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2hkbWlfYXVkaW8oc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJaW50ZWxfYXVkaW9fY29kZWNfZW5hYmxlKGVu Y29kZXIpOwogfQogCi1zdGF0aWMgdm9pZCBnNHhfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIpCitzdGF0aWMgdm9pZCBnNHhfZW5hYmxlX2hkbWkoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCisJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnLAorCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQog ewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CkBAIC0xMDA2LDcgKzEw MDgsOSBAQCBzdGF0aWMgdm9pZCBnNHhfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIpCiAJCWludGVsX2VuYWJsZV9oZG1pX2F1ZGlvKGVuY29kZXIpOwogfQogCi1zdGF0 aWMgdm9pZCBpYnhfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCitz dGF0aWMgdm9pZCBpYnhfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CisJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJICAgIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CkBAIC0xMDU1LDcgKzEwNTksOSBAQCBzdGF0aWMgdm9p ZCBpYnhfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJCWludGVs X2VuYWJsZV9oZG1pX2F1ZGlvKGVuY29kZXIpOwogfQogCi1zdGF0aWMgdm9pZCBjcHRfZW5hYmxl X2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCitzdGF0aWMgdm9pZCBjcHRfZW5h YmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkgICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVy LT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7CkBAIC0xMTA4LDExICsxMTE0LDE1IEBAIHN0YXRpYyB2b2lkIGNwdF9lbmFibGVfaGRt aShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAkJaW50ZWxfZW5hYmxlX2hkbWlfYXVk aW8oZW5jb2Rlcik7CiB9CiAKLXN0YXRpYyB2b2lkIHZsdl9lbmFibGVfaGRtaShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIHZsdl9lbmFibGVfaGRtaShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq cGlwZV9jb25maWcsCisJCQkgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3Rh dGUpCiB7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfaGRtaShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfaGRtaShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg Km9sZF9jb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5i YXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRl dik7CkBAIC0xMTY0LDE3ICsxMTc0LDIxIEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfaGRt aShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlpbnRlbF9kcF9kdWFsX21vZGVfc2V0 X3RtZHNfb3V0cHV0KGludGVsX2hkbWksIGZhbHNlKTsKIH0KIAotc3RhdGljIHZvaWQgZzR4X2Rp c2FibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGc0 eF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkgICAgIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKKwkJCSAgICAgc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwogCiAJaWYgKGNydGMt PmNvbmZpZy0+aGFzX2F1ZGlvKQogCQlpbnRlbF9hdWRpb19jb2RlY19kaXNhYmxlKGVuY29kZXIp OwogCi0JaW50ZWxfZGlzYWJsZV9oZG1pKGVuY29kZXIpOworCWludGVsX2Rpc2FibGVfaGRtaShl bmNvZGVyLCBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3RhdGUpOwogfQogCi1zdGF0aWMgdm9p ZCBwY2hfZGlzYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGlj IHZvaWQgcGNoX2Rpc2FibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJ CSAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAorCQkJICAgICBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7CiAKQEAg LTExODIsOSArMTE5NiwxMSBAQCBzdGF0aWMgdm9pZCBwY2hfZGlzYWJsZV9oZG1pKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQogCQlpbnRlbF9hdWRpb19jb2RlY19kaXNhYmxlKGVuY29k ZXIpOwogfQogCi1zdGF0aWMgdm9pZCBwY2hfcG9zdF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpCitzdGF0aWMgdm9pZCBwY2hfcG9zdF9kaXNhYmxlX2hkbWkoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xk X2Nvbm5fc3RhdGUpCiB7Ci0JaW50ZWxfZGlzYWJsZV9oZG1pKGVuY29kZXIpOworCWludGVsX2Rp c2FibGVfaGRtaShlbmNvZGVyLCBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3RhdGUpOwogfQog CiBzdGF0aWMgaW50IGludGVsX2hkbWlfc291cmNlX21heF90bWRzX2Nsb2NrKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKQEAgLTE2MzgsNyArMTY1NCw5IEBAIGRvbmU6CiAJcmV0 dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2hkbWlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGludGVsX2hkbWlfcHJlX2VuYWJsZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpwaXBlX2NvbmZpZywKKwkJCQkgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVs X2hkbWkoJmVuY29kZXItPmJhc2UpOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwpAQCAtMTY1MSw3ICsxNjY5LDkgQEAg c3RhdGljIHZvaWQgaW50ZWxfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQogCQkJCSAgIGFkanVzdGVkX21vZGUpOwogfQogCi1zdGF0aWMgdm9pZCB2bHZfaGRt aV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQg dmx2X2hkbWlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCisJCQkJc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZHBvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwogCXN0cnVjdCBpbnRlbF9o ZG1pICppbnRlbF9oZG1pID0gJmRwb3J0LT5oZG1pOwpAQCAtMTY3MSwzNyArMTY5MSw0NyBAQCBz dGF0aWMgdm9pZCB2bHZfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQogCQkJCSAgIGludGVsX2NydGMtPmNvbmZpZy0+aGFzX2hkbWlfc2luaywKIAkJCQkgICBh ZGp1c3RlZF9tb2RlKTsKIAotCWc0eF9lbmFibGVfaGRtaShlbmNvZGVyKTsKKwlnNHhfZW5hYmxl X2hkbWkoZW5jb2RlciwgcGlwZV9jb25maWcsIGNvbm5fc3RhdGUpOwogCiAJdmx2X3dhaXRfcG9y dF9yZWFkeShkZXZfcHJpdiwgZHBvcnQsIDB4MCk7CiB9CiAKLXN0YXRpYyB2b2lkIHZsdl9oZG1p X3ByZV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZv aWQgdmx2X2hkbWlfcHJlX3BsbF9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CisJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKKwkJCQkgICAg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJaW50ZWxfaGRtaV9w cmVwYXJlKGVuY29kZXIpOwogCiAJdmx2X3BoeV9wcmVfcGxsX2VuYWJsZShlbmNvZGVyKTsKIH0K IAotc3RhdGljIHZvaWQgY2h2X2hkbWlfcHJlX3BsbF9lbmFibGUoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCitzdGF0aWMgdm9pZCBjaHZfaGRtaV9wcmVfcGxsX2VuYWJsZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnBpcGVfY29uZmlnLAorCQkJCSAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9z dGF0ZSkKIHsKIAlpbnRlbF9oZG1pX3ByZXBhcmUoZW5jb2Rlcik7CiAKIAljaHZfcGh5X3ByZV9w bGxfZW5hYmxlKGVuY29kZXIpOwogfQogCi1zdGF0aWMgdm9pZCBjaHZfaGRtaV9wb3N0X3BsbF9k aXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgY2h2X2hk bWlfcG9zdF9wbGxfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkg ICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkJICAgICAg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewogCWNodl9waHlf cG9zdF9wbGxfZGlzYWJsZShlbmNvZGVyKTsKIH0KIAotc3RhdGljIHZvaWQgdmx2X2hkbWlfcG9z dF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgdmx2 X2hkbWlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQkJCSAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAorCQkJCSAgc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewogCS8qIFJlc2V0IGxhbmVzIHRv IGF2b2lkIEhETUkgZmxpY2tlciAoVkxWIHcvYSkgKi8KIAl2bHZfcGh5X3Jlc2V0X2xhbmVzKGVu Y29kZXIpOwogfQogCi1zdGF0aWMgdm9pZCBjaHZfaGRtaV9wb3N0X2Rpc2FibGUoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIpCitzdGF0aWMgdm9pZCBjaHZfaGRtaV9wb3N0X2Rpc2FibGUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq b2xkX2Nvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJh c2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2 KTsKQEAgLTE3MTQsNyArMTc0NCw5IEBAIHN0YXRpYyB2b2lkIGNodl9oZG1pX3Bvc3RfZGlzYWJs ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAltdXRleF91bmxvY2soJmRldl9wcml2 LT5zYl9sb2NrKTsKIH0KIAotc3RhdGljIHZvaWQgY2h2X2hkbWlfcHJlX2VuYWJsZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGNodl9oZG1pX3ByZV9lbmFibGUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkJc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnLAorCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKQogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRwb3J0ID0gZW5jX3RvX2RpZ19w b3J0KCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9ICZk cG9ydC0+aGRtaTsKQEAgLTE3MzQsNyArMTc2Niw3IEBAIHN0YXRpYyB2b2lkIGNodl9oZG1pX3By ZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJCQkJICAgaW50ZWxfY3J0 Yy0+Y29uZmlnLT5oYXNfaGRtaV9zaW5rLAogCQkJCSAgIGFkanVzdGVkX21vZGUpOwogCi0JZzR4 X2VuYWJsZV9oZG1pKGVuY29kZXIpOworCWc0eF9lbmFibGVfaGRtaShlbmNvZGVyLCBwaXBlX2Nv bmZpZywgY29ubl9zdGF0ZSk7CiAKIAl2bHZfd2FpdF9wb3J0X3JlYWR5KGRldl9wcml2LCBkcG9y dCwgMHgwKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCmluZGV4IDQ5NTUwNDcwNDgzZS4u NGNhZTRhOGVhNDkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCkBAIC0xMzYsNyArMTM2 LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfbHZkc19nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCXBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19jbG9j ayA9IHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9wcmVf ZW5hYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCitzdGF0aWMgdm9pZCBp bnRlbF9wcmVfZW5hYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkJ ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCisJCQkJICBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfbHZkc19lbmNv ZGVyICpsdmRzX2VuY29kZXIgPSB0b19sdmRzX2VuY29kZXIoJmVuY29kZXItPmJhc2UpOwogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKQEAgLTIxMCw3ICsyMTIs OSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfZW5hYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCiAvKioKICAqIFNldHMgdGhlIHBvd2VyIHN0YXRlIGZvciB0aGUgcGFuZWwu CiAgKi8KLXN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9sdmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyKQorc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2x2ZHMoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCisJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCisJCQkgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkK IHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0 IGludGVsX2x2ZHNfZW5jb2RlciAqbHZkc19lbmNvZGVyID0gdG9fbHZkc19lbmNvZGVyKCZlbmNv ZGVyLT5iYXNlKTsKQEAgLTIzNyw3ICsyNDEsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVf bHZkcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlpbnRlbF9wYW5lbF9lbmFibGVf YmFja2xpZ2h0KGludGVsX2Nvbm5lY3Rvcik7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2Rpc2Fi bGVfbHZkcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGludGVs X2Rpc2FibGVfbHZkcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCSAgICAgICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkgICAgICAgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZF9jb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgaW50ZWxfbHZkc19lbmNvZGVy ICpsdmRzX2VuY29kZXIgPSB0b19sdmRzX2VuY29kZXIoJmVuY29kZXItPmJhc2UpOwpAQCAtMjYw LDcgKzI2NiwxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2x2ZHMoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIpCiAJUE9TVElOR19SRUFEKGx2ZHNfZW5jb2Rlci0+cmVnKTsKIH0K IAotc3RhdGljIHZvaWQgZ21jaF9kaXNhYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIpCitzdGF0aWMgdm9pZCBnbWNoX2Rpc2FibGVfbHZkcyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKKwkJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19z dGF0ZSwKKwkJCSAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0 ZSkKKwogewogCXN0cnVjdCBpbnRlbF9sdmRzX2VuY29kZXIgKmx2ZHNfZW5jb2RlciA9IHRvX2x2 ZHNfZW5jb2RlcigmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50 ZWxfY29ubmVjdG9yID0KQEAgLTI2OCwxMCArMjc3LDEyIEBAIHN0YXRpYyB2b2lkIGdtY2hfZGlz YWJsZV9sdmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCiAJaW50ZWxfcGFuZWxf ZGlzYWJsZV9iYWNrbGlnaHQoaW50ZWxfY29ubmVjdG9yKTsKIAotCWludGVsX2Rpc2FibGVfbHZk cyhlbmNvZGVyKTsKKwlpbnRlbF9kaXNhYmxlX2x2ZHMoZW5jb2Rlciwgb2xkX2NydGNfc3RhdGUs IG9sZF9jb25uX3N0YXRlKTsKIH0KIAotc3RhdGljIHZvaWQgcGNoX2Rpc2FibGVfbHZkcyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIHBjaF9kaXNhYmxlX2x2ZHMo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKKwkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKm9sZF9jb25uX3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9sdmRzX2VuY29kZXIgKmx2ZHNf ZW5jb2RlciA9IHRvX2x2ZHNfZW5jb2RlcigmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGludGVs X2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0KQEAgLTI4MCw5ICsyOTEsMTEgQEAgc3RhdGlj IHZvaWQgcGNoX2Rpc2FibGVfbHZkcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlp bnRlbF9wYW5lbF9kaXNhYmxlX2JhY2tsaWdodChpbnRlbF9jb25uZWN0b3IpOwogfQogCi1zdGF0 aWMgdm9pZCBwY2hfcG9zdF9kaXNhYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpCitzdGF0aWMgdm9pZCBwY2hfcG9zdF9kaXNhYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCisJCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3Rh dGUsCisJCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUpCiB7 Ci0JaW50ZWxfZGlzYWJsZV9sdmRzKGVuY29kZXIpOworCWludGVsX2Rpc2FibGVfbHZkcyhlbmNv ZGVyLCBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3RhdGUpOwogfQogCiBzdGF0aWMgZW51bSBk cm1fbW9kZV9zdGF0dXMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nk dm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwppbmRleCBlMzc4ZjM1MzY1 YTIuLjQ4ZjVkZWI2YTRjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c2R2by5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwpAQCAtMTE5Miw3 ICsxMTkyLDkgQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19jb21wdXRlX2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIHZvaWQg aW50ZWxfc2R2b19wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVy KQorc3RhdGljIHZvaWQgaW50ZWxfc2R2b19wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICppbnRlbF9lbmNvZGVyLAorCQkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCisJCQkJICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwpAQCAtMTQzNCw3ICsx NDM2LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2R2b19nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogCSAgICAgcGlwZV9jb25maWctPnBpeGVsX211bHRpcGxpZXIsIGVu Y29kZXJfcGl4ZWxfbXVsdGlwbGllcik7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVf c2R2byhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIGludGVsX2Rp c2FibGVfc2R2byhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCSAgICAgICBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkgICAgICAgc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVs X3Nkdm8gKmludGVsX3Nkdm8gPSB0b19zZHZvKGVuY29kZXIpOwpAQCAtMTQ3NywxNiArMTQ4MSwy MiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX3Nkdm8oc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIpCiAJfQogfQogCi1zdGF0aWMgdm9pZCBwY2hfZGlzYWJsZV9zZHZvKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgcGNoX2Rpc2FibGVfc2R2byhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKm9sZF9jcnRjX3N0YXRlLAorCQkJICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq b2xkX2Nvbm5fc3RhdGUpCiB7CiB9CiAKLXN0YXRpYyB2b2lkIHBjaF9wb3N0X2Rpc2FibGVfc2R2 byhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyB2b2lkIHBjaF9wb3N0X2Rp c2FibGVfc2R2byhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkgIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKKwkJCQkgIHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkKIHsKLQlpbnRlbF9kaXNhYmxlX3Nkdm8oZW5jb2Rl cik7CisJaW50ZWxfZGlzYWJsZV9zZHZvKGVuY29kZXIsIG9sZF9jcnRjX3N0YXRlLCBvbGRfY29u bl9zdGF0ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9zZHZvKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKQorc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX3Nkdm8oc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqcGlwZV9jb25maWcsCisJCQkgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29u bl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3R2LmMKaW5kZXggNDkxMzZhZDU0NzNlLi40NDBjZTc5MzM1NzMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfdHYuYwpAQCAtODM4LDcgKzgzOCw5IEBAIGludGVsX3R2X2dldF9od19z dGF0ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwgZW51bSBwaXBlICpwaXBlKQogfQog CiBzdGF0aWMgdm9pZAotaW50ZWxfZW5hYmxlX3R2KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQoraW50ZWxfZW5hYmxlX3R2KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAorCQlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCisJCXN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNv ZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7CkBAIC04NTEsNyArODUzLDkgQEAgaW50ZWxfZW5hYmxlX3R2KHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKQogfQogCiBzdGF0aWMgdm9pZAotaW50ZWxfZGlzYWJsZV90dihz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKK2ludGVsX2Rpc2FibGVfdHYoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCisJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGUsCisJCSBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUp CiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKQEAgLTEwMTAsNyAr MTAxNCw5IEBAIHN0YXRpYyB2b2lkIHNldF9jb2xvcl9jb252ZXJzaW9uKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAkJICAgY29sb3JfY29udmVyc2lvbi0+YXYpOwogfQogCi1z dGF0aWMgdm9pZCBpbnRlbF90dl9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQorc3RhdGljIHZvaWQgaW50ZWxfdHZfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKKwkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCisJ CQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK