From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 07/14] drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi. Date: Thu, 24 Oct 2019 14:47:58 +0200 Message-ID: <20191024124805.26840-7-maarten.lankhorst@linux.intel.com> References: <20191024124805.26840-1-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 8BCC16E3CE for ; Thu, 24 Oct 2019 12:48:11 +0000 (UTC) In-Reply-To: <20191024124805.26840-1-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 U3BsaXQgdXAgY3J0Y19zdGF0ZS0+YmFzZSB0byB1YXBpLiBUaGlzIGlzIGRvbmUgdXNpbmcgdGhl IGZvbGxvd2luZyBwYXRjaCwKcmFuIGFmdGVyIHRoZSBwcmV2aW91cyBjb21taXQgdGhhdCBzcGxp dHMgb3V0IGFueSBodyByZWZlcmVuY2VzOgoKQEAKc3RydWN0IGludGVsX2NydGNfc3RhdGUgKlQ7 CkBACi1ULT5iYXNlCitULT51YXBpCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ljbF9kc2kuYyAgICAgICAgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgICB8ICAgOCArLQogLi4uL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jIHwgICA2ICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2F1ZGlvLmMgICAgfCAgIDggKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYncuYyAgICAgICB8ICAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9jZGNsay5jICAgIHwgIDEwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2NvbG9yLmMgICAgfCAgNzAgKystLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfY3J0LmMgICAgICB8ICAgNiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAgICAgIHwgIDMyICstLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgMjU3ICsrKysrKysrKy0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jICAgICAgIHwgIDIwICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jICAgfCAgIDQgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBpb19waHkuYyB8ICAxNCArLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5jIHwgIDIwICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2R2by5jICAgICAgfCAgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jICAgICB8ICA0NCArLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfbHZkcy5jICAgICB8ICAgNCArLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wYW5lbC5jICAgIHwgICA2ICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BpcGVfY3JjLmMgfCAgIDQgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMgICAgICB8ICAgNiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zZHZvLmMgICAgIHwgICA2ICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jICAgfCAgMTcgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfdHYuYyAgICAgICB8ICAgNCArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMgICAgIHwgICA4ICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L3Zsdl9kc2kuYyAgICAgICAgfCAgMTAgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jICAgICAgICAgICB8ICAgNiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyAgICAgICAgICAgICAgIHwgMTEyICsrKystLS0tCiAyNyBmaWxlcyBjaGFu Z2VkLCAzNDggaW5zZXJ0aW9ucygrKSwgMzQ2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pY2xfZHNpLmMKaW5kZXggNGVjNDkzZTQ3NTViLi4wZTI0YjhlMjU3ZTUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jCkBAIC02MjUsNyArNjI1LDcgQEAg Z2VuMTFfZHNpX2NvbmZpZ3VyZV90cmFuc2NvZGVyKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19p bnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7 CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCXUzMiB0bXA7CiAJZW51bSBw b3J0IHBvcnQ7CkBAIC0xMjQyLDcgKzEyNDIsNyBAQCBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfZ2V0 X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7 CiAJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rl ci0+YmFzZSk7CiAKIAkvKiBGSVhNRTogYWRhcHQgaWNsX2RkaV9jbG9ja19nZXQoKSBmb3IgRFNJ IGFuZCB1c2UgdGhhdD8gKi8KQEAgLTEyNjUsNyArMTI2NSw3IEBAIHN0YXRpYyBpbnQgZ2VuMTFf ZHNpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGNvbnRhaW5lcl9vZihlbmNvZGVyLCBzdHJ1Y3QgaW50 ZWxfZHNpLAogCQkJCQkJICAgYmFzZSk7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxf Y29ubmVjdG9yID0gaW50ZWxfZHNpLT5hdHRhY2hlZF9jb25uZWN0b3I7Ci0Jc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5j cnRjKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZSA9CiAJCQkJ CWludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZml4ZWRfbW9kZTsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqYWRqdXN0ZWRfbW9kZSA9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9hdG9taWMuYwppbmRleCAyY2RjOTI4OTdhYmQuLjdjZjEzYjljN2QzOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCkBAIC0xOTMsNyArMTkzLDcgQEAg aW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWlmICgh Y3J0Y19zdGF0ZSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNf ZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRlLT5iYXNlKTsKKwlfX2RybV9hdG9taWNf aGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRlLT51YXBpKTsKIAog CWNydGNfc3RhdGUtPnVwZGF0ZV9waXBlID0gZmFsc2U7CiAJY3J0Y19zdGF0ZS0+ZGlzYWJsZV9s cF93bSA9IGZhbHNlOwpAQCAtMjA1LDcgKzIwNSw3IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAljcnRjX3N0YXRlLT5mYl9iaXRzID0gMDsKIAlj cnRjX3N0YXRlLT51cGRhdGVfcGxhbmVzID0gMDsKIAotCXJldHVybiAmY3J0Y19zdGF0ZS0+YmFz ZTsKKwlyZXR1cm4gJmNydGNfc3RhdGUtPnVhcGk7CiB9CiAKIC8qKgpAQCAtMjIyLDcgKzIyMiw3 IEBAIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiB7CiAJ c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRl KHN0YXRlKTsKIAotCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRj X3N0YXRlLT5iYXNlKTsKKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgm Y3J0Y19zdGF0ZS0+dWFwaSk7CiAJa2ZyZWUoY3J0Y19zdGF0ZSk7CiB9CiAKQEAgLTMxOSw3ICsz MTksNyBAQCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogewogCXN0cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSAqc2Nh bGVyX3N0YXRlID0KIAkJJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKLQlzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqZHJtX3N0YXRlID0gY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZTsKKwlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqZHJtX3N0YXRlID0gY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZTsKIAlz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShk cm1fc3RhdGUpOwogCWludCBudW1fc2NhbGVyc19uZWVkOwogCWludCBpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKaW5kZXggODQ3Zjlj NGVjYmJkLi5kOTJjMTg1ZDRiNGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYwpAQCAtMjY4LDcgKzI2OCw3IEBAIHZvaWQgaW50ZWxf dXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCQljb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNy dGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAl0cmFjZV9pbnRl bF91cGRhdGVfcGxhbmUoJnBsYW5lLT5iYXNlLCBjcnRjKTsKIAlwbGFuZS0+dXBkYXRlX3BsYW5l KHBsYW5lLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7CkBAIC0yNzgsNyArMjc4LDcgQEAgdm9p ZCBpbnRlbF91cGRhdGVfc2xhdmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAkJCWNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJY29uc3Qgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAogCXRy YWNlX2ludGVsX3VwZGF0ZV9wbGFuZSgmcGxhbmUtPmJhc2UsIGNydGMpOwogCXBsYW5lLT51cGRh dGVfc2xhdmUocGxhbmUsIGNydGNfc3RhdGUsIHBsYW5lX3N0YXRlKTsKQEAgLTI4Nyw3ICsyODcs NyBAQCB2b2lkIGludGVsX3VwZGF0ZV9zbGF2ZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAog dm9pZCBpbnRlbF9kaXNhYmxlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCQkg Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAKIAl0cmFjZV9pbnRlbF9kaXNhYmxlX3BsYW5lKCZwbGFuZS0+YmFzZSwgY3J0Yyk7 CiAJcGxhbmUtPmRpc2FibGVfcGxhbmUocGxhbmUsIGNydGNfc3RhdGUpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jCmluZGV4IDZhNThlOGFkODZmOC4uNTY4MGVl ZDljNzFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F1 ZGlvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jCkBA IC01NTQsNyArNTU0LDcgQEAgc3RhdGljIHZvaWQgaWxrX2F1ZGlvX2NvZGVjX2Rpc2FibGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAllbnVtIHBvcnQgcG9y dCA9IGVuY29kZXItPnBvcnQ7CiAJdTMyIHRtcCwgZWxkdjsKQEAgLTYwMSw3ICs2MDEsNyBAQCBz dGF0aWMgdm9pZCBpbGtfYXVkaW9fY29kZWNfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IgPSBjb25uX3N0YXRlLT5jb25uZWN0b3I7CiAJZW51bSBwaXBlIHBpcGUgPSBj cnRjLT5waXBlOwogCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKQEAgLTY5MSw3ICs2 OTEsNyBAQCB2b2lkIGludGVsX2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgKmFj b21wID0gZGV2X3ByaXYtPmF1ZGlvX2NvbXBvbmVudDsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29ubl9zdGF0ZS0+Y29ubmVjdG9yOwogCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KIAkJJmNydGNfc3Rh dGUtPmh3LmFkanVzdGVkX21vZGU7CkBAIC03NTIsNyArNzUyLDcgQEAgdm9pZCBpbnRlbF9hdWRp b19jb2RlY19kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYp OwogCXN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudCAqYWNvbXAgPSBkZXZfcHJpdi0+YXVkaW9f Y29tcG9uZW50OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRf Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMob2xkX2NydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJZW51bSBwb3J0IHBvcnQgPSBl bmNvZGVyLT5wb3J0OwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jCmluZGV4IDIyZTgzZjg1N2RlOC4uM2Y2ZTI5ZjYx MzIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2J3LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jCkBAIC0yOTcsNyAr Mjk3LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBpbnRlbF9id19jcnRjX251bV9hY3RpdmVfcGxh bmVzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXQKIAogc3RhdGljIHVuc2lnbmVkIGludCBp bnRlbF9id19jcnRjX2RhdGFfcmF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAl1bnNpZ25lZCBpbnQgZGF0YV9yYXRlID0g MDsKIAllbnVtIHBsYW5lX2lkIHBsYW5lX2lkOwogCkBAIC0zMTgsNyArMzE4LDcgQEAgc3RhdGlj IHVuc2lnbmVkIGludCBpbnRlbF9id19jcnRjX2RhdGFfcmF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y18KIHZvaWQgaW50ZWxfYndfY3J0Y191cGRhdGUoc3RydWN0IGludGVs X2J3X3N0YXRlICpid19zdGF0ZSwKIAkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAlid19zdGF0ZS0+ZGF0YV9yYXRl W2NydGMtPnBpcGVdID0KIAkJaW50ZWxfYndfY3J0Y19kYXRhX3JhdGUoY3J0Y19zdGF0ZSk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NkY2xrLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NkY2xrLmMKaW5kZXggZmQxZWQwZmI4 NzQ4Li45MzFmMTlkYmQ0ZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfY2RjbGsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2NkY2xrLmMKQEAgLTE5MDIsNyArMTkwMiw3IEBAIGludGVsX3NldF9jZGNsa19wb3N0X3BsYW5l X3VwZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIHN0YXRpYyBpbnQg aW50ZWxfcGl4ZWxfcmF0ZV90b19jZGNsayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlpbnQg cGl4ZWxfcmF0ZSA9IGNydGNfc3RhdGUtPnBpeGVsX3JhdGU7CiAKIAlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKQEAgLTE5MjEsNyArMTky MSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfcGl4ZWxfcmF0ZV90b19jZGNsayhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfbWlu X2NkY2xrKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Ci0JCXRvX2k5MTUoY3J0Y19zdGF0ZS0+ YmFzZS5jcnRjLT5kZXYpOworCQl0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsK IAlpbnQgbWluX2NkY2xrOwogCiAJaWYgKCFjcnRjX3N0YXRlLT5ody5lbmFibGUpCkBAIC0yMjYx LDEwICsyMjYxLDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfbW9kZXNldF9hbGxfcGlwZXMoc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCQlyZXR1cm4gUFRSX0VSUihjcnRjX3N0YXRl KTsKIAogCQlpZiAoIWNydGNfc3RhdGUtPmh3LmFjdGl2ZSB8fAotCQkgICAgZHJtX2F0b21pY19j cnRjX25lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUtPmJhc2UpKQorCQkgICAgZHJtX2F0b21pY19j cnRjX25lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUtPnVhcGkpKQogCQkJY29udGludWU7CiAKLQkJ Y3J0Y19zdGF0ZS0+YmFzZS5tb2RlX2NoYW5nZWQgPSB0cnVlOworCQljcnRjX3N0YXRlLT51YXBp Lm1vZGVfY2hhbmdlZCA9IHRydWU7CiAKIAkJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRf Y29ubmVjdG9ycygmc3RhdGUtPmJhc2UsCiAJCQkJCQkJICZjcnRjLT5iYXNlKTsKQEAgLTIzMzAs NyArMjMzMCw3IEBAIGludCBpbnRlbF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUpCiAJCWNydGMgPSBpbnRlbF9nZXRfY3J0Y19mb3JfcGlwZShkZXZf cHJpdiwgcGlwZSk7CiAJCWNydGNfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0 YXRlKHN0YXRlLCBjcnRjKTsKIAkJaWYgKGNydGNfc3RhdGUgJiYKLQkJICAgIGRybV9hdG9taWNf Y3J0Y19uZWVkc19tb2Rlc2V0KCZjcnRjX3N0YXRlLT5iYXNlKSkKKwkJICAgIGRybV9hdG9taWNf Y3J0Y19uZWVkc19tb2Rlc2V0KCZjcnRjX3N0YXRlLT51YXBpKSkKIAkJCXBpcGUgPSBJTlZBTElE X1BJUEU7CiAJfSBlbHNlIHsKIAkJcGlwZSA9IElOVkFMSURfUElQRTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwppbmRleCA2NWUxYjE4YmQ3ZTMuLjUyNzEyYmI5 ZWQxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xv ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwpAQCAt MjA1LDcgKzIwNSw3IEBAIHN0YXRpYyB2b2lkIGljbF91cGRhdGVfb3V0cHV0X2NzYyhzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YywKIAogc3RhdGljIGJvb2wgaWxrX2NzY19saW1pdGVkX3JhbmdlKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5k ZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19z dGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCiAJLyoKIAkgKiBGSVhNRSBpZiB0aGVyZSdzIGEgZ2Ft bWEgTFVUIGFmdGVyIHRoZSBDU0MsIHdlIHNob3VsZApAQCAtMjcwLDcgKzI3MCw3IEBAIHN0YXRp YyB2b2lkIGlsa19jc2NfY29udmVydF9jdG0oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCiAKIHN0YXRpYyB2b2lkIGlsa19sb2FkX2NzY19tYXRyaXgoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRl dik7CiAJYm9vbCBsaW1pdGVkX2NvbG9yX3JhbmdlID0gaWxrX2NzY19saW1pdGVkX3JhbmdlKGNy dGNfc3RhdGUpOwogCkBAIC0zMDksNyArMzA5LDcgQEAgc3RhdGljIHZvaWQgaWxrX2xvYWRfY3Nj X21hdHJpeChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAogc3Rh dGljIHZvaWQgaWNsX2xvYWRfY3NjX21hdHJpeChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAogCWlmIChjcnRjX3N0 YXRlLT5ody5jdG0pIHsKQEAgLTMzOCw3ICszMzgsNyBAQCBzdGF0aWMgdm9pZCBpY2xfbG9hZF9j c2NfbWF0cml4KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogICov CiBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRfY3NjX21hdHJpeChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAll bnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKQEAgLTQwNCw3ICs0MDQsNyBAQCBzdGF0aWMg dTMyIGlsa19sdXRfMTAoY29uc3Qgc3RydWN0IGRybV9jb2xvcl9sdXQgKmNvbG9yKQogc3RhdGlj IHZvaWQgaTl4eF9sb2FkX2x1dHNfaW50ZXJuYWwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAq YmxvYikKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19z dGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMt PnBpcGU7CiAJaW50IGk7CkBAIC00NDAsNyArNDQwLDcgQEAgc3RhdGljIHZvaWQgaTl4eF9sb2Fk X2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHN0YXRp YyB2b2lkIGk5eHhfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0g Y3J0Yy0+cGlwZTsKIAl1MzIgdmFsOwpAQCAtNDUzLDcgKzQ1Myw3IEBAIHN0YXRpYyB2b2lkIGk5 eHhfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogCiBzdGF0aWMgdm9pZCBpbGtfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlw ZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIgdmFsOwpAQCAtNDY4LDcgKzQ2OCw3IEBAIHN0YXRp YyB2b2lkIGlsa19jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCiAKIHN0YXRpYyB2b2lkIGhzd19jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAK IAlJOTE1X1dSSVRFKEdBTU1BX01PREUoY3J0Yy0+cGlwZSksIGNydGNfc3RhdGUtPmdhbW1hX21v ZGUpOwpAQCAtNDc4LDcgKzQ3OCw3IEBAIHN0YXRpYyB2b2lkIGhzd19jb2xvcl9jb21taXQoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHN0YXRpYyB2b2lkIHNr bF9jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp CiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNy dGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBl OwogCXUzMiB2YWwgPSAwOwpAQCAtNTI0LDcgKzUyNCw3IEBAIHN0YXRpYyB2b2lkIGk5NjVfbG9h ZF9sdXRfMTBwNihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAogc3RhdGljIHZvaWQgaTk2NV9s b2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0J c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3Rh dGUtPnVhcGkuY3J0Yyk7CiAJY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpnYW1tYV9s dXQgPSBjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQ7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFf bW9kZSA9PSBHQU1NQV9NT0RFX01PREVfOEJJVCkKQEAgLTU0Nyw3ICs1NDcsNyBAQCBzdGF0aWMg dm9pZCBpbGtfbG9hZF9sdXRfMTAoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAKIHN0YXRpYyB2 b2lkIGlsa19sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3Rh dGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9i ICpnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQ7CiAKIAlpZiAoY3J0Y19zdGF0 ZS0+Z2FtbWFfbW9kZSA9PSBHQU1NQV9NT0RFX01PREVfOEJJVCkKQEAgLTY1NCw3ICs2NTQsNyBA QCBzdGF0aWMgdm9pZCBpdmJfbG9hZF9sdXRfZXh0X21heChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YykKIAogc3RhdGljIHZvaWQgaXZiX2xvYWRfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgZHJt X3Byb3BlcnR5X2Jsb2IgKmdhbW1hX2x1dCA9IGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dDsKIAlj b25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0+ aHcuZGVnYW1tYV9sdXQ7CiAKQEAgLTY3Nyw3ICs2NzcsNyBAQCBzdGF0aWMgdm9pZCBpdmJfbG9h ZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0 aWMgdm9pZCBiZHdfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlf YmxvYiAqZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0OwogCWNvbnN0IHN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqZGVnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5ody5kZWdhbW1h X2x1dDsKIApAQCAtNzAwLDcgKzcwMCw3IEBAIHN0YXRpYyB2b2lkIGJkd19sb2FkX2x1dHMoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHN0YXRpYyB2b2lkIGds a19sb2FkX2RlZ2FtbWFfbHV0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+ cGlwZTsKIAljb25zdCB1MzIgbHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3Iu ZGVnYW1tYV9sdXRfc2l6ZTsKQEAgLTczOSw3ICs3MzksNyBAQCBzdGF0aWMgdm9pZCBnbGtfbG9h ZF9kZWdhbW1hX2x1dChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkK IAogc3RhdGljIHZvaWQgZ2xrX2xvYWRfZGVnYW1tYV9sdXRfbGluZWFyKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwog CWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAljb25zdCB1MzIgbHV0X3NpemUgPSBJTlRF TF9JTkZPKGRldl9wcml2KS0+Y29sb3IuZGVnYW1tYV9sdXRfc2l6ZTsKQEAgLTc2Nyw3ICs3Njcs NyBAQCBzdGF0aWMgdm9pZCBnbGtfbG9hZF9kZWdhbW1hX2x1dF9saW5lYXIoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdAogc3RhdGljIHZvaWQgZ2xrX2xvYWRfbHV0cyhj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAljb25zdCBzdHJ1 Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmdhbW1hX2x1dCA9IGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1 dDsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAogCS8qCiAJICogT24gR0xLKyBib3RoIHBpcGUgQ1NDIGFu ZCBkZWdhbW1hIExVVCBhcmUgY29udHJvbGxlZApAQCAtODA4LDcgKzgwOCw3IEBAIHN0YXRpYyB2 b2lkCiBpY2xfbG9hZF9nY21heChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKIAkgICAgICAgY29uc3Qgc3RydWN0IGRybV9jb2xvcl9sdXQgKmNvbG9yKQogewotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9kc2IgKmRzYiA9IGludGVsX2RzYl9nZXQoY3J0 Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwogCkBAIC04MjIsNyArODIyLDcgQEAg aWNsX2xvYWRfZ2NtYXgoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiBzdGF0aWMgdm9pZAogaWNsX3Byb2dyYW1fZ2FtbWFfc3VwZXJmaW5lX3NlZ21lbnQoY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7 CiAJY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iID0gY3J0Y19zdGF0ZS0+aHcu Z2FtbWFfbHV0OwogCWNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQgPSBibG9iLT5kYXRh OwogCXN0cnVjdCBpbnRlbF9kc2IgKmRzYiA9IGludGVsX2RzYl9nZXQoY3J0Yyk7CkBAIC04NTQs NyArODU0LDcgQEAgaWNsX3Byb2dyYW1fZ2FtbWFfc3VwZXJmaW5lX3NlZ21lbnQoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiBzdGF0aWMgdm9pZAogaWNsX3Byb2dy YW1fZ2FtbWFfbXVsdGlfc2VnbWVudChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5 X2Jsb2IgKmJsb2IgPSBjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQ7CiAJY29uc3Qgc3RydWN0IGRy bV9jb2xvcl9sdXQgKmx1dCA9IGJsb2ItPmRhdGE7CiAJY29uc3Qgc3RydWN0IGRybV9jb2xvcl9s dXQgKmVudHJ5OwpAQCAtOTExLDcgKzkxMSw3IEBAIGljbF9wcm9ncmFtX2dhbW1hX211bHRpX3Nl Z21lbnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiBzdGF0aWMg dm9pZCBpY2xfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFfbHV0ID0gY3J0 Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9k c2IgKmRzYiA9IGludGVsX2RzYl9nZXQoY3J0Yyk7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+aHcuZGVn YW1tYV9sdXQpCkBAIC05OTAsNyArOTkwLDcgQEAgc3RhdGljIHZvaWQgY2h2X2xvYWRfY2dtX2dh bW1hKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCiBzdGF0aWMgdm9pZCBjaHZfbG9hZF9sdXRz KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwor CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBp LmNydGMpOwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFfbHV0ID0gY3J0 Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0OwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAq ZGVnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dDsKIApAQCAtMTAxMCwyOCAr MTAxMCwyOCBAQCBzdGF0aWMgdm9pZCBjaHZfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiB2b2lkIGludGVsX2NvbG9yX2xvYWRfbHV0cyhjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2 KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3Rh dGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAogCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyhjcnRj X3N0YXRlKTsKIH0KIAogdm9pZCBpbnRlbF9jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMt PmRldik7CiAKIAlkZXZfcHJpdi0+ZGlzcGxheS5jb2xvcl9jb21taXQoY3J0Y19zdGF0ZSk7CiB9 CiAKIGludCBpbnRlbF9jb2xvcl9jaGVjayhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNy dGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAogCXJldHVybiBk ZXZfcHJpdi0+ZGlzcGxheS5jb2xvcl9jaGVjayhjcnRjX3N0YXRlKTsKIH0KIAogdm9pZCBpbnRl bF9jb2xvcl9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQog ewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0 ZS0+YmFzZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCiAJaWYgKGRldl9wcml2LT5k aXNwbGF5LnJlYWRfbHV0cykKIAkJZGV2X3ByaXYtPmRpc3BsYXkucmVhZF9sdXRzKGNydGNfc3Rh dGUpOwpAQCAtMTA1NSwxNiArMTA1NSwxNiBAQCBzdGF0aWMgYm9vbCBuZWVkX3BsYW5lX3VwZGF0 ZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogc3RhdGljIGludAogaW50ZWxfY29sb3JfYWRk X2FmZmVjdGVkX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUp CiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0 YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+ YmFzZS5zdGF0ZSk7CisJCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+dWFw aS5zdGF0ZSk7CiAJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl ID0KIAkJaW50ZWxfYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7CiAJc3Ry dWN0IGludGVsX3BsYW5lICpwbGFuZTsKIAogCWlmICghbmV3X2NydGNfc3RhdGUtPmh3LmFjdGl2 ZSB8fAotCSAgICBkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUt PmJhc2UpKQorCSAgICBkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3Rh dGUtPnVhcGkpKQogCQlyZXR1cm4gMDsKIAogCWlmIChuZXdfY3J0Y19zdGF0ZS0+Z2FtbWFfZW5h YmxlID09IG9sZF9jcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUgJiYKQEAgLTExMDcsNyArMTEwNyw3 IEBAIHN0YXRpYyBpbnQgY2hlY2tfbHV0X3NpemUoY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9i bG9iICpsdXQsIGludCBleHBlY3RlZCkKIAogc3RhdGljIGludCBjaGVja19sdXRzKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjLT5kZXYpOwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFf bHV0ID0gY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0OwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVy dHlfYmxvYiAqZGVnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dDsKIAlpbnQg Z2FtbWFfbGVuZ3RoLCBkZWdhbW1hX2xlbmd0aDsKQEAgLTE0ODAsNyArMTQ4MCw3IEBAIHN0YXRp YyBpbnQgZ2xrX2dhbW1hX3ByZWNpc2lvbihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIAogaW50IGludGVsX2NvbG9yX2dldF9nYW1tYV9iaXRfcHJlY2lzaW9uKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNy dGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ YmFzZS5kZXYpOwogCiAJaWYgKEhBU19HTUNIKGRldl9wcml2KSkgewpAQCAtMTU4Niw3ICsxNTg2 LDcgQEAgc3RhdGljIHUzMiBpbnRlbF9jb2xvcl9sdXRfcGFjayh1MzIgdmFsLCB1MzIgYml0X3By ZWNpc2lvbikKIHN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKgogaTl4eF9yZWFkX2x1 dF84KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMp OworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2I7CkBAIC0xNjI5LDcgKzE2MjksNyBAQCBzdGF0aWMgdm9p ZCBpOXh4X3JlYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHN0 YXRpYyBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKgogaTk2NV9yZWFkX2x1dF8xMHA2KGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMp OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFz ZS5kZXYpOwogCXUzMiBsdXRfc2l6ZSA9IElOVEVMX0lORk8oZGV2X3ByaXYpLT5jb2xvci5nYW1t YV9sdXRfc2l6ZTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CkBAIC0xNjgxLDcgKzE2 ODEsNyBAQCBzdGF0aWMgdm9pZCBpOTY1X3JlYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKgogY2h2X3Jl YWRfY2dtX2x1dChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsK LQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFz ZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19z dGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgbHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9w cml2KS0+Y29sb3IuZ2FtbWFfbHV0X3NpemU7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBl OwpAQCAtMTcyMyw3ICsxNzIzLDcgQEAgc3RhdGljIHZvaWQgY2h2X3JlYWRfbHV0cyhzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3BlcnR5 X2Jsb2IgKgogaWxrX3JlYWRfbHV0XzEwKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCXUzMiBsdXRfc2l6ZSA9IElO VEVMX0lORk8oZGV2X3ByaXYpLT5jb2xvci5nYW1tYV9sdXRfc2l6ZTsKIAllbnVtIHBpcGUgcGlw ZSA9IGNydGMtPnBpcGU7CkBAIC0xNzcwLDcgKzE3NzAsNyBAQCBzdGF0aWMgdm9pZCBpbGtfcmVh ZF9sdXRzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogc3RhdGljIHN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqCiBnbGtfcmVhZF9sdXRfMTAoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIHUzMiBwcmVjX2luZGV4KQogewotCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNy dGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ YmFzZS5kZXYpOwogCWludCBod19sdXRfc2l6ZSA9IGl2Yl9sdXRfMTBfc2l6ZShwcmVjX2luZGV4 KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NydC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9jcnQuYwppbmRleCAzOTlhYmMzZDUyMWUuLjE2NGFmMTkzNmQzOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jcnQuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NydC5jCkBAIC0xNjEsNyArMTYxLDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfY3J0X3NldF9kcG1zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnQgKmNydCA9IGludGVsX2VuY29kZXJf dG9fY3J0KGVuY29kZXIpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJmNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7 CiAJdTMyIGFkcGE7CiAKQEAgLTI3MSw3ICsyNzEsNyBAQCBzdGF0aWMgdm9pZCBoc3dfcHJlX2Vu YWJsZV9jcnQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICAgY29uc3Qg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PnVhcGkuY3J0Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwogCiAJV0FSTl9PTigh Y3J0Y19zdGF0ZS0+aGFzX3BjaF9lbmNvZGVyKTsKQEAgLTI4OCw3ICsyODgsNyBAQCBzdGF0aWMg dm9pZCBoc3dfZW5hYmxlX2NydChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAg IGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYp OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT51YXBpLmNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAogCVdB Uk5fT04oIWNydGNfc3RhdGUtPmhhc19wY2hfZW5jb2Rlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYwppbmRleCA3Y2QwNWNhN2M4MTkuLjM5MDJiMTU5YjVkOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCkBAIC0xNzQ0LDcgKzE3NDQs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogdm9pZCBpbnRlbF9kZGlfc2V0X2RwX21zYShjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKmNvbm5fc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSB0cmFu c2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAJdTMy IHRlbXA7CkBAIC0xODA2LDcgKzE4MDYsNyBAQCB2b2lkIGludGVsX2RkaV9zZXRfZHBfbXNhKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogdm9pZCBpbnRlbF9kZGlf c2V0X3ZjX3BheWxvYWRfYWxsb2MoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCiAJCQkJICAgIGJvb2wgc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJ ZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29k ZXI7CiAJdTMyIHRlbXA7CkBAIC0xODI4LDcgKzE4MjgsNyBAQCB2b2lkIGludGVsX2RkaV9zZXRf dmNfcGF5bG9hZF9hbGxvYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKIHN0YXRpYyB1MzIKIGludGVsX2RkaV90cmFuc2NvZGVyX2Z1bmNfcmVnX3ZhbF9nZXQoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0 Yyk7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBpbnRlbF9kZGlfZ2V0X2NydGNf ZW5jb2RlcihjcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CkBAIC0x OTE1LDcgKzE5MTUsNyBAQCBpbnRlbF9kZGlfdHJhbnNjb2Rlcl9mdW5jX3JlZ192YWxfZ2V0KGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiB2b2lkIGludGVsX2Rk aV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gdHJhbnNjb2RlciBj cHVfdHJhbnNjb2RlciA9IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwogCXUzMiB0ZW1wOwpA QCAtMTkzMSw3ICsxOTMxLDcgQEAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVu Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyB2b2lk CiBpbnRlbF9kZGlfY29uZmlnX3RyYW5zY29kZXJfZnVuYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHRy YW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAl1 MzIgdGVtcDsKQEAgLTE5NDMsNyArMTk0Myw3IEBAIGludGVsX2RkaV9jb25maWdfdHJhbnNjb2Rl cl9mdW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiB2b2lk IGludGVsX2RkaV9kaXNhYmxlX3RyYW5zY29kZXJfZnVuYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHRy YW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAlp OTE1X3JlZ190IHJlZyA9IFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJhbnNjb2Rlcik7CkBAIC0y MjQxLDcgKzIyNDEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfZ2V0X3Bvd2VyX2RvbWFpbnMo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV9w aXBlX2Nsb2NrKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewot CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0g aW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNv ZGVyLT5wb3J0OwpAQCAtMjI1OSw3ICsyMjU5LDcgQEAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3Bp cGVfY2xvY2soY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHZv aWQgaW50ZWxfZGRpX2Rpc2FibGVfcGlwZV9jbG9jayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsK IAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNj b2RlcjsKIAogCWlmIChjcHVfdHJhbnNjb2RlciAhPSBUUkFOU0NPREVSX0VEUCkgewpAQCAtMzMz Nyw3ICszMzM3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX2Rpc2FibGVfZmVjX3N0YXRlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogc3RhdGljIHZvaWQKIHRnbF9jbGVhcl9wc3Iy X3RyYW5zY29kZXJfZXhpdGxpbmUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0 ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNzdGF0 ZS0+YmFzZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAJdTMyIHZhbDsKIAogCWlmICghY3N0 YXRlLT5kYzNjb19leGl0bGluZSkKQEAgLTMzNTIsNyArMzM1Miw3IEBAIHN0YXRpYyB2b2lkCiB0 Z2xfc2V0X3BzcjJfdHJhbnNjb2Rlcl9leGl0bGluZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3N0YXRlKQogewogCXUzMiB2YWwsIGV4aXRfc2NhbmxpbmVzOwotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3N0YXRlLT5iYXNlLmNydGMtPmRldik7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjc3RhdGUtPnVh cGkuY3J0Yy0+ZGV2KTsKIAogCWlmICghY3N0YXRlLT5kYzNjb19leGl0bGluZSkKIAkJcmV0dXJu OwpAQCAtMzM3MCw3ICszMzcwLDcgQEAgc3RhdGljIHZvaWQgdGdsX2RjM2NvX2V4aXRsaW5lX2Nv bXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCQkgICAgICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQogewogCXUzMiBleGl0X3NjYW5saW5lczsK LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNzdGF0ZS0+YmFz ZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAJdTMyIGNydGNfdmRpc3BsYXkgPSBjc3RhdGUt Pmh3LmFkanVzdGVkX21vZGUuY3J0Y192ZGlzcGxheTsKIAogCWNzdGF0ZS0+ZGMzY29fZXhpdGxp bmUgPSAwOwpAQCAtMzM3OSw3ICszMzc5LDcgQEAgc3RhdGljIHZvaWQgdGdsX2RjM2NvX2V4aXRs aW5lX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlyZXR1 cm47CiAKIAkvKiBCLlNwZWNzOjQ5MTk2IERDM0NPIG9ubHkgd29ya3Mgd2l0aCBwaXBlQSBhbmQg RERJQS4qLwotCWlmICh0b19pbnRlbF9jcnRjKGNzdGF0ZS0+YmFzZS5jcnRjKS0+cGlwZSAhPSBQ SVBFX0EgfHwKKwlpZiAodG9faW50ZWxfY3J0Yyhjc3RhdGUtPnVhcGkuY3J0YyktPnBpcGUgIT0g UElQRV9BIHx8CiAJICAgIGVuY29kZXItPnBvcnQgIT0gUE9SVF9BKQogCQlyZXR1cm47CiAKQEAg LTM0MDMsNyArMzQwMyw3IEBAIHN0YXRpYyB2b2lkIHRnbF9kYzNjb19leGl0bGluZV9jb21wdXRl X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHN0YXRpYyB2b2lkIHRnbF9k YzNjb19leGl0bGluZV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewogCXUzMiB2YWw7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAK IAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDEyKQogCQlyZXR1cm47CkBAIC0zNjUxLDcgKzM2 NTEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCiAJCQkJIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlw ZTsKIApAQCAtNDIwOCw3ICs0MjA4LDcgQEAgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnBpcGVfY29uZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7 CiAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gcGlwZV9jb25maWctPmNwdV90cmFu c2NvZGVyOwogCXUzMiB0ZW1wLCBmbGFncyA9IDA7CiAKQEAgLTQzNzUsNyArNDM3NSw3IEBAIHN0 YXRpYyBpbnQgaW50ZWxfZGRpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJ CQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewotCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRj KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWct PnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owog CWludCByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j CmluZGV4IDg5NWY2MzE1M2U4ZS4uMTFkZDdhMTgyNTQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwpAQCAtNTE2LDcgKzUxNiw3IEBAIGljbF93YV9z Y2FsZXJjbGtnYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBp cGUgcGlwZSwKIHN0YXRpYyBib29sCiBuZWVkc19tb2Rlc2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpzdGF0ZSkKIHsKLQlyZXR1cm4gZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVz ZXQoJnN0YXRlLT5iYXNlKTsKKwlyZXR1cm4gZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQo JnN0YXRlLT51YXBpKTsKIH0KIAogYm9vbApAQCAtNjQ0LDcgKzY0NCw3IEBAIGk5eHhfc2VsZWN0 X3AyX2Rpdihjb25zdCBzdHJ1Y3QgaW50ZWxfbGltaXQgKmxpbWl0LAogCQkgICBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAgaW50IHRhcmdldCkKIHsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJh c2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAogCWlmIChpbnRlbF9jcnRjX2hhc190 eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9MVkRTKSkgewogCQkvKgpAQCAtNjgwLDcgKzY4 MCw3IEBAIGk5eHhfZmluZF9iZXN0X2RwbGwoY29uc3Qgc3RydWN0IGludGVsX2xpbWl0ICpsaW1p dCwKIAkJICAgIGludCB0YXJnZXQsIGludCByZWZjbGssIHN0cnVjdCBkcGxsICptYXRjaF9jbG9j aywKIAkJICAgIHN0cnVjdCBkcGxsICpiZXN0X2Nsb2NrKQogewotCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXY7CiAJc3RydWN0IGRwbGwgY2xvY2s7CiAJ aW50IGVyciA9IHRhcmdldDsKIApAQCAtNzM4LDcgKzczOCw3IEBAIHBudl9maW5kX2Jlc3RfZHBs bChjb25zdCBzdHJ1Y3QgaW50ZWxfbGltaXQgKmxpbWl0LAogCQkgICBpbnQgdGFyZ2V0LCBpbnQg cmVmY2xrLCBzdHJ1Y3QgZHBsbCAqbWF0Y2hfY2xvY2ssCiAJCSAgIHN0cnVjdCBkcGxsICpiZXN0 X2Nsb2NrKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNy dGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Y19zdGF0ZS0+dWFwaS5jcnRj LT5kZXY7CiAJc3RydWN0IGRwbGwgY2xvY2s7CiAJaW50IGVyciA9IHRhcmdldDsKIApAQCAtNzk0 LDcgKzc5NCw3IEBAIGc0eF9maW5kX2Jlc3RfZHBsbChjb25zdCBzdHJ1Y3QgaW50ZWxfbGltaXQg KmxpbWl0LAogCQkgICBpbnQgdGFyZ2V0LCBpbnQgcmVmY2xrLCBzdHJ1Y3QgZHBsbCAqbWF0Y2hf Y2xvY2ssCiAJCSAgIHN0cnVjdCBkcGxsICpiZXN0X2Nsb2NrKQogewotCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXY7CiAJc3RydWN0IGRwbGwgY2xvY2s7 CiAJaW50IG1heF9uOwogCWJvb2wgZm91bmQgPSBmYWxzZTsKQEAgLTg4OCw3ICs4ODgsNyBAQCB2 bHZfZmluZF9iZXN0X2RwbGwoY29uc3Qgc3RydWN0IGludGVsX2xpbWl0ICpsaW1pdCwKIAkJICAg aW50IHRhcmdldCwgaW50IHJlZmNsaywgc3RydWN0IGRwbGwgKm1hdGNoX2Nsb2NrLAogCQkgICBz dHJ1Y3QgZHBsbCAqYmVzdF9jbG9jaykKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRwbGwgY2xvY2s7CiAJdW5z aWduZWQgaW50IGJlc3RwcG0gPSAxMDAwMDAwOwpAQCAtOTQ4LDcgKzk0OCw3IEBAIGNodl9maW5k X2Jlc3RfZHBsbChjb25zdCBzdHJ1Y3QgaW50ZWxfbGltaXQgKmxpbWl0LAogCQkgICBpbnQgdGFy Z2V0LCBpbnQgcmVmY2xrLCBzdHJ1Y3QgZHBsbCAqbWF0Y2hfY2xvY2ssCiAJCSAgIHN0cnVjdCBk cGxsICpiZXN0X2Nsb2NrKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAl1bnNpZ25lZCBpbnQgYmVzdF9lcnJvcl9wcG07CiAJ c3RydWN0IGRwbGwgY2xvY2s7CkBAIC0xMDgxLDcgKzEwODEsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF93YWl0X2Zvcl9waXBlX3NjYW5saW5lX21vdmluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK IHN0YXRpYyB2b2lkCiBpbnRlbF93YWl0X2Zvcl9waXBlX29mZihjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2Uu ZGV2KTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDQpIHsKQEAgLTE1NDAsNyArMTU0 MCw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfZW5hYmxlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YywKIAogc3RhdGljIHZvaWQgaTl4eF9kaXNhYmxlX3BsbChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBp cGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKQEAgLTE2MzEsNyArMTYzMSw3IEBAIHZvaWQgdmx2X3dh aXRfcG9ydF9yZWFkeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIHN0YXRp YyB2b2lkIGlyb25sYWtlX2VuYWJsZV9wY2hfdHJhbnNjb2Rlcihjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVt IHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJaTkxNV9yZWdfdCByZWc7CkBAIC0xNzc1LDcgKzE3 NzUsNyBAQCBlbnVtIHBpcGUgaW50ZWxfY3J0Y19wY2hfdHJhbnNjb2RlcihzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YykKIAogc3RhdGljIHUzMiBpbnRlbF9jcnRjX21heF92YmxhbmtfY291bnQoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0 YXRlLT51YXBpLmNydGMtPmRldik7CiAKIAkvKgogCSAqIE9uIGk5NjVnbSB0aGUgaGFyZHdhcmUg ZnJhbWUgY291bnRlciByZWFkcwpAQCAtMTc5NSw3ICsxNzk1LDcgQEAgc3RhdGljIHUzMiBpbnRl bF9jcnRjX21heF92YmxhbmtfY291bnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUKIAogc3RhdGljIHZvaWQgaW50ZWxfY3J0Y192Ymxhbmtfb24oY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNy dGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAlk cm1fY3J0Y19zZXRfbWF4X3ZibGFua19jb3VudCgmY3J0Yy0+YmFzZSwKIAkJCQkgICAgICBpbnRl bF9jcnRjX21heF92YmxhbmtfY291bnQoY3J0Y19zdGF0ZSkpOwpAQCAtMTgwNCw3ICsxODA0LDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y192Ymxhbmtfb24oY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9waXBlKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0 YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9 IG5ld19jcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMt PnBpcGU7CkBAIC0xODYyLDcgKzE4NjIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfcGlw ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCiAKIHN0YXRp YyB2b2lkIGludGVsX2Rpc2FibGVfcGlwZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq b2xkX2NydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9j cnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVt IHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBvbGRfY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29k ZXI7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwpAQCAtMzExNywxNCArMzExNywxNCBA QCBpbnRlbF9zZXRfcGxhbmVfdmlzaWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKIAlwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlID0gdmlzaWJsZTsKIAogCWlmICh2aXNp YmxlKQotCQljcnRjX3N0YXRlLT5iYXNlLnBsYW5lX21hc2sgfD0gZHJtX3BsYW5lX21hc2soJnBs YW5lLT5iYXNlKTsKKwkJY3J0Y19zdGF0ZS0+dWFwaS5wbGFuZV9tYXNrIHw9IGRybV9wbGFuZV9t YXNrKCZwbGFuZS0+YmFzZSk7CiAJZWxzZQotCQljcnRjX3N0YXRlLT5iYXNlLnBsYW5lX21hc2sg Jj0gfmRybV9wbGFuZV9tYXNrKCZwbGFuZS0+YmFzZSk7CisJCWNydGNfc3RhdGUtPnVhcGkucGxh bmVfbWFzayAmPSB+ZHJtX3BsYW5lX21hc2soJnBsYW5lLT5iYXNlKTsKIH0KIAogc3RhdGljIHZv aWQgZml4dXBfYWN0aXZlX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNf c3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZTsKIAogCS8qCkBAIC0zMTM1LDcgKzMxMzUsNyBAQCBzdGF0aWMgdm9pZCBmaXh1 cF9hY3RpdmVfcGxhbmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCWNy dGNfc3RhdGUtPmFjdGl2ZV9wbGFuZXMgPSAwOwogCiAJZHJtX2Zvcl9lYWNoX3BsYW5lX21hc2so cGxhbmUsICZkZXZfcHJpdi0+ZHJtLAotCQkJCWNydGNfc3RhdGUtPmJhc2UucGxhbmVfbWFzaykK KwkJCQljcnRjX3N0YXRlLT51YXBpLnBsYW5lX21hc2spCiAJCWNydGNfc3RhdGUtPmFjdGl2ZV9w bGFuZXMgfD0gQklUKHRvX2ludGVsX3BsYW5lKHBsYW5lKS0+aWQpOwogfQogCkBAIC0zNjA2LDcg KzM2MDYsNyBAQCBpOXh4X3BsYW5lX21heF9zdHJpZGUoc3RydWN0IGludGVsX3BsYW5lICpwbGFu ZSwKIAogc3RhdGljIHUzMiBpOXh4X3BsYW5lX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCXUzMiBk c3BjbnRyID0gMDsKIApAQCAtMzc1OSw3ICszNzU5LDcgQEAgaTl4eF9wbGFuZV9jaGVjayhzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcmV0dXJuIHJldDsKIAogCXJldCA9 IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKCZwbGFuZV9zdGF0ZS0+YmFzZSwK LQkJCQkJCSAgJmNydGNfc3RhdGUtPmJhc2UsCisJCQkJCQkgICZjcnRjX3N0YXRlLT51YXBpLAog CQkJCQkJICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCiAJCQkJCQkgIERSTV9QTEFORV9I RUxQRVJfTk9fU0NBTElORywKIAkJCQkJCSAgaTl4eF9wbGFuZV9oYXNfd2luZG93aW5nKHBsYW5l KSwKQEAgLTM5MzUsNyArMzkzNSw3IEBAIHN0YXRpYyB2b2lkIHNrbF9kZXRhY2hfc2NhbGVyKHN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLCBpbnQgaWQpCiAgKi8KIHN0YXRpYyB2b2lkIHNr bF9kZXRhY2hfc2NhbGVycyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZSA9CiAJCSZjcnRjX3N0YXRlLT5zY2FsZXJf c3RhdGU7CiAJaW50IGk7CkBAIC00MTMwLDcgKzQxMzAsNyBAQCBzdGF0aWMgdTMyIGNubF9wbGFu ZV9jdGxfZmxpcCh1bnNpZ25lZCBpbnQgcmVmbGVjdCkKIAogdTMyIHNrbF9wbGFuZV9jdGxfY3J0 Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0 Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNy dGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAl1MzIgcGxhbmVfY3RsID0gMDsKIAogCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQpAQCAt NDE4Niw3ICs0MTg2LDcgQEAgdTMyIHNrbF9wbGFuZV9jdGwoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCiAKIHUzMiBnbGtfcGxhbmVfY29sb3JfY3RsX2NydGMoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0 YXRlLT51YXBpLmNydGMtPmRldik7CiAJdTMyIHBsYW5lX2NvbG9yX2N0bCA9IDA7CiAKIAlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKQEAgLTQ0MDcsNyArNDQwNyw3IEBAIHN0YXRpYyB2 b2lkIGljbF9zZXRfcGlwZV9jaGlja2VuKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCiBzdGF0 aWMgdm9pZCBpY2xfZW5hYmxlX3RyYW5zX3BvcnRfc3luYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgdHJh bnNfZGRpX2Z1bmNfY3RsMl92YWw7CiAJdTggbWFzdGVyX3NlbGVjdDsKQEAgLTQ0MzcsNyArNDQz Nyw3IEBAIHN0YXRpYyB2b2lkIGljbF9lbmFibGVfdHJhbnNfcG9ydF9zeW5jKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlCiAKIHN0YXRpYyB2b2lkIGljbF9kaXNhYmxl X3RyYW5zY29kZXJfcG9ydF9zeW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRf Y3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMo b2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWk5MTVfcmVn X3QgcmVnOwogCXUzMiB0cmFuc19kZGlfZnVuY19jdGwyX3ZhbDsKQEAgLTQ4NTEsNyArNDg1MSw3 IEBAIHN0YXRpYyB2b2lkIGl2Yl9tYW51YWxfZmRpX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCiAKIHN0YXRpYyB2b2lkIGlyb25sYWtlX2ZkaV9wbGxfZW5hYmxlKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo aW50ZWxfY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlw ZTsKIAlpOTE1X3JlZ190IHJlZzsKQEAgLTUwMTIsNyArNTAxMiw3IEBAIHZvaWQgbHB0X2Rpc2Fi bGVfaWNsa2lwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIC8qIFByb2dyYW0g aUNMS0lQIGNsb2NrIHRvIHRoZSBkZXNpcmVkIGZyZXF1ZW5jeSAqLwogc3RhdGljIHZvaWQgbHB0 X3Byb2dyYW1faWNsa2lwKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWludCBjbG9jayA9IGNydGNfc3RhdGUtPmh3 LmFkanVzdGVkX21vZGUuY3J0Y19jbG9jazsKIAl1MzIgZGl2c2VsLCBwaGFzZWluYywgYXV4ZGl2 LCBwaGFzZWRpciA9IDA7CkBAIC01MTI4LDcgKzUxMjgsNyBAQCBpbnQgbHB0X2dldF9pY2xraXAo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogc3RhdGljIHZvaWQgaXJvbmxha2Vf cGNoX3RyYW5zY29kZXJfc2V0X3RpbWluZ3MoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCiAJCQkJCQllbnVtIHBpcGUgcGNoX3RyYW5zY29kZXIpCiB7Ci0Jc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7 CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVh cGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjLT5iYXNlLmRldik7CiAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19z dGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAKQEAgLTUxNzEsNyArNTE3MSw3IEBAIHN0YXRpYyB2b2lk IGNwdF9zZXRfZmRpX2JjX2JpZnVyY2F0aW9uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgYm9vbCBlCiAKIHN0YXRpYyB2b2lkIGl2eWJyaWRnZV91cGRhdGVfZmRpX2JjX2JpZnVy Y2F0aW9uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwogCiAJc3dpdGNoIChjcnRjLT5waXBlKSB7CkBAIC01MjAxLDcg KzUyMDEsNyBAQCBzdGF0aWMgc3RydWN0IGludGVsX2VuY29kZXIgKgogaW50ZWxfZ2V0X2NydGNf bmV3X2VuY29kZXIoY29uc3Qgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkg ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsK KwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFw aS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubmVjdG9yX3N0 YXRlOwogCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CiAJc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIgPSBOVUxMOwpAQCAtNTIzMyw3ICs1MjMzLDcgQEAgaW50ZWxf Z2V0X2NydGNfbmV3X2VuY29kZXIoY29uc3Qgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUsCiBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wY2hfZW5hYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjcnRjLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwpAQCAtNTMxNyw3ICs1 MzE3LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfcGNoX2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIHN0YXRpYyB2b2lkIGxwdF9wY2hfZW5hYmxlKGNvbnN0 IHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJICAgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJ ZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29k ZXI7CiAKQEAgLTU0MzQsNyArNTQzNCw3IEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKIAlzdHJ1Y3QgaW50 ZWxfY3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZSA9CiAJCSZjcnRjX3N0YXRlLT5zY2Fs ZXJfc3RhdGU7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPQotCQl0b19pbnRlbF9j cnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJCXRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGludGVsX2NydGMtPmJhc2UuZGV2KTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSA9CiAJCSZjcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOwpAQCAtNTYz MSw3ICs1NjMxLDcgQEAgc3RhdGljIHZvaWQgc2t5bGFrZV9zY2FsZXJfZGlzYWJsZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKIAogc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2VuYWJsZShjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2FsZXJfc3RhdGUgPQpAQCAtNTY2OCw3ICs1NjY4LDcg QEAgc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAogc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9lbmFibGUo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwogCkBAIC01Njg5LDcg KzU2ODksNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0X2VuYWJsZShjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAogdm9pZCBoc3dfZW5hYmxlX2lwcyhjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCkBAIC01NzI1LDcgKzU3 MjUsNyBAQCB2b2lkIGhzd19lbmFibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogCiB2b2lkIGhzd19kaXNhYmxlX2lwcyhjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCkBAIC01ODMwLDcgKzU4MzAsNyBAQCBpbnRlbF9w cmVfZGlzYWJsZV9wcmltYXJ5X25vYXRvbWljKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHN0YXRp YyBib29sIGhzd19wcmVfdXBkYXRlX2Rpc2FibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAkJCQkgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRl dik7CiAKIAlpZiAoIW9sZF9jcnRjX3N0YXRlLT5pcHNfZW5hYmxlZCkKQEAgLTU4NDYsNyArNTg0 Niw3IEBAIHN0YXRpYyBib29sIGhzd19wcmVfdXBkYXRlX2Rpc2FibGVfaXBzKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zCiAJICogRGlzYWJsZSBJUFMgYmVmb3JlIHdl IHByb2dyYW0gdGhlIExVVC4KIAkgKi8KIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYKLQkg ICAgKG5ld19jcnRjX3N0YXRlLT5iYXNlLmNvbG9yX21nbXRfY2hhbmdlZCB8fAorCSAgICAobmV3 X2NydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9jaGFuZ2VkIHx8CiAJICAgICBuZXdfY3J0Y19z dGF0ZS0+dXBkYXRlX3BpcGUpICYmCiAJICAgIG5ld19jcnRjX3N0YXRlLT5nYW1tYV9tb2RlID09 IEdBTU1BX01PREVfTU9ERV9TUExJVCkKIAkJcmV0dXJuIHRydWU7CkBAIC01ODU3LDcgKzU4NTcs NyBAQCBzdGF0aWMgYm9vbCBoc3dfcHJlX3VwZGF0ZV9kaXNhYmxlX2lwcyhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfcwogc3RhdGljIGJvb2wgaHN3X3Bvc3RfdXBkYXRl X2VuYWJsZV9pcHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl LAogCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3Rh dGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRj X3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAogCWlmICghbmV3X2NydGNf c3RhdGUtPmlwc19lbmFibGVkKQpAQCAtNTg3Myw3ICs1ODczLDcgQEAgc3RhdGljIGJvb2wgaHN3 X3Bvc3RfdXBkYXRlX2VuYWJsZV9pcHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9s ZF9jcnRjX3MKIAkgKiBSZS1lbmFibGUgSVBTIGFmdGVyIHRoZSBMVVQgaGFzIGJlZW4gcHJvZ3Jh bW1lZC4KIAkgKi8KIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYKLQkgICAgKG5ld19jcnRj X3N0YXRlLT5iYXNlLmNvbG9yX21nbXRfY2hhbmdlZCB8fAorCSAgICAobmV3X2NydGNfc3RhdGUt PnVhcGkuY29sb3JfbWdtdF9jaGFuZ2VkIHx8CiAJICAgICBuZXdfY3J0Y19zdGF0ZS0+dXBkYXRl X3BpcGUpICYmCiAJICAgIG5ld19jcnRjX3N0YXRlLT5nYW1tYV9tb2RlID09IEdBTU1BX01PREVf TU9ERV9TUExJVCkKIAkJcmV0dXJuIHRydWU7CkBAIC01OTE0LDEwICs1OTE0LDEwIEBAIHN0YXRp YyBib29sIG5lZWRzX3NjYWxlcmNsa193YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAKIHN0YXRpYyB2b2lkIGludGVsX3Bvc3RfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBpLmNydGMpOwog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0Jc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUtPmJhc2Uuc3RhdGU7CisJc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUtPnVhcGkuc3RhdGU7CiAJc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KIAkJaW50ZWxfYXRvbWljX2dldF9uZXdf Y3J0Y19zdGF0ZSh0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLAogCQkJCQkJY3J0Yyk7CkBA IC01OTU3LDEwICs1OTU3LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bvc3RfcGxhbmVfdXBkYXRl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHN0YXRpYyB2b2lkIGlu dGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0 YXRlLAogCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJh c2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9j cnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5i YXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRl dik7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUtPmJh c2Uuc3RhdGU7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3Rh dGUtPnVhcGkuc3RhdGU7CiAJc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSA9IGNydGMtPmJhc2Uu cHJpbWFyeTsKIAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfcHJpbWFyeV9zdGF0ZSA9CiAJ CWRybV9hdG9taWNfZ2V0X29sZF9wbGFuZV9zdGF0ZShzdGF0ZSwgcHJpbWFyeSk7CkBAIC02MzEy LDcgKzYzMTIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmNvZGVyc191cGRhdGVfcGlwZShzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAogc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9wcmltYXJ5 X3BsYW5lKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUgPSB0b19pbnRlbF9wbGFu ZShjcnRjLT5iYXNlLnByaW1hcnkpOwogCiAJcGxhbmUtPmRpc2FibGVfcGxhbmUocGxhbmUsIGNy dGNfc3RhdGUpOwpAQCAtNjMyMSw3ICs2MzIxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJs ZV9wcmltYXJ5X3BsYW5lKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXQK IHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZywKIAkJCQkgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7 Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjID0gcGlwZV9jb25maWctPmJhc2UuY3J0YzsKKwlzdHJ1 Y3QgZHJtX2NydGMgKmNydGMgPSBwaXBlX2NvbmZpZy0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjKTsKQEAgLTY0NTUsNyArNjQ1NSw3IEBAIHN0YXRpYyB2b2lkIGljbF9w aXBlX21idXNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogc3RhdGljIHZvaWQgaGFz d2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJ CQkJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9jcnRj ICpjcnRjID0gcGlwZV9jb25maWctPmJhc2UuY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBwaXBlX2NvbmZpZy0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5w aXBlLCBoc3dfd29ya2Fyb3VuZF9waXBlOwpAQCAtNjU2Niw3ICs2NTY2LDcgQEAgc3RhdGljIHZv aWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcsCiAKIHN0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZGlzYWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNy dGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKQEAgLTY1ODIsNyArNjU4 Miw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZGlzYWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRj X2Rpc2FibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCQkJCSAg c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9jcnRjICpj cnRjID0gb2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBj cnRjLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj KTsKQEAgLTY2NDEsNyArNjY0MSw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZGlzYWJs ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiBzdGF0aWMgdm9pZCBo YXN3ZWxsX2NydGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3Rh dGUsCiAJCQkJIHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogewotCXN0cnVjdCBk cm1fY3J0YyAqY3J0YyA9IG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGM7CisJc3RydWN0IGRybV9j cnRjICpjcnRjID0gb2xkX2NydGNfc3RhdGUtPnVhcGkuY3J0YzsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmRldik7CiAJc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCWVudW0gdHJhbnNjb2RlciBj cHVfdHJhbnNjb2RlciA9IG9sZF9jcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKQEAgLTY2Nzgs NyArNjY3OCw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAogc3RhdGljIHZvaWQgaTl4eF9wZml0X2Vu YWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGMtPmJhc2UuZGV2KTsKIAogCWlmICghY3J0Y19zdGF0ZS0+Z21jaF9wZml0LmNvbnRyb2wp CkBAIC02ODE0LDcgKzY4MTQsNyBAQCBpbnRlbF9hdXhfcG93ZXJfZG9tYWluKHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQogCiBzdGF0aWMgdTY0IGdldF9jcnRjX3Bvd2VyX2Rv bWFpbnMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwogCWVudW0gcGlwZSBw aXBlID0gY3J0Yy0+cGlwZTsKQEAgLTY4MzEsNyArNjgzMSw3IEBAIHN0YXRpYyB1NjQgZ2V0X2Ny dGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkJ bWFzayB8PSBCSVRfVUxMKFBPV0VSX0RPTUFJTl9QSVBFX1BBTkVMX0ZJVFRFUihwaXBlKSk7CiAK IAlkcm1fZm9yX2VhY2hfZW5jb2Rlcl9tYXNrKGVuY29kZXIsICZkZXZfcHJpdi0+ZHJtLAotCQkJ CSAgY3J0Y19zdGF0ZS0+YmFzZS5lbmNvZGVyX21hc2spIHsKKwkJCQkgIGNydGNfc3RhdGUtPnVh cGkuZW5jb2Rlcl9tYXNrKSB7CiAJCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVy ID0gdG9faW50ZWxfZW5jb2RlcihlbmNvZGVyKTsKIAogCQltYXNrIHw9IEJJVF9VTEwoaW50ZWxf ZW5jb2Rlci0+cG93ZXJfZG9tYWluKTsKQEAgLTY4NDksNyArNjg0OSw3IEBAIHN0YXRpYyB1NjQg Z2V0X2NydGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHN0YXRpYyB1NjQKIG1vZGVzZXRfZ2V0X2NydGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAll bnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbjsKIAl1NjQgZG9tYWlucywgbmV3 X2RvbWFpbnMsIG9sZF9kb21haW5zOwpAQCAtNjg3OCw3ICs2ODc4LDcgQEAgc3RhdGljIHZvaWQg bW9kZXNldF9wdXRfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCQkgICBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBwaXBlX2NvbmZpZy0+YmFzZS5jcnRj OworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHBpcGVfY29uZmlnLT51YXBpLmNydGM7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwpAQCAtNjkzNCw3ICs2OTM0LDcgQEAgc3RhdGljIHZv aWQgdmFsbGV5dmlld19jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCiAKIHN0YXRpYyB2b2lkIGk5eHhfc2V0X3BsbF9kaXZpZGVycyhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsK IAogCUk5MTVfV1JJVEUoRlAwKGNydGMtPnBpcGUpLCBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRl LmZwMCk7CkBAIC02OTQ0LDcgKzY5NDQsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X3NldF9wbGxfZGl2 aWRlcnMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiBzdGF0aWMg dm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZywKIAkJCSAgICAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0 IGRybV9jcnRjICpjcnRjID0gcGlwZV9jb25maWctPmJhc2UuY3J0YzsKKwlzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMgPSBwaXBlX2NvbmZpZy0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjKTsKQEAgLTY5OTQsNyArNjk5NCw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFi bGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCiBzdGF0aWMgdm9pZCBp OXh4X3BmaXRfZGlzYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNf c3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9j cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAogCWlmICghb2xkX2Ny dGNfc3RhdGUtPmdtY2hfcGZpdC5jb250cm9sKQpAQCAtNzAxMCw3ICs3MDEwLDcgQEAgc3RhdGlj IHZvaWQgaTl4eF9wZml0X2Rpc2FibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9s ZF9jcnRjX3N0YXRlKQogc3RhdGljIHZvaWQgaTl4eF9jcnRjX2Rpc2FibGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCQkJICAgICAgc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjID0gb2xkX2NydGNfc3Rh dGUtPmJhc2UuY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBvbGRfY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKQEAgLTcyMDksNyArNzIw OSw3IEBAIHN0YXRpYyBpbnQgaXJvbmxha2VfY2hlY2tfZmRpX2xhbmVzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLAogCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBwaXBlX2Nv bmZpZy0+YmFzZS5zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBwaXBl X2NvbmZpZy0+dWFwaS5zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqb3RoZXJfY3J0YzsKIAlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb3RoZXJfY3J0Y19zdGF0ZTsKIApAQCAtNzMyOCw3ICs3 MzI4LDcgQEAgc3RhdGljIGludCBpcm9ubGFrZV9mZGlfY29tcHV0ZV9jb25maWcoc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMsCiAKIGJvb2wgaHN3X2NydGNfc3RhdGVfaXBzX2NhcGFibGUo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAKIAkvKiBJUFMgb25seSBleGlzdHMgb24gVUxUIG1hY2hpbmVzIGFuZCBp cyB0aWVkIHRvIHBpcGUgQS4gKi8KQEAgLTczNTgsOSArNzM1OCw5IEBAIGJvb2wgaHN3X2NydGNf c3RhdGVfaXBzX2NhcGFibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiBzdGF0aWMgYm9vbCBoc3dfY29tcHV0ZV9pcHNfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9Ci0JCXRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOworCQl0b19pOTE1KGNy dGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpp bnRlbF9zdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0YXRlLT5iYXNlLnN0 YXRlKTsKKwkJdG9faW50ZWxfYXRvbWljX3N0YXRlKGNydGNfc3RhdGUtPnVhcGkuc3RhdGUpOwog CiAJaWYgKCFoc3dfY3J0Y19zdGF0ZV9pcHNfY2FwYWJsZShjcnRjX3N0YXRlKSkKIAkJcmV0dXJu IGZhbHNlOwpAQCAtNzQzMiw3ICs3NDMyLDcgQEAgc3RhdGljIHUzMiBpbGtfcGlwZV9waXhlbF9y YXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIAogc3RhdGlj IHZvaWQgaW50ZWxfY3J0Y19jb21wdXRlX3BpeGVsX3JhdGUoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAK IAlpZiAoSEFTX0dNQ0goZGV2X3ByaXYpKQogCQkvKiBGSVhNRSBjYWxjdWxhdGUgcHJvcGVyIHBp cGUgcGl4ZWwgcmF0ZSBmb3IgR01DSCBwZml0ICovCkBAIC03NjY3LDcgKzc2NjcsNyBAQCBzdGF0 aWMgdm9pZCB2bHZfcGxsYl9yZWNhbF9vcGFtcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsIGVudW0gcGlwZQogc3RhdGljIHZvaWQgaW50ZWxfcGNoX3RyYW5zY29kZXJfc2V0X21f bihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkJIGNvbnN0 IHN0cnVjdCBpbnRlbF9saW5rX21fbiAqbV9uKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwog CWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIApAQCAtNzY5NCw3ICs3Njk0LDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfY3B1X3RyYW5zY29kZXJfc2V0X21fbihjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGEKIAkJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9saW5rX21fbiAq bV9uLAogCQkJCQkgY29uc3Qgc3RydWN0IGludGVsX2xpbmtfbV9uICptMl9uMikKIHsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJZW51bSB0 cmFuc2NvZGVyIHRyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKQEAgLTgw MDcsNyArODAwNyw3IEBAIGludCB2bHZfZm9yY2VfcGxsX29uKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUsCiAJaWYgKCFwaXBlX2NvbmZpZykKIAkJcmV0 dXJuIC1FTk9NRU07CiAKLQlwaXBlX2NvbmZpZy0+YmFzZS5jcnRjID0gJmNydGMtPmJhc2U7CisJ cGlwZV9jb25maWctPnVhcGkuY3J0YyA9ICZjcnRjLT5iYXNlOwogCXBpcGVfY29uZmlnLT5waXhl bF9tdWx0aXBsaWVyID0gMTsKIAlwaXBlX2NvbmZpZy0+ZHBsbCA9ICpkcGxsOwogCkBAIC04MTY3 LDcgKzgxNjcsNyBAQCBzdGF0aWMgdm9pZCBpOHh4X2NvbXB1dGVfZHBsbChzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YywKIAogc3RhdGljIHZvaWQgaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2Uu ZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJZW51bSB0cmFuc2NvZGVyIGNw dV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CkBAIC04MjI5LDcgKzgy MjksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zZXRfcGlwZV90aW1pbmdzKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgdm9pZCBpbnRlbF9zZXRfcGlw ZV9zcmNfc2l6ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsK LQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFz ZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19z dGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAK QEAgLTgyNDMsNyArODI0Myw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3NldF9waXBlX3NyY19zaXpl KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgYm9v bCBpbnRlbF9waXBlX2lzX2ludGVybGFjZWQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAJZW51 bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7 CiAKIAlpZiAoSVNfR0VOKGRldl9wcml2LCAyKSkKQEAgLTgzNDEsNyArODM0MSw3IEBAIHZvaWQg aW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl LAogCiBzdGF0aWMgdm9pZCBpOXh4X3NldF9waXBlY29uZihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgcGlw ZWNvbmY7CiAKQEAgLTg3ODcsNyArODc4Nyw3IEBAIGJkd19nZXRfcGlwZW1pc2Nfb3V0cHV0X2Zv cm1hdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAogc3RhdGljIHZvaWQgaTl4eF9nZXRfcGlw ZV9jb2xvcl9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0J c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3Rh dGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSA9IHRvX2ludGVsX3Bs YW5lKGNydGMtPmJhc2UucHJpbWFyeSk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSBpOXh4X3BsYW5lX2lkIGk5eHhf cGxhbmUgPSBwbGFuZS0+aTl4eF9wbGFuZTsKQEAgLTk0MjYsNyArOTQyNiw3IEBAIHZvaWQgaW50 ZWxfaW5pdF9wY2hfcmVmY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAog c3RhdGljIHZvaWQgaXJvbmxha2Vfc2V0X3BpcGVjb25mKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlw ZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIgdmFsOwpAQCAtOTQ4MCw3ICs5NDgwLDcgQEAgc3Rh dGljIHZvaWQgaXJvbmxha2Vfc2V0X3BpcGVjb25mKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9waXBlY29uZihjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5j cHVfdHJhbnNjb2RlcjsKIAl1MzIgdmFsID0gMDsKQEAgLTk1MDMsNyArOTUwMyw3IEBAIHN0YXRp YyB2b2lkIGhhc3dlbGxfc2V0X3BpcGVjb25mKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgdm9pZCBiZHdfc2V0X3BpcGVtaXNjKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYp OwogCXUzMiB2YWwgPSAwOwogCkBAIC05Njg5LDcgKzk2ODksNyBAQCBzdGF0aWMgaW50IGlyb25s YWtlX2NydGNfY29tcHV0ZV9jbG9jayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIHsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsK IAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19z dGF0ZShjcnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKKwkJdG9faW50ZWxfYXRvbWljX3N0YXRlKGNy dGNfc3RhdGUtPnVhcGkuc3RhdGUpOwogCWNvbnN0IHN0cnVjdCBpbnRlbF9saW1pdCAqbGltaXQ7 CiAJaW50IHJlZmNsayA9IDEyMDAwMDsKIApAQCAtMTAxMTUsNyArMTAxMTUsNyBAQCBzdGF0aWMg aW50IGhhc3dlbGxfY3J0Y19jb21wdXRlX2Nsb2NrKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFz ZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlID0KLQkJdG9faW50ZWxf YXRvbWljX3N0YXRlKGNydGNfc3RhdGUtPmJhc2Uuc3RhdGUpOworCQl0b19pbnRlbF9hdG9taWNf c3RhdGUoY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZSk7CiAKIAlpZiAoIWludGVsX2NydGNfaGFzX3R5 cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RTSSkgfHwKIAkgICAgSU5URUxfR0VOKGRldl9w cml2KSA+PSAxMSkgewpAQCAtMTA0ODEsNyArMTA0ODEsNyBAQCBzdGF0aWMgZW51bSB0cmFuc2Nv ZGVyIHRyYW5zY29kZXJfbWFzdGVyX3JlYWRvdXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcgogCiBzdGF0aWMgdm9pZCBpY2VsYWtlX2dldF90cmFuc19wb3J0X3N5bmNfY29uZmlnKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjLT5kZXYpOwogCXUzMiB0cmFuc2NvZGVyczsKIAllbnVtIHRyYW5zY29kZXIgY3B1 X3RyYW5zY29kZXI7CiAKQEAgLTEwNzU4LDcgKzEwNzU4LDcgQEAgc3RhdGljIGludCBpbnRlbF9j aGVja19jdXJzb3Ioc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJfQogCiAJ cmV0ID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUoJnBsYW5lX3N0YXRlLT5i YXNlLAotCQkJCQkJICAmY3J0Y19zdGF0ZS0+YmFzZSwKKwkJCQkJCSAgJmNydGNfc3RhdGUtPnVh cGksCiAJCQkJCQkgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKIAkJCQkJCSAgRFJNX1BM QU5FX0hFTFBFUl9OT19TQ0FMSU5HLAogCQkJCQkJICB0cnVlLCB0cnVlKTsKQEAgLTEwOTQ1LDcg KzEwOTQ1LDcgQEAgaTl4eF9jdXJzb3JfbWF4X3N0cmlkZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBs YW5lLAogCiBzdGF0aWMgdTMyIGk5eHhfY3Vyc29yX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCXUz MiBjbnRsID0gMDsKIApAQCAtMTEzNjIsNyArMTEzNjIsNyBAQCBpbnQgaW50ZWxfZ2V0X2xvYWRf ZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlpZiAoIW1vZGUp CiAJCW1vZGUgPSAmbG9hZF9kZXRlY3RfbW9kZTsKIAotCXJldCA9IGRybV9hdG9taWNfc2V0X21v ZGVfZm9yX2NydGMoJmNydGNfc3RhdGUtPmJhc2UsIG1vZGUpOworCXJldCA9IGRybV9hdG9taWNf c2V0X21vZGVfZm9yX2NydGMoJmNydGNfc3RhdGUtPnVhcGksIG1vZGUpOwogCWlmIChyZXQpCiAJ CWdvdG8gZmFpbDsKIApAQCAtMTE2MDAsNyArMTE2MDAsNyBAQCBpbnRlbF9lbmNvZGVyX2N1cnJl bnRfbW9kZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAkJcmV0dXJuIE5VTEw7CiAJ fQogCi0JY3J0Y19zdGF0ZS0+YmFzZS5jcnRjID0gJmNydGMtPmJhc2U7CisJY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjID0gJmNydGMtPmJhc2U7CiAKIAlpZiAoIWRldl9wcml2LT5kaXNwbGF5LmdldF9w aXBlX2NvbmZpZyhjcnRjLCBjcnRjX3N0YXRlKSkgewogCQlrZnJlZShjcnRjX3N0YXRlKTsKQEAg LTExNjcxLDcgKzExNjcxLDcgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXQKIAkJCQkgICAgY29u c3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsCiAJCQkJICAgIHN0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7 CiAJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRl LT5iYXNlLnBsYW5lKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGMtPmJhc2UuZGV2KTsKIAlib29sIG1vZGVfY2hhbmdlZCA9IG5lZWRzX21vZGVzZXQo Y3J0Y19zdGF0ZSk7CkBAIC0xMTg0Myw5ICsxMTg0Myw5IEBAIHN0YXRpYyBpbnQgaWNsX2FkZF9s aW5rZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCiBzdGF0aWMg aW50IGljbF9jaGVja19udjEyX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19z dGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0 YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0YXRlLT5iYXNlLnN0YXRl KTsKKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19z dGF0ZShjcnRjX3N0YXRlLT51YXBpLnN0YXRlKTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5l LCAqbGlua2VkOwogCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CiAJaW50 IGk7CkBAIC0xMTkxNSw5ICsxMTkxNSw5IEBAIHN0YXRpYyBpbnQgaWNsX2NoZWNrX252MTJfcGxh bmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgYm9vbCBj OF9wbGFuZXNfY2hhbmdlZChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNf c3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19j cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+ YmFzZS5zdGF0ZSk7CisJCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+dWFw aS5zdGF0ZSk7CiAJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl ID0KIAkJaW50ZWxfYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7CiAKQEAg LTExOTI2LDkgKzExOTI2LDkgQEAgc3RhdGljIGJvb2wgYzhfcGxhbmVzX2NoYW5nZWQoY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQogCiBzdGF0aWMgaW50IGlj bF9hZGRfc3luY19tb2RlX2NydGNzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogewotCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNydGNfc3RhdGUtPmJhc2UuY3J0YzsKLQlz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShj cnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMgPSBjcnRjX3N0YXRlLT51YXBpLmNydGM7CisJc3RydWN0IGludGVsX2F0b21pY19z dGF0ZSAqc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+dWFwaS5zdGF0 ZSk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0 YXRlLT51YXBpLmNydGMtPmRldik7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgKm1hc3Rlcl9jb25u ZWN0b3IsICpjb25uZWN0b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rv cl9zdGF0ZTsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwpAQCAt MTIwMDIsNyArMTIwMDIsNyBAQCBzdGF0aWMgaW50IGljbF9hZGRfc3luY19tb2RlX2NydGNzKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQkJQklUKGNydGNfc3RhdGUtPmNw dV90cmFuc2NvZGVyKTsKIAkJRFJNX0RFQlVHX0tNUygiTWFzdGVyIFRyYW5zY29kZXIgPSAlcyBh ZGRlZCBmb3IgU2xhdmUgQ1JUQyA9ICVkLCBzbGF2ZSB0cmFuc2NvZGVyIGJpdG1hc2sgPSAlZFxu IiwKIAkJCSAgICAgIHRyYW5zY29kZXJfbmFtZShjcnRjX3N0YXRlLT5tYXN0ZXJfdHJhbnNjb2Rl ciksCi0JCQkgICAgICBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmJhc2UuaWQsCisJCQkgICAgICBj cnRjX3N0YXRlLT51YXBpLmNydGMtPmJhc2UuaWQsCiAJCQkgICAgICBtYXN0ZXJfcGlwZV9jb25m aWctPnN5bmNfbW9kZV9zbGF2ZXNfbWFzayk7CiAJfQogCkBAIC0xMjAzNSwxMCArMTIwMzUsMTAg QEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSwKIAkgKiB3aGVuIEM4IHBsYW5lcyBhcmUgZ2V0dGluZyBlbmFibGVkL2Rp c2FibGVkLgogCSAqLwogCWlmIChjOF9wbGFuZXNfY2hhbmdlZChjcnRjX3N0YXRlKSkKLQkJY3J0 Y19zdGF0ZS0+YmFzZS5jb2xvcl9tZ210X2NoYW5nZWQgPSB0cnVlOworCQljcnRjX3N0YXRlLT51 YXBpLmNvbG9yX21nbXRfY2hhbmdlZCA9IHRydWU7CiAKIAlpZiAobW9kZV9jaGFuZ2VkIHx8IGNy dGNfc3RhdGUtPnVwZGF0ZV9waXBlIHx8Ci0JICAgIGNydGNfc3RhdGUtPmJhc2UuY29sb3JfbWdt dF9jaGFuZ2VkKSB7CisJICAgIGNydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9jaGFuZ2VkKSB7 CiAJCXJldCA9IGludGVsX2NvbG9yX2NoZWNrKGNydGNfc3RhdGUpOwogCQlpZiAocmV0KQogCQkJ cmV0dXJuIHJldDsKQEAgLTEyMTU2LDcgKzEyMTU2LDcgQEAgY29tcHV0ZV9iYXNlbGluZV9waXBl X2JwcChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCSAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSA9IHBpcGVfY29uZmlnLT5iYXNlLnN0YXRlOworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSA9IHBpcGVfY29uZmlnLT51YXBpLnN0YXRlOwogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9zdGF0ZTsK IAlpbnQgYnBwLCBpOwpAQCAtMTIzMDksNyArMTIzMDksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9k dW1wX3BpcGVfY29uZmlnKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZywKIAkJCQkgICBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCQkgICBjb25z dCBjaGFyICpjb250ZXh0KQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJY29uc3Qgc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUg KnBsYW5lOwpAQCAtMTI0ODYsNyArMTI0ODYsNyBAQCBzdGF0aWMgaW50CiBjbGVhcl9pbnRlbF9j cnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Ci0JCXRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFz ZS5jcnRjLT5kZXYpOworCQl0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc2F2ZWRfc3RhdGU7CiAKIAlzYXZlZF9zdGF0ZSA9IGt6 YWxsb2Moc2l6ZW9mKCpzYXZlZF9zdGF0ZSksIEdGUF9LRVJORUwpOwpAQCAtMTI1MTksOCArMTI1 MTksOCBAQCBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSwgYmFzZSkpOwogCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSwgdWFwaSkpOwogCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSwgaHcpKTsKLQltZW1jcHkoJmNydGNfc3RhdGUtPmJhc2UgKyAxLCAmc2F2ZWRfc3RhdGUtPmJh c2UgKyAxLAotCSAgICAgICBzaXplb2YoKmNydGNfc3RhdGUpIC0gc2l6ZW9mKGNydGNfc3RhdGUt PmJhc2UpKTsKKwltZW1jcHkoJmNydGNfc3RhdGUtPnVhcGkgKyAxLCAmc2F2ZWRfc3RhdGUtPnVh cGkgKyAxLAorCSAgICAgICBzaXplb2YoKmNydGNfc3RhdGUpIC0gc2l6ZW9mKGNydGNfc3RhdGUt PnVhcGkpKTsKIAogCWtmcmVlKHNhdmVkX3N0YXRlKTsKIAlyZXR1cm4gMDsKQEAgLTEyNTI5LDgg KzEyNTI5LDggQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyBpbnQKIGludGVsX21vZGVzZXRfcGlwZV9jb25maWcoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewotCXN0cnVjdCBkcm1fY3J0YyAq Y3J0YyA9IHBpcGVfY29uZmlnLT5iYXNlLmNydGM7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlID0gcGlwZV9jb25maWctPmJhc2Uuc3RhdGU7CisJc3RydWN0IGRybV9jcnRjICpjcnRj ID0gcGlwZV9jb25maWctPnVhcGkuY3J0YzsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUgPSBwaXBlX2NvbmZpZy0+dWFwaS5zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwogCXN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CkBAIC0xMjgwNyw4ICsxMjgwNyw4IEBAIGlu dGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmN1 cnJlbnRfY29uZmlnLAogCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCiAJCQkgIGJvb2wgZmFzdHNldCkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGN1cnJlbnRfY29uZmlnLT5iYXNlLmNydGMtPmRldik7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNy dGMpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3VycmVu dF9jb25maWctPnVhcGkuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJYm9vbCByZXQgPSB0cnVlOwog CXUzMiBicF9nYW1tYSA9IDA7CiAJYm9vbCBmaXh1cF9pbmhlcml0ZWQgPSBmYXN0c2V0ICYmCkBA IC0xMzM1OSwxMiArMTMzNTksMTIgQEAgdmVyaWZ5X2NydGNfc3RhdGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCiAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwogCWJvb2wgYWN0aXZl OwogCi0Jc3RhdGUgPSBvbGRfY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZTsKLQlfX2RybV9hdG9taWNf aGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmb2xkX2NydGNfc3RhdGUtPmJhc2UpOworCXN0YXRl ID0gb2xkX2NydGNfc3RhdGUtPnVhcGkuc3RhdGU7CisJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X2Rlc3Ryb3lfc3RhdGUoJm9sZF9jcnRjX3N0YXRlLT51YXBpKTsKIAlwaXBlX2NvbmZpZyA9IG9s ZF9jcnRjX3N0YXRlOwogCW1lbXNldChwaXBlX2NvbmZpZywgMCwgc2l6ZW9mKCpwaXBlX2NvbmZp ZykpOwotCXBpcGVfY29uZmlnLT5iYXNlLmNydGMgPSAmY3J0Yy0+YmFzZTsKLQlwaXBlX2NvbmZp Zy0+YmFzZS5zdGF0ZSA9IHN0YXRlOworCXBpcGVfY29uZmlnLT51YXBpLmNydGMgPSAmY3J0Yy0+ YmFzZTsKKwlwaXBlX2NvbmZpZy0+dWFwaS5zdGF0ZSA9IHN0YXRlOwogCiAJRFJNX0RFQlVHX0tN UygiW0NSVEM6JWQ6JXNdXG4iLCBjcnRjLT5iYXNlLmJhc2UuaWQsIGNydGMtPmJhc2UubmFtZSk7 CiAKQEAgLTEzNTQ0LDcgKzEzNTQ0LDcgQEAgaW50ZWxfbW9kZXNldF92ZXJpZnlfZGlzYWJsZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogc3RhdGljIHZvaWQKIGludGVsX2Ny dGNfdXBkYXRlX2FjdGl2ZV90aW1pbmdzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KIAkJJmNydGNfc3RhdGUtPmh3LmFkanVzdGVk X21vZGU7CkBAIC0xMzc0MSw3ICsxMzc0MSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfY2hl Y2tfZmFzdHNldChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhCiAJ aWYgKCFpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19z dGF0ZSwgdHJ1ZSkpCiAJCXJldHVybjsKIAotCW5ld19jcnRjX3N0YXRlLT5iYXNlLm1vZGVfY2hh bmdlZCA9IGZhbHNlOworCW5ld19jcnRjX3N0YXRlLT51YXBpLm1vZGVfY2hhbmdlZCA9IGZhbHNl OwogCW5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGlwZSA9IHRydWU7CiAKIAkvKgpAQCAtMTM4MTQs NyArMTM4MTQsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkpIHsKIAkJaWYgKG5ld19jcnRj X3N0YXRlLT5ody5tb2RlLnByaXZhdGVfZmxhZ3MgIT0KIAkJICAgIG9sZF9jcnRjX3N0YXRlLT5o dy5tb2RlLnByaXZhdGVfZmxhZ3MpCi0JCQluZXdfY3J0Y19zdGF0ZS0+YmFzZS5tb2RlX2NoYW5n ZWQgPSB0cnVlOworCQkJbmV3X2NydGNfc3RhdGUtPnVhcGkubW9kZV9jaGFuZ2VkID0gdHJ1ZTsK IAl9CiAKIAlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0KGRldiwgJnN0YXRl LT5iYXNlKTsKQEAgLTEzOTM4LDcgKzEzOTM4LDcgQEAgdm9pZCBpbnRlbF9jcnRjX2FybV9maWZv X3VuZGVycnVuKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogc3RhdGljIHZvaWQgaW50ZWxfcGlw ZV9mYXN0c2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwK IAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUp CiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0 YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAogCS8qIGRybV9hdG9taWNfaGVs cGVyX3VwZGF0ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZSBtaWdodCBub3QgYmUgY2FsbGVkLiAqLwpA QCAtMTM5ODMsNyArMTM5ODMsNyBAQCBzdGF0aWMgdm9pZCBjb21taXRfcGlwZV9jb25maWcoc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJICogQ1JUQyB3YXMgZW5hYmxlZC4KIAkg Ki8KIAlpZiAoIW1vZGVzZXQpIHsKLQkJaWYgKG5ld19jcnRjX3N0YXRlLT5iYXNlLmNvbG9yX21n bXRfY2hhbmdlZCB8fAorCQlpZiAobmV3X2NydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9jaGFu Z2VkIHx8CiAJCSAgICBuZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUpCiAJCQlpbnRlbF9jb2xv cl9jb21taXQobmV3X2NydGNfc3RhdGUpOwogCkBAIC0xNDA1Nyw3ICsxNDA1Nyw3IEBAIHN0YXRp YyB2b2lkIGludGVsX3VwZGF0ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCiBzdGF0 aWMgc3RydWN0IGludGVsX2NydGMgKmludGVsX2dldF9zbGF2ZV9jcnRjKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KG5ld19jcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShuZXdfY3J0Y19z dGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCWVudW0gdHJhbnNjb2RlciBzbGF2ZV90cmFuc2NvZGVy OwogCiAJV0FSTl9PTighaXNfcG93ZXJfb2ZfMihuZXdfY3J0Y19zdGF0ZS0+c3luY19tb2RlX3Ns YXZlc19tYXNrKSk7CkBAIC0xNDQ5NSwxMiArMTQ0OTUsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxf YXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQli b29sIG1vZGVzZXQgPSBuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKTsKIAogCQkvKiBDb21w bGV0ZSBldmVudHMgZm9yIG5vdyBkaXNhYmxlIHBpcGVzIGhlcmUuICovCi0JCWlmIChtb2Rlc2V0 ICYmICFuZXdfY3J0Y19zdGF0ZS0+aHcuYWN0aXZlICYmIG5ld19jcnRjX3N0YXRlLT5iYXNlLmV2 ZW50KSB7CisJCWlmIChtb2Rlc2V0ICYmICFuZXdfY3J0Y19zdGF0ZS0+aHcuYWN0aXZlICYmIG5l d19jcnRjX3N0YXRlLT51YXBpLmV2ZW50KSB7CiAJCQlzcGluX2xvY2tfaXJxKCZkZXYtPmV2ZW50 X2xvY2spOwotCQkJZHJtX2NydGNfc2VuZF92YmxhbmtfZXZlbnQoJmNydGMtPmJhc2UsIG5ld19j cnRjX3N0YXRlLT5iYXNlLmV2ZW50KTsKKwkJCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KCZj cnRjLT5iYXNlLAorCQkJCQkJICAgbmV3X2NydGNfc3RhdGUtPnVhcGkuZXZlbnQpOwogCQkJc3Bp bl91bmxvY2tfaXJxKCZkZXYtPmV2ZW50X2xvY2spOwogCi0JCQluZXdfY3J0Y19zdGF0ZS0+YmFz ZS5ldmVudCA9IE5VTEw7CisJCQluZXdfY3J0Y19zdGF0ZS0+dWFwaS5ldmVudCA9IE5VTEw7CiAJ CX0KIAl9CiAKQEAgLTE0NTMzLDcgKzE0NTM0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWlj X2NvbW1pdF90YWlsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCWZvcl9lYWNo X25ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwgaSkg ewogCQlpZiAobmV3X2NydGNfc3RhdGUtPmh3LmFjdGl2ZSAmJgogCQkgICAgIW5lZWRzX21vZGVz ZXQobmV3X2NydGNfc3RhdGUpICYmCi0JCSAgICAobmV3X2NydGNfc3RhdGUtPmJhc2UuY29sb3Jf bWdtdF9jaGFuZ2VkIHx8CisJCSAgICAobmV3X2NydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9j aGFuZ2VkIHx8CiAJCSAgICAgbmV3X2NydGNfc3RhdGUtPnVwZGF0ZV9waXBlKSkKIAkJCWludGVs X2NvbG9yX2xvYWRfbHV0cyhuZXdfY3J0Y19zdGF0ZSk7CiAJfQpAQCAtMTQ5ODEsNyArMTQ5ODIs NyBAQCBpbnQKIHNrbF9tYXhfc2NhbGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCiAJICAgICAgY29uc3Qgc3RydWN0IGRybV9mb3JtYXRfaW5mbyAqZm9ybWF0KQog ewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWludCBtYXhfc2NhbGU7CiAJaW50IGNydGNfY2xv Y2ssIG1heF9kb3RjbGssIHRtcGNsazEsIHRtcGNsazI7CkBAIC0xNDk5MCw3ICsxNDk5MSw3IEBA IHNrbF9tYXhfc2NhbGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCXJldHVybiBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkc7CiAKIAljcnRjX2Nsb2NrID0g Y3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOwotCW1heF9kb3RjbGsgPSB0 b19pbnRlbF9hdG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZSktPmNkY2xrLmxvZ2lj YWwuY2RjbGs7CisJbWF4X2RvdGNsayA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0YXRl LT51YXBpLnN0YXRlKS0+Y2RjbGsubG9naWNhbC5jZGNsazsKIAogCWlmIChJU19HRU1JTklMQUtF KGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKQogCQltYXhfZG90Y2xrICo9 IDI7CkBAIC0xNTIxMCw3ICsxNTIxMSw3IEBAIGludGVsX2xlZ2FjeV9jdXJzb3JfdXBkYXRlKHN0 cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKIAogb3V0X2ZyZWU6CiAJaWYgKG5ld19jcnRjX3N0YXRl KQotCQlpbnRlbF9jcnRjX2Rlc3Ryb3lfc3RhdGUoJmNydGMtPmJhc2UsICZuZXdfY3J0Y19zdGF0 ZS0+YmFzZSk7CisJCWludGVsX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Yy0+YmFzZSwgJm5ld19j cnRjX3N0YXRlLT51YXBpKTsKIAlpZiAocmV0KQogCQlpbnRlbF9wbGFuZV9kZXN0cm95X3N0YXRl KCZwbGFuZS0+YmFzZSwgJm5ld19wbGFuZV9zdGF0ZS0+YmFzZSk7CiAJZWxzZQpAQCAtMTU1MzYs NyArMTU1MzcsNyBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQogCQlyZXQgPSAtRU5PTUVNOwogCQln b3RvIGZhaWw7CiAJfQotCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCgmaW50ZWxfY3J0 Yy0+YmFzZSwgJmNydGNfc3RhdGUtPmJhc2UpOworCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19y ZXNldCgmaW50ZWxfY3J0Yy0+YmFzZSwgJmNydGNfc3RhdGUtPnVhcGkpOwogCWludGVsX2NydGMt PmNvbmZpZyA9IGNydGNfc3RhdGU7CiAKIAlwcmltYXJ5ID0gaW50ZWxfcHJpbWFyeV9wbGFuZV9j cmVhdGUoZGV2X3ByaXYsIHBpcGUpOwpAQCAtMTY1NjUsNyArMTY1NjYsNyBAQCBzdGF0aWMgaW50 IGludGVsX2luaXRpYWxfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkgKiBoYXZp bmcgYSBwcm9wZXIgTFVUIGxvYWRlZC4gUmVtb3ZlIG9uY2Ugd2UKIAkJCSAqIGhhdmUgcmVhZG91 dCBmb3IgcGlwZSBnYW1tYSBlbmFibGUuCiAJCQkgKi8KLQkJCWNydGNfc3RhdGUtPmJhc2UuY29s b3JfbWdtdF9jaGFuZ2VkID0gdHJ1ZTsKKwkJCWNydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9j aGFuZ2VkID0gdHJ1ZTsKIAkJfQogCX0KIApAQCAtMTY5NjMsNyArMTY5NjQsNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9zYW5pdGl6ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCiBzdGF0 aWMgYm9vbCBoYXNfYm9ndXNfZHBsbF9jb25maWcoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAK IAkvKgogCSAqIFNvbWUgU05CIEJJT1NlbiAoZWcuIEFTVVMgSzUzU1YpIGFyZSBrbm93biB0byBt aXNwcm9ncmFtCkBAIC0xNzA5Nyw5ICsxNzA5OCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVz ZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9CiAJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMt PmJhc2Uuc3RhdGUpOwogCi0JCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRl KCZjcnRjX3N0YXRlLT5iYXNlKTsKKwkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lf c3RhdGUoJmNydGNfc3RhdGUtPnVhcGkpOwogCQltZW1zZXQoY3J0Y19zdGF0ZSwgMCwgc2l6ZW9m KCpjcnRjX3N0YXRlKSk7Ci0JCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCgmY3J0Yy0+ YmFzZSwgJmNydGNfc3RhdGUtPmJhc2UpOworCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVz ZXQoJmNydGMtPmJhc2UsICZjcnRjX3N0YXRlLT51YXBpKTsKIAogCQljcnRjX3N0YXRlLT5ody5h Y3RpdmUgPSBjcnRjX3N0YXRlLT5ody5lbmFibGUgPQogCQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0 X3BpcGVfY29uZmlnKGNydGMsIGNydGNfc3RhdGUpOwpAQCAtMTcxODUsOSArMTcxODYsOSBAQCBz dGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIAkJCQkgKiBiZWNhdXNlIGFueXRoaW5nIGNhbGxpbmcgLmNydGNfZGlzYWJsZSBt YXkKIAkJCQkgKiByZWx5IG9uIHRoZSBjb25uZWN0b3JfbWFzayBiZWluZyBhY2N1cmF0ZS4KIAkJ CQkgKi8KLQkJCQljcnRjX3N0YXRlLT5iYXNlLmNvbm5lY3Rvcl9tYXNrIHw9CisJCQkJY3J0Y19z dGF0ZS0+dWFwaS5jb25uZWN0b3JfbWFzayB8PQogCQkJCQlkcm1fY29ubmVjdG9yX21hc2soJmNv bm5lY3Rvci0+YmFzZSk7Ci0JCQkJY3J0Y19zdGF0ZS0+YmFzZS5lbmNvZGVyX21hc2sgfD0KKwkJ CQljcnRjX3N0YXRlLT51YXBpLmVuY29kZXJfbWFzayB8PQogCQkJCQlkcm1fZW5jb2Rlcl9tYXNr KCZlbmNvZGVyLT5iYXNlKTsKIAkJCX0KIAkJfSBlbHNlIHsKQEAgLTE3MjE1LDcgKzE3MjE2LDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCQljcnRjLT5iYXNlLm1vZGUudmRpc3BsYXkgPSBjcnRjX3N0YXRlLT5w aXBlX3NyY19oOwogCQkJaW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKCZjcnRjX3N0YXRlLT5o dy5hZGp1c3RlZF9tb2RlLAogCQkJCQkJICAgIGNydGNfc3RhdGUpOwotCQkJV0FSTl9PTihkcm1f YXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKCZjcnRjX3N0YXRlLT5iYXNlLCAmY3J0Yy0+YmFzZS5t b2RlKSk7CisJCQlXQVJOX09OKGRybV9hdG9taWNfc2V0X21vZGVfZm9yX2NydGMoJmNydGNfc3Rh dGUtPnVhcGksICZjcnRjLT5iYXNlLm1vZGUpKTsKIAogCQkJLyoKIAkJCSAqIFRoZSBpbml0aWFs IG1vZGUgbmVlZHMgdG8gYmUgc2V0IGluIG9yZGVyIHRvIGtlZXAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZHAuYwppbmRleCBmMmYwMmFkOGQzOWUuLjEwZTg1MjFhMjY1OCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwpAQCAtMjI0NCw3ICsyMjQ0LDcg QEAgaW50ZWxfZHBfeWNiY3I0MjBfY29uZmlnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5 X2luZm87CiAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQog CQkmY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlpbnQg cmV0OwogCiAJaWYgKCFkcm1fbW9kZV9pc180MjBfb25seShpbmZvLCBhZGp1c3RlZF9tb2RlKSB8 fApAQCAtMjMwOSw3ICsyMzA5LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190 b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29u ID0gZW5jX3RvX2ludGVsX2xzcGNvbigmZW5jb2Rlci0+YmFzZSk7CiAJZW51bSBwb3J0IHBvcnQg PSBlbmNvZGVyLT5wb3J0OwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0dGFjaGVkX2Nv bm5lY3RvcjsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgKmludGVsX2Nv bm5fc3RhdGUgPQogCQl0b19pbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShjb25uX3N0YXRl KTsKQEAgLTI0MjcsNyArMjQyNyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3ByZXBhcmUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CiAJZW51bSBwb3J0IHBv cnQgPSBlbmNvZGVyLT5wb3J0OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmh3LmFkanVzdGVk X21vZGU7CiAKIAlpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMoaW50ZWxfZHAsIHBpcGVfY29uZmln LT5wb3J0X2Nsb2NrLApAQCAtMzAyNSw3ICszMDI1LDcgQEAgc3RhdGljIHZvaWQgYXNzZXJ0X2Vk cF9wbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sIHN0YXRlKQogc3Rh dGljIHZvaWQgaXJvbmxha2VfZWRwX3BsbF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAog CQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmln LT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwogCiAJYXNzZXJ0X3BpcGVfZGlzYWJsZWQoZGV2X3ByaXYsIGNy dGMtPnBpcGUpOwpAQCAtMzA2NSw3ICszMDY1LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfZWRw X3BsbF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogc3RhdGljIHZvaWQgaXJvbmxha2Vf ZWRwX3BsbF9vZmYoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJCQkgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAKIAlhc3NlcnRfcGlwZV9kaXNhYmxlZChkZXZfcHJpdiwgY3J0Yy0+cGlw ZSk7CkBAIC0zMjI1LDcgKzMyMjUsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9nZXRfY29uZmln KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwogCXUzMiB0bXAsIGZsYWdzID0g MDsKIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7Ci0Jc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOworCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsK IAogCWlmIChlbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9FRFApCiAJCXBpcGVfY29uZmln LT5vdXRwdXRfdHlwZXMgfD0gQklUKElOVEVMX09VVFBVVF9FRFApOwpAQCAtMzQ5Miw3ICszNDky LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9f aW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJdTMyIGRwX3Jl ZyA9IEk5MTVfUkVBRChpbnRlbF9kcC0+b3V0cHV0X3JlZyk7CiAJZW51bSBwaXBlIHBpcGUgPSBj cnRjLT5waXBlOwogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwpAQCAtMzYyNSw3ICszNjI1LDcg QEAgc3RhdGljIHZvaWQgdmx2X2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwotCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwog CiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7CiAKQEAgLTQxNDcs NyArNDE0Nyw3IEBAIGludGVsX2RwX2xpbmtfZG93bihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVu Y29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2lu dGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWVudW0g cG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKIAl1MzIgRFAgPSBpbnRlbF9kcC0+RFA7CiAKQEAg LTY4OTksNyArNjg5OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3NldF9kcnJzX3N0YXRlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgICAgaW50IHJlZnJlc2hfcmF0 ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZGV2X3ByaXYtPmRycnMuZHA7Ci0J c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9j cnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJZW51bSBkcnJzX3JlZnJlc2hfcmF0ZV90eXBl IGluZGV4ID0gRFJSU19ISUdIX1JSOwogCiAJaWYgKHJlZnJlc2hfcmF0ZSA8PSAwKSB7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYwppbmRleCA2YjA4NmFjNzgy OGQuLjFiNmQ4Y2UwNTM0MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcF9tc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RwX21zdC5jCkBAIC00Miw3ICs0Miw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfbXN0X2NvbXB1 dGVfbGlua19jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJCSAgICBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwKIAkJCQkJICAgIHN0cnVjdCBs aW5rX2NvbmZpZ19saW1pdHMgKmxpbWl0cykKIHsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSA9IGNydGNfc3RhdGUtPnVhcGkuc3RhdGU7CiAJc3RydWN0IGludGVsX2RwX21zdF9l bmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwID0gJmludGVsX21zdC0+cHJpbWFyeS0+ZHA7CiAJc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0KQEAgLTE5MCw3ICsxOTAsNyBAQCBpbnRlbF9kcF9t c3RfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCQkJ aW50ZWxfY3J0Yyk7CiAKIAkJaWYgKCFjcnRjX3N0YXRlIHx8Ci0JCSAgICAhZHJtX2F0b21pY19j cnRjX25lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUtPmJhc2UpIHx8CisJCSAgICAhZHJtX2F0b21p Y19jcnRjX25lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUtPnVhcGkpIHx8CiAJCSAgICBjcnRjX3N0 YXRlLT5ody5lbmFibGUpCiAJCQlyZXR1cm4gMDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwaW9fcGh5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RwaW9fcGh5LmMKaW5kZXggNTU2ZDFiMzBmMDZhLi43MDRmMzg2ODFj NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBpb19w aHkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwaW9fcGh5LmMK QEAgLTczOSw3ICs3MzksNyBAQCB2b2lkIGNodl9kYXRhX2xhbmVfc29mdF9yZXNldChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAllbnVtIGRwaW9fY2hhbm5lbCBj aCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSkp OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT51YXBpLmNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIg dmFsOwogCkBAIC03ODMsNyArNzgzLDcgQEAgdm9pZCBjaHZfcGh5X3ByZV9wbGxfZW5hYmxlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmRwb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0 ZS0+dWFwaS5jcnRjKTsKIAllbnVtIGRwaW9fY2hhbm5lbCBjaCA9IHZsdl9kcG9ydF90b19jaGFu bmVsKGRwb3J0KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJdW5zaWduZWQgaW50 IGxhbmVfbWFzayA9CkBAIC04NjQsNyArODY0LDcgQEAgdm9pZCBjaHZfcGh5X3ByZV9lbmNvZGVy X2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2 KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAllbnVtIGRwaW9fY2hhbm5lbCBjaCA9IHZsdl9kcG9ydF90 b19jaGFubmVsKGRwb3J0KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJaW50IGRh dGEsIGksIHN0YWdnZXI7CkBAIC05NTMsNyArOTUzLDcgQEAgdm9pZCBjaHZfcGh5X3Bvc3RfcGxs X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0JZW51 bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpLT5w aXBlOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFw aS5jcnRjKS0+cGlwZTsKIAl1MzIgdmFsOwogCiAJdmx2X2RwaW9fZ2V0KGRldl9wcml2KTsKQEAg LTEwMTYsNyArMTAxNiw3IEBAIHZvaWQgdmx2X3BoeV9wcmVfcGxsX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9y dCA9IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJZW51bSBkcGlvX2NoYW5uZWwgcG9ydCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGRw b3J0KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKQEAgLTEwNDYsNyArMTA0Niw3 IEBAIHZvaWQgdmx2X3BoeV9wcmVfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgm ZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQgPSBkcF90 b19kaWdfcG9ydChpbnRlbF9kcCk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJZW51bSBk cGlvX2NoYW5uZWwgcG9ydCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGRwb3J0KTsKIAllbnVtIHBp cGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJdTMyIHZhbDsKQEAgLTEwNzUsNyArMTA3NSw3IEBAIHZv aWQgdmx2X3BoeV9yZXNldF9sYW5lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsK IAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGVuY190b19kaWdfcG9ydCgmZW5j b2Rlci0+YmFzZSk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAllbnVtIGRw aW9fY2hhbm5lbCBwb3J0ID0gdmx2X2Rwb3J0X3RvX2NoYW5uZWwoZHBvcnQpOwogCWVudW0gcGlw ZSBwaXBlID0gY3J0Yy0+cGlwZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kcGxsX21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kcGxsX21nci5jCmluZGV4IGVjMTBmYTdkM2M2OS4uMzNkYjFmNTliNDA2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwbGxfbWdyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5jCkBAIC0xMzYsNyAr MTM2LDcgQEAgdm9pZCBhc3NlcnRfc2hhcmVkX2RwbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogICovCiB2b2lkIGludGVsX3ByZXBhcmVfc2hhcmVkX2RwbGwoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRl dik7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSBjcnRjX3N0YXRlLT5zaGFyZWRf ZHBsbDsKIApAQCAtMTYzLDcgKzE2Myw3IEBAIHZvaWQgaW50ZWxfcHJlcGFyZV9zaGFyZWRfZHBs bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKICAqLwogdm9pZCBp bnRlbF9lbmFibGVfc2hhcmVkX2RwbGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNy dGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3NoYXJl ZF9kcGxsICpwbGwgPSBjcnRjX3N0YXRlLT5zaGFyZWRfZHBsbDsKIAl1bnNpZ25lZCBpbnQgY3J0 Y19tYXNrID0gZHJtX2NydGNfbWFzaygmY3J0Yy0+YmFzZSk7CkBAIC0yMDgsNyArMjA4LDcgQEAg dm9pZCBpbnRlbF9lbmFibGVfc2hhcmVkX2RwbGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiAgKi8KIHZvaWQgaW50ZWxfZGlzYWJsZV9zaGFyZWRfZHBsbChjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCA9IGNydGNfc3RhdGUtPnNo YXJlZF9kcGxsOwogCXVuc2lnbmVkIGludCBjcnRjX21hc2sgPSBkcm1fY3J0Y19tYXNrKCZjcnRj LT5iYXNlKTsKQEAgLTgyNyw3ICs4MjcsNyBAQCBoc3dfZGRpX2hkbWlfZ2V0X2RwbGwoc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiBzdGF0aWMgc3RydWN0IGludGVsX3NoYXJlZF9k cGxsICoKIGhzd19kZGlfZHBfZ2V0X2RwbGwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAJc3RydWN0IGlu dGVsX3NoYXJlZF9kcGxsICpwbGw7CiAJZW51bSBpbnRlbF9kcGxsX2lkIHBsbF9pZDsKIAlpbnQg Y2xvY2sgPSBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrOwpAQCAtMTczNiw3ICsxNzM2LDcgQEAgc3Rh dGljIGJvb2wKIGJ4dF9kZGlfaGRtaV9wbGxfZGl2aWRlcnMoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJCQkgIHN0cnVjdCBieHRfY2xrX2RpdiAqY2xrX2RpdikKIHsKLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0 ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHBsbCBiZXN0X2Nsb2NrOwogCiAJLyogQ2FsY3VsYXRl IEhETUkgZGl2ICovCkBAIC0yMjU5LDcgKzIyNTksNyBAQCBzdGF0aWMgYm9vbAogY25sX2RkaV9j YWxjdWxhdGVfd3JwbGwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQlz dHJ1Y3Qgc2tsX3dycGxsX3BhcmFtcyAqd3JwbGxfcGFyYW1zKQogewotCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYp OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0 ZS0+dWFwaS5jcnRjLT5kZXYpOwogCXUzMiBhZmVfY2xvY2sgPSBjcnRjX3N0YXRlLT5wb3J0X2Ns b2NrICogNTsKIAl1MzIgcmVmX2Nsb2NrOwogCXUzMiBkY29fbWluID0gNzk5ODAwMDsKQEAgLTI1 MzgsNyArMjUzOCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2tsX3dycGxsX3BhcmFtcyB0Z2xf dGJ0X3BsbF8yNE1Iel92YWx1ZXMgPSB7CiBzdGF0aWMgYm9vbCBpY2xfY2FsY19kcF9jb21ib19w bGwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJICBzdHJ1Y3Qgc2ts X3dycGxsX3BhcmFtcyAqcGxsX3BhcmFtcykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0 Yy0+ZGV2KTsKIAljb25zdCBzdHJ1Y3QgaWNsX2NvbWJvX3BsbF9wYXJhbXMgKnBhcmFtcyA9CiAJ CWRldl9wcml2LT5jZGNsay5ody5yZWYgPT0gMjQwMDAgPwogCQlpY2xfZHBfY29tYm9fcGxsXzI0 TUh6X3ZhbHVlcyA6CkBAIC0yNTYwLDcgKzI1NjAsNyBAQCBzdGF0aWMgYm9vbCBpY2xfY2FsY19k cF9jb21ib19wbGwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiBzdGF0aWMg Ym9vbCBpY2xfY2FsY190YnRfcGxsKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAogCQkJICAgICBzdHJ1Y3Qgc2tsX3dycGxsX3BhcmFtcyAqcGxsX3BhcmFtcykKIHsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDEyKSB7CiAJCXN3aXRjaCAoZGV2X3ByaXYtPmNkY2xrLmh3LnJlZikgewpAQCAtMjU5Nyw3 ICsyNTk3LDcgQEAgc3RhdGljIGJvb2wgaWNsX2NhbGNfZHBsbF9zdGF0ZShzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKIAkJCQlzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSAqcGxsX3N0YXRlKQogewotCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCXUzMiBjZmdjcjAsIGNmZ2NyMTsKIAlzdHJ1 Y3Qgc2tsX3dycGxsX3BhcmFtcyBwbGxfcGFyYW1zID0geyAwIH07CiAJYm9vbCByZXQ7CkBAIC0y NzI5LDcgKzI3MjksNyBAQCBzdGF0aWMgYm9vbCBpY2xfbWdfcGxsX2ZpbmRfZGl2aXNvcnMoaW50 IGNsb2NrX2toeiwgYm9vbCBpc19kcCwgYm9vbCB1c2Vfc3NjLAogc3RhdGljIGJvb2wgaWNsX2Nh bGNfbWdfcGxsX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJ CSAgc3RydWN0IGludGVsX2RwbGxfaHdfc3RhdGUgKnBsbF9zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNf c3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlpbnQgcmVmY2xrX2toeiA9IGRldl9wcml2LT5jZGNs ay5ody5yZWY7CiAJaW50IGNsb2NrID0gY3J0Y19zdGF0ZS0+cG9ydF9jbG9jazsKIAl1MzIgZGNv X2toeiwgbTFkaXYsIG0yZGl2X2ludCwgbTJkaXZfcmVtLCBtMmRpdl9mcmFjOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kdm8uYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHZvLmMKaW5kZXggYTY4ZTVjNWI5MWI0Li4yODc3MGM1 NzY1YWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHZv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kdm8uYwpAQCAtMjc3 LDcgKzI3Nyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2R2b19wcmVfZW5hYmxlKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMpOwogCWNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5ody5h ZGp1c3RlZF9tb2RlOwogCXN0cnVjdCBpbnRlbF9kdm8gKmludGVsX2R2byA9IGVuY190b19kdm8o ZW5jb2Rlcik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYwppbmRleCAyNWI0NDU2YmZkNjAuLjUzNzFjNGUxMTdi OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMKQEAgLTI4NSw3 ICsyODUsNyBAQCBzdGF0aWMgdm9pZCBpYnhfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogewogCWNvbnN0IHUzMiAqZGF0YSA9IGZyYW1lOwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwot CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJ UF9DVEwoaW50ZWxfY3J0Yy0+cGlwZSk7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwogCWlu dCBpOwpAQCAtMzIxLDcgKzMyMSw3IEBAIHN0YXRpYyB2b2lkIGlieF9yZWFkX2luZm9mcmFtZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgICB2b2lkICpmcmFtZSwgc3Np emVfdCBsZW4pCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJdTMyIHZhbCwgKmRhdGEg PSBmcmFtZTsKIAlpbnQgaTsKIApAQCAtMzQwLDcgKzM0MCw3IEBAIHN0YXRpYyB1MzIgaWJ4X2lu Zm9mcmFtZXNfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQll bnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0YyktPnBp cGU7CisJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNy dGMpLT5waXBlOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJUF9DVEwocGlwZSk7CiAJdTMy IHZhbCA9IEk5MTVfUkVBRChyZWcpOwogCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIHZvaWQg Y3B0X3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsKIAlj b25zdCB1MzIgKmRhdGEgPSBmcmFtZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5j cnRjKTsKIAlpOTE1X3JlZ190IHJlZyA9IFRWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUp OwogCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKIAlpbnQgaTsKQEAgLTQwMSw3ICs0MDEsNyBA QCBzdGF0aWMgdm9pZCBjcHRfcmVhZF9pbmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCQkgICAgICAgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwot CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLT51YXBpLmNydGMpOwogCXUzMiB2YWwsICpkYXRhID0gZnJhbWU7CiAJaW50IGk7CiAKQEAg LTQyMCw3ICs0MjAsNyBAQCBzdGF0aWMgdTMyIGNwdF9pbmZvZnJhbWVzX2VuYWJsZWQoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRl bF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpLT5waXBlOworCWVudW0gcGlwZSBwaXBlID0g dG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKS0+cGlwZTsKIAl1MzIgdmFsID0g STkxNV9SRUFEKFRWSURFT19ESVBfQ1RMKHBpcGUpKTsKIAogCWlmICgodmFsICYgVklERU9fRElQ X0VOQUJMRSkgPT0gMCkKQEAgLTQzOCw3ICs0MzgsNyBAQCBzdGF0aWMgdm9pZCB2bHZfd3JpdGVf aW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogewogCWNvbnN0IHUzMiAq ZGF0YSA9IGZyYW1lOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWk5 MTVfcmVnX3QgcmVnID0gVkxWX1RWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwogCXUz MiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKIAlpbnQgaTsKQEAgLTQ3NCw3ICs0NzQsNyBAQCBzdGF0 aWMgdm9pZCB2bHZfcmVhZF9pbmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCQkgICAgICAgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMp OworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCXUzMiB2YWwsICpkYXRhID0gZnJhbWU7CiAJaW50IGk7CiAKQEAgLTQ5Myw3 ICs0OTMsNyBAQCBzdGF0aWMgdTMyIHZsdl9pbmZvZnJhbWVzX2VuYWJsZWQoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq cGlwZV9jb25maWcpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRj KHBpcGVfY29uZmlnLT5iYXNlLmNydGMpLT5waXBlOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50 ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKS0+cGlwZTsKIAl1MzIgdmFsID0gSTkxNV9S RUFEKFZMVl9UVklERU9fRElQX0NUTChwaXBlKSk7CiAKIAlpZiAoKHZhbCAmIFZJREVPX0RJUF9F TkFCTEUpID09IDApCkBAIC05NjUsNyArOTY1LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfaGRtaV9z ZXRfZ2NwX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkJIGNv bnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwot CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLT51YXBpLmNydGMpOwogCWk5MTVfcmVnX3QgcmVnOwogCiAJaWYgKChjcnRjX3N0YXRlLT5p bmZvZnJhbWVzLmVuYWJsZSAmCkBAIC05OTAsNyArOTkwLDcgQEAgdm9pZCBpbnRlbF9oZG1pX3Jl YWRfZ2NwX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsK KwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFw aS5jcnRjKTsKIAlpOTE1X3JlZ190IHJlZzsKIAogCWlmICgoY3J0Y19zdGF0ZS0+aW5mb2ZyYW1l cy5lbmFibGUgJgpAQCAtMTAzNyw3ICsxMDM3LDcgQEAgc3RhdGljIHZvaWQgaWJ4X3NldF9pbmZv ZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgIGNvbnN0IHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgaW50 ZWxfaGRtaSAqaW50ZWxfaGRtaSA9ICZpbnRlbF9kaWdfcG9ydC0+aGRtaTsKIAlpOTE1X3JlZ190 IHJlZyA9IFRWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwpAQCAtMTA5Niw3ICsxMDk2 LDcgQEAgc3RhdGljIHZvaWQgY3B0X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpj b25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0 cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXIt PmJhc2UpOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0Yy0+cGlw ZSk7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwpAQCAtMTE0NSw3ICsxMTQ1LDcgQEAgc3Rh dGljIHZvaWQgdmx2X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rl ci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRl bF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwog CWk5MTVfcmVnX3QgcmVnID0gVkxWX1RWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwog CXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKQEAgLTE3MzYsNyArMTczNiw3IEBAIHN0YXRpYyB2 b2lkIGludGVsX2hkbWlfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsK IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMp OwogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVu Y29kZXItPmJhc2UpOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9t b2RlID0gJmNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CiAJdTMyIGhkbWlfdmFsOwpAQCAt MTg2MCw3ICsxODYwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2hkbWlfYXVkaW8oc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCQkgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsKIAogCVdBUk5fT04o IXBpcGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rKTsKIAlEUk1fREVCVUdfRFJJVkVSKCJFbmFibGlu ZyBIRE1JIGF1ZGlvIG9uIHBpcGUgJWNcbiIsCkBAIC0xOTQ2LDcgKzE5NDYsNyBAQCBzdGF0aWMg dm9pZCBjcHRfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7CisJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMp OwogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVu Y29kZXItPmJhc2UpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIgdGVtcDsK QEAgLTIwMTAsNyArMjAxMCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfaGRtaShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRt aSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9CiAJCWhkbWlfdG9fZGlnX3BvcnQoaW50ZWxfaGRt aSk7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0 YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAl1MzIgdGVtcDsKIAogCXRlbXAgPSBJOTE1 X1JFQUQoaW50ZWxfaGRtaS0+aGRtaV9yZWcpOwpAQCAtMjIxMCw4ICsyMjEwLDggQEAgc3RhdGlj IGJvb2wgaGRtaV9kZWVwX2NvbG9yX3Bvc3NpYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLAogCQkJCSAgICAgaW50IGJwYykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPQotCQl0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2 KTsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0 YXRlOworCQl0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT51YXBpLnN0YXRlOwogCXN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CiAJc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcjsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRf bW9kZSA9CkBAIC0yMjQwLDcgKzIyNDAsNyBAQCBzdGF0aWMgYm9vbCBoZG1pX2RlZXBfY29sb3Jf cG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJZm9y X2VhY2hfbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jf c3RhdGUsIGkpIHsKIAkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29u bmVjdG9yLT5kaXNwbGF5X2luZm87CiAKLQkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAhPSBj cnRjX3N0YXRlLT5iYXNlLmNydGMpCisJCWlmIChjb25uZWN0b3Jfc3RhdGUtPmNydGMgIT0gY3J0 Y19zdGF0ZS0+dWFwaS5jcnRjKQogCQkJY29udGludWU7CiAKIAkJaWYgKGNydGNfc3RhdGUtPm91 dHB1dF9mb3JtYXQgPT0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCkgewpAQCAtMjI4MSw3 ICsyMjgxLDcgQEAgc3RhdGljIGJvb2wKIGludGVsX2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY29uZmlnKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0Yyhjb25maWctPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMg PSB0b19pbnRlbF9jcnRjKGNvbmZpZy0+dWFwaS5jcnRjKTsKIAogCWlmICghY29ubmVjdG9yLT55 Y2Jjcl80MjBfYWxsb3dlZCkgewogCQlEUk1fRVJST1IoIlBsYXRmb3JtIGRvZXNuJ3Qgc3VwcG9y dCBZQ0JDUjQyMCBvdXRwdXRcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2x2ZHMuYwppbmRleCBmMTdkNmUwMjQ2MGYuLmNhNGViYjBmMjIzMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9sdmRzLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9sdmRzLmMKQEAgLTIzMCw3ICsyMzAsNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9wcmVfZW5hYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiB7CiAJc3RydWN0IGludGVsX2x2ZHNfZW5jb2RlciAqbHZkc19lbmNvZGVyID0gdG9fbHZkc19l bmNvZGVyKCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMpOwogCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmln LT5ody5hZGp1c3RlZF9tb2RlOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIg dGVtcDsKQEAgLTM5Myw3ICszOTMsNyBAQCBzdGF0aWMgaW50IGludGVsX2x2ZHNfY29tcHV0ZV9j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCiAJc3RydWN0IGludGVs X2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0KIAkJbHZkc19lbmNvZGVyLT5hdHRhY2hlZF9j b25uZWN0b3I7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlw ZV9jb25maWctPmh3LmFkanVzdGVkX21vZGU7Ci0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRj KTsKIAl1bnNpZ25lZCBpbnQgbHZkc19icHA7CiAKIAkvKiBTaG91bGQgbmV2ZXIgaGFwcGVuISEg Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwuYwppbmRleCA1ZTNm ZDM3ZDk0NzEuLjZmM2VhYWUzNzYxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfcGFuZWwuYwpAQCAtMTA0Nyw3ICsxMDQ3LDcgQEAgc3RhdGljIHZvaWQgdmx2X2VuYWJs ZV9iYWNrbGlnaHQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJ c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGNv bm5fc3RhdGUtPmNvbm5lY3Rvcik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBh bmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7Ci0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPmJhc2UuY3J0YyktPnBpcGU7CisJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0YyktPnBpcGU7CiAJdTMyIGN0bCwgY3RsMjsKIAog CWN0bDIgPSBJOTE1X1JFQUQoVkxWX0JMQ19QV01fQ1RMMihwaXBlKSk7CkBAIC0xMDc3LDcgKzEw NzcsNyBAQCBzdGF0aWMgdm9pZCBieHRfZW5hYmxlX2JhY2tsaWdodChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5k ZXYpOwogCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKLQll bnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKS0+cGlw ZTsKKwllbnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KS0+cGlwZTsKIAl1MzIgcHdtX2N0bCwgdmFsOwogCiAJLyogQ29udHJvbGxlciAxIHVzZXMgdGhl IHV0aWxpdHkgcGluLiAqLwpAQCAtMTE4OSw3ICsxMTg5LDcgQEAgdm9pZCBpbnRlbF9wYW5lbF9l bmFibGVfYmFja2xpZ2h0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHRvX2ludGVsX2Nvbm5lY3Rv cihjb25uX3N0YXRlLT5jb25uZWN0b3IpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3BhbmVs ICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwotCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpLT5waXBlOworCWVudW0gcGlwZSBwaXBlID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpLT5waXBlOwogCiAJaWYgKCFwYW5lbC0+ YmFja2xpZ2h0LnByZXNlbnQpCiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGlwZV9jcmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfcGlwZV9jcmMuYwppbmRleCBmYzYwMjUzM2E2MDIuLjI3NDY1MTJmNDQ2NiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9waXBlX2NyYy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGlwZV9jcmMuYwpAQCAt MzA5LDEzICszMDksMTMgQEAgaW50ZWxfY3J0Y19jcmNfc2V0dXBfd29ya2Fyb3VuZHMoc3RydWN0 IGludGVsX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQogCQlnb3RvIHB1dF9zdGF0ZTsKIAl9CiAK LQlwaXBlX2NvbmZpZy0+YmFzZS5tb2RlX2NoYW5nZWQgPSBwaXBlX2NvbmZpZy0+aGFzX3BzcjsK KwlwaXBlX2NvbmZpZy0+dWFwaS5tb2RlX2NoYW5nZWQgPSBwaXBlX2NvbmZpZy0+aGFzX3BzcjsK IAlwaXBlX2NvbmZpZy0+Y3JjX2VuYWJsZWQgPSBlbmFibGU7CiAKIAlpZiAoSVNfSEFTV0VMTChk ZXZfcHJpdikgJiYKIAkgICAgcGlwZV9jb25maWctPmh3LmFjdGl2ZSAmJiBjcnRjLT5waXBlID09 IFBJUEVfQSAmJgogCSAgICBwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIgPT0gVFJBTlNDT0RF Ul9FRFApCi0JCXBpcGVfY29uZmlnLT5iYXNlLm1vZGVfY2hhbmdlZCA9IHRydWU7CisJCXBpcGVf Y29uZmlnLT51YXBpLm1vZGVfY2hhbmdlZCA9IHRydWU7CiAKIAlyZXQgPSBkcm1fYXRvbWljX2Nv bW1pdChzdGF0ZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCmlu ZGV4IDYyYTkwYjVhZWU4Zi4uNzNlMzg5ZTg2ODcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfcHNyLmMKQEAgLTgxMyw3ICs4MTMsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9w c3JfZW5hYmxlX2xvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlk ZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCA9IGludGVsX3BzcjJfZW5hYmxlZChkZXZfcHJpdiwg Y3J0Y19zdGF0ZSk7CiAJZGV2X3ByaXYtPnBzci5idXN5X2Zyb250YnVmZmVyX2JpdHMgPSAwOwot CWRldl9wcml2LT5wc3IucGlwZSA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KS0+cGlwZTsKKwlkZXZfcHJpdi0+cHNyLnBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PnVhcGkuY3J0YyktPnBpcGU7CiAJZGV2X3ByaXYtPnBzci5kYzNjb19lbmFibGVkID0gISFjcnRj X3N0YXRlLT5kYzNjb19leGl0bGluZTsKIAlkZXZfcHJpdi0+cHNyLmRjM2NvX2V4aXRfZGVsYXkg PSBpbnRlbF9nZXRfZnJhbWVfdGltZV91cyhjcnRjX3N0YXRlKTsKIAlkZXZfcHJpdi0+cHNyLnRy YW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKQEAgLTEwNjAsNyArMTA2MCw3 IEBAIHZvaWQgaW50ZWxfcHNyX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogaW50 IGludGVsX3Bzcl93YWl0X2Zvcl9pZGxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpu ZXdfY3J0Y19zdGF0ZSwKIAkJCSAgICB1MzIgKm91dF92YWx1ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Yy0+YmFzZS5kZXYpOwogCiAJaWYgKCFkZXZfcHJpdi0+cHNyLmVuYWJsZWQgfHwgIW5ld19j cnRjX3N0YXRlLT5oYXNfcHNyKQpAQCAtMTEzOSw3ICsxMTM5LDcgQEAgc3RhdGljIGludCBpbnRl bF9wc3JfZmFzdHNldF9mb3JjZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAK IAkJaWYgKGNydGNfc3RhdGUtPmh3LmFjdGl2ZSAmJiBjcnRjX3N0YXRlLT5oYXNfcHNyKSB7CiAJ CQkvKiBNYXJrIG1vZGUgYXMgY2hhbmdlZCB0byB0cmlnZ2VyIGEgcGlwZS0+dXBkYXRlKCkgKi8K LQkJCWNydGNfc3RhdGUtPmJhc2UubW9kZV9jaGFuZ2VkID0gdHJ1ZTsKKwkJCWNydGNfc3RhdGUt PnVhcGkubW9kZV9jaGFuZ2VkID0gdHJ1ZTsKIAkJCWJyZWFrOwogCQl9CiAJfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nkdm8uYwppbmRleCA5N2FlOGNjMTMxNGUuLjEwNDcz NTdjMTVjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9z ZHZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zZHZvLmMKQEAg LTE0MjksNyArMTQyOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nkdm9fcHJlX2VuYWJsZShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKIAkJCQkgIGNvbnN0IHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwor CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBp LmNydGMpOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0g JmNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CiAJY29uc3Qgc3RydWN0IGludGVsX3Nkdm9f Y29ubmVjdG9yX3N0YXRlICpzZHZvX3N0YXRlID0KIAkJdG9faW50ZWxfc2R2b19jb25uZWN0b3Jf c3RhdGUoY29ubl9zdGF0ZSk7CkBAIC0xNzIzLDcgKzE3MjMsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF9kaXNhYmxlX3Nkdm8oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 CiAJc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8gPSB0b19zZHZvKGVuY29kZXIpOwotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+YmFz ZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2Ny dGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJdTMyIHRlbXA7CiAKIAlpZiAob2xkX2NydGNfc3RhdGUt Pmhhc19hdWRpbykKQEAgLTE3ODUsNyArMTc4NSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJs ZV9zZHZvKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8gPSB0 b19zZHZvKGVuY29kZXIpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJdTMyIHRl bXA7CiAJYm9vbCBpbnB1dDEsIGlucHV0MjsKIAlpbnQgaTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jCmluZGV4IGVmMGNhN2M2ZDExZi4uZmE2ODdjMDViMWVk IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMKQEAgLTgx LDcgKzgxLDcgQEAgaW50IGludGVsX3VzZWNzX3RvX3NjYW5saW5lcyhjb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSwKICAqLwogdm9pZCBpbnRlbF9waXBlX3VwZGF0 ZV9zdGFydChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCiB7 Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0YXRl LT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhu ZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZuZXdfY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9k ZTsKIAlsb25nIHRpbWVvdXQgPSBtc2Vjc190b19qaWZmaWVzX3RpbWVvdXQoMSk7CkBAIC0xOTAs NyArMTkwLDcgQEAgdm9pZCBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCiAgKi8KIHZvaWQgaW50ZWxfcGlwZV91cGRh dGVfZW5kKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPmJhc2Uu Y3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRj X3N0YXRlLT51YXBpLmNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAlpbnQg c2NhbmxpbmVfZW5kID0gaW50ZWxfZ2V0X2NydGNfc2NhbmxpbmUoY3J0Yyk7CiAJdTMyIGVuZF92 YmxfY291bnQgPSBpbnRlbF9jcnRjX2dldF92YmxhbmtfY291bnRlcihjcnRjKTsKQEAgLTIwMywx NCArMjAzLDE1IEBAIHZvaWQgaW50ZWxfcGlwZV91cGRhdGVfZW5kKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIAkgKiBXb3VsZCBiZSBzbGlnaHRseSBuaWNlIHRvIGp1 c3QgZ3JhYiB0aGUgdmJsYW5rIGNvdW50IGFuZCBhcm0gdGhlCiAJICogZXZlbnQgb3V0c2lkZSBv ZiB0aGUgY3JpdGljYWwgc2VjdGlvbiAtIHRoZSBzcGlubG9jayBtaWdodCBzcGluIGZvciBhCiAJ ICogd2hpbGUgLi4uICovCi0JaWYgKG5ld19jcnRjX3N0YXRlLT5iYXNlLmV2ZW50KSB7CisJaWYg KG5ld19jcnRjX3N0YXRlLT51YXBpLmV2ZW50KSB7CiAJCVdBUk5fT04oZHJtX2NydGNfdmJsYW5r X2dldCgmY3J0Yy0+YmFzZSkgIT0gMCk7CiAKIAkJc3Bpbl9sb2NrKCZjcnRjLT5iYXNlLmRldi0+ ZXZlbnRfbG9jayk7Ci0JCWRybV9jcnRjX2FybV92YmxhbmtfZXZlbnQoJmNydGMtPmJhc2UsIG5l d19jcnRjX3N0YXRlLT5iYXNlLmV2ZW50KTsKKwkJZHJtX2NydGNfYXJtX3ZibGFua19ldmVudCgm Y3J0Yy0+YmFzZSwKKwkJCQkgICAgICAgICAgbmV3X2NydGNfc3RhdGUtPnVhcGkuZXZlbnQpOwog CQlzcGluX3VubG9jaygmY3J0Yy0+YmFzZS5kZXYtPmV2ZW50X2xvY2spOwogCi0JCW5ld19jcnRj X3N0YXRlLT5iYXNlLmV2ZW50ID0gTlVMTDsKKwkJbmV3X2NydGNfc3RhdGUtPnVhcGkuZXZlbnQg PSBOVUxMOwogCX0KIAogCWxvY2FsX2lycV9lbmFibGUoKTsKQEAgLTE1ODYsNyArMTU4Nyw3IEBA IGc0eF9zcHJpdGVfY2hlY2soc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJ fQogCiAJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUoJnBsYW5lX3N0 YXRlLT5iYXNlLAotCQkJCQkJICAmY3J0Y19zdGF0ZS0+YmFzZSwKKwkJCQkJCSAgJmNydGNfc3Rh dGUtPnVhcGksCiAJCQkJCQkgIG1pbl9zY2FsZSwgbWF4X3NjYWxlLAogCQkJCQkJICB0cnVlLCB0 cnVlKTsKIAlpZiAocmV0KQpAQCAtMTY0Myw3ICsxNjQ0LDcgQEAgdmx2X3Nwcml0ZV9jaGVjayhz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcmV0dXJuIHJldDsKIAogCXJl dCA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKCZwbGFuZV9zdGF0ZS0+YmFz ZSwKLQkJCQkJCSAgJmNydGNfc3RhdGUtPmJhc2UsCisJCQkJCQkgICZjcnRjX3N0YXRlLT51YXBp LAogCQkJCQkJICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCiAJCQkJCQkgIERSTV9QTEFO RV9IRUxQRVJfTk9fU0NBTElORywKIAkJCQkJCSAgdHJ1ZSwgdHJ1ZSk7CkBAIC0xODA4LDcgKzE4 MDksNyBAQCBzdGF0aWMgaW50IHNrbF9wbGFuZV9jaGVjayhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKIAl9CiAKIAlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFu ZV9zdGF0ZSgmcGxhbmVfc3RhdGUtPmJhc2UsCi0JCQkJCQkgICZjcnRjX3N0YXRlLT5iYXNlLAor CQkJCQkJICAmY3J0Y19zdGF0ZS0+dWFwaSwKIAkJCQkJCSAgbWluX3NjYWxlLCBtYXhfc2NhbGUs CiAJCQkJCQkgIHRydWUsIHRydWUpOwogCWlmIChyZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3R2LmMKaW5kZXggZTgwMGQ0NWI4MTNkLi40NDk5ZDQwMmMzMTYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdHYuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMKQEAgLTkyNCw3ICs5MjQsNyBAQCBpbnRl bF9lbmFibGVfdHYoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAkvKiBQcmV2ZW50 cyB2Ymxhbmsgd2FpdHMgZnJvbSB0aW1pbmcgb3V0IGluIGludGVsX3R2X2RldGVjdF90eXBlKCkg Ki8KIAlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2X3ByaXYsCi0JCQkgICAgICB0b19pbnRlbF9j cnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpLT5waXBlKTsKKwkJCSAgICAgIHRvX2ludGVsX2Ny dGMocGlwZV9jb25maWctPnVhcGkuY3J0YyktPnBpcGUpOwogCiAJSTkxNV9XUklURShUVl9DVEws IEk5MTVfUkVBRChUVl9DVEwpIHwgVFZfRU5DX0VOQUJMRSk7CiB9CkBAIC0xNDE3LDcgKzE0MTcs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF90dl9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGludGVsX3R2ICppbnRlbF90diA9IGVuY190b190dihlbmNvZGVyKTsKIAljb25zdCBzdHJ1Y3Qg aW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlICp0dl9jb25uX3N0YXRlID0KIAkJdG9faW50ZWxfdHZf Y29ubmVjdG9yX3N0YXRlKGNvbm5fc3RhdGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX3Zkc2MuYwppbmRleCA3NTdiMjc2ZWIzZmMuLjljYjM2Zjg1NWYwNyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMKQEAgLTQ1OSw3ICs0NTksNyBAQCBp bnQgaW50ZWxfZHBfY29tcHV0ZV9kc2NfcGFyYW1zKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs CiBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCiBpbnRlbF9kc2NfcG93ZXJfZG9tYWlu KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGNydGNfc3RhdGUt PnVhcGkuY3J0Yy0+ZGV2KTsKIAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRj X3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAogCS8qCkBAIC00ODMsNyArNDgzLDcgQEAgaW50ZWxf ZHNjX3Bvd2VyX2RvbWFpbihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHN0YXRpYyB2b2lkIGludGVsX2NvbmZpZ3VyZV9wcHNfZm9yX2RzY19lbmNvZGVyKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJY29uc3Qg c3RydWN0IGRybV9kc2NfY29uZmlnICp2ZHNjX2NmZyA9ICZjcnRjX3N0YXRlLT5kc2MuY29uZmln OwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKQEAgLTkwMiw3ICs5MDIsNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kcF93cml0ZV9kc2NfcHBzX3NkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIHZvaWQgaW50ZWxfZHNjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIAkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp CiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNy dGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5w aXBlOwogCWk5MTVfcmVnX3QgZHNzX2N0bDFfcmVnLCBkc3NfY3RsMl9yZWc7CkBAIC05MzgsNyAr OTM4LDcgQEAgdm9pZCBpbnRlbF9kc2NfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCiB2b2lkIGludGVsX2RzY19kaXNhYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwog CWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAlpOTE1X3JlZ190IGRzc19jdGwxX3JlZywg ZHNzX2N0bDJfcmVnOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS92 bHZfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9kc2kuYwppbmRleCAz YmY4MzgyNzlmYzIuLjE2ZjkzZDFlNzFlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS92bHZfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS92 bHZfZHNpLmMKQEAgLTI2MSw3ICsyNjEsNyBAQCBzdGF0aWMgaW50IGludGVsX2RzaV9jb21wdXRl X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBjb250YWluZXJfb2YoZW5jb2Rlciwgc3RydWN0IGludGVsX2RzaSwKIAkJ CQkJCSAgIGJhc2UpOwogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9 IGludGVsX2RzaS0+YXR0YWNoZWRfY29ubmVjdG9yOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmZpeGVkX21vZGUgPSBpbnRlbF9jb25uZWN0b3It PnBhbmVsLmZpeGVkX21vZGU7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUgPSAmcGlwZV9jb25maWctPmh3LmFkanVzdGVkX21vZGU7CiAJaW50IHJldDsKQEAgLTYyNCw3 ICs2MjQsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfcG9ydF9lbmFibGUoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKIAllbnVt IHBvcnQgcG9ydDsKIApAQCAtNzQ2LDcgKzc0Niw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9w cmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKLQlzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMgPSBwaXBlX2NvbmZpZy0+YmFzZS5jcnRjOworCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YyA9IHBpcGVfY29uZmlnLT51YXBpLmNydGM7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKIAllbnVtIHBpcGUgcGlwZSA9IGludGVs X2NydGMtPnBpcGU7CkBAIC0xMDM0LDcgKzEwMzQsNyBAQCBzdGF0aWMgdm9pZCBieHRfZHNpX2dl dF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9CiAJCQkJCSZwaXBlX2NvbmZpZy0+aHcuYWRq dXN0ZWRfbW9kZTsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZV9zdzsK LQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJh c2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVf Y29uZmlnLT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190 b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwogCXVuc2lnbmVkIGludCBsYW5lX2NvdW50ID0g aW50ZWxfZHNpLT5sYW5lX2NvdW50OwogCXVuc2lnbmVkIGludCBicHAsIGZtdDsKQEAgLTEzMTUs NyArMTMxNSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9wcmVwYXJlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyLAogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZp bnRlbF9lbmNvZGVyLT5iYXNlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5k ZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwot CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZp Zy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGludGVsX2RzaSAqaW50ZWxf ZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+aHcuYWRqdXN0ZWRfbW9kZTsK IAllbnVtIHBvcnQgcG9ydDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggMTRj ZmJhMjY2NTg1Li43MjZkZWRkMmNhYmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j CkBAIC00MTYwLDcgKzQxNjAsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJyc19jdGxfc2V0KHZvaWQg KmRhdGEsIHU2NCB2YWwpCiAJCSAgICAhY3J0Y19zdGF0ZS0+aGFzX2RycnMpCiAJCQlnb3RvIG91 dDsKIAotCQljb21taXQgPSBjcnRjX3N0YXRlLT5iYXNlLmNvbW1pdDsKKwkJY29tbWl0ID0gY3J0 Y19zdGF0ZS0+dWFwaS5jb21taXQ7CiAJCWlmIChjb21taXQpIHsKIAkJCXJldCA9IHdhaXRfZm9y X2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgmY29tbWl0LT5od19kb25lKTsKIAkJCWlmIChyZXQp CkBAIC00MTcyLDcgKzQxNzIsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJyc19jdGxfc2V0KHZvaWQg KmRhdGEsIHU2NCB2YWwpCiAJCQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKIAkJCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHA7CiAKLQkJCWlmICghKGNydGNfc3RhdGUtPmJhc2UuY29u bmVjdG9yX21hc2sgJgorCQkJaWYgKCEoY3J0Y19zdGF0ZS0+dWFwaS5jb25uZWN0b3JfbWFzayAm CiAJCQkgICAgICBkcm1fY29ubmVjdG9yX21hc2soY29ubmVjdG9yKSkpCiAJCQkJY29udGludWU7 CiAKQEAgLTQyMzEsNyArNDIzMSw3IEBAIGk5MTVfZmlmb191bmRlcnJ1bl9yZXNldF93cml0ZShz dHJ1Y3QgZmlsZSAqZmlscCwKIAkJCXJldHVybiByZXQ7CiAKIAkJY3J0Y19zdGF0ZSA9IHRvX2lu dGVsX2NydGNfc3RhdGUoaW50ZWxfY3J0Yy0+YmFzZS5zdGF0ZSk7Ci0JCWNvbW1pdCA9IGNydGNf c3RhdGUtPmJhc2UuY29tbWl0OworCQljb21taXQgPSBjcnRjX3N0YXRlLT51YXBpLmNvbW1pdDsK IAkJaWYgKGNvbW1pdCkgewogCQkJcmV0ID0gd2FpdF9mb3JfY29tcGxldGlvbl9pbnRlcnJ1cHRp YmxlKCZjb21taXQtPmh3X2RvbmUpOwogCQkJaWYgKCFyZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YwppbmRleCA1YzlhNjFmMzhmN2EuLmExNWE2NzlmYWFlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jCkBAIC00NjUsNyArNDY1LDcgQEAgc3RhdGljIGNvbnN0IGludCBwZXNzaW1hbF9sYXRlbmN5 X25zID0gNTAwMDsKIAogc3RhdGljIHZvaWQgdmx2X2dldF9maWZvX3NpemUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJc3Ry dWN0IHZsdl9maWZvX3N0YXRlICpmaWZvX3N0YXRlID0gJmNydGNfc3RhdGUtPndtLnZsdi5maWZv X3N0YXRlOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKQEAgLTExNDUsNyArMTE0NSw3 IEBAIHN0YXRpYyB1MTYgZzR4X2NvbXB1dGVfd20oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiBzdGF0aWMgYm9vbCBnNHhfcmF3X3BsYW5lX3dtX3NldChzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgaW50IGxldmVsLCBlbnVtIHBsYW5l X2lkIHBsYW5lX2lkLCB1MTYgdmFsdWUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMt PmRldik7CiAJYm9vbCBkaXJ0eSA9IGZhbHNlOwogCiAJZm9yICg7IGxldmVsIDwgaW50ZWxfd21f bnVtX2xldmVscyhkZXZfcHJpdik7IGxldmVsKyspIHsKQEAgLTExNjEsNyArMTE2MSw3IEBAIHN0 YXRpYyBib29sIGc0eF9yYXdfcGxhbmVfd21fc2V0KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAogc3RhdGljIGJvb2wgZzR4X3Jhd19mYmNfd21fc2V0KHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICAgIGludCBsZXZlbCwgdTE2IHZhbHVlKQog ewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0 ZS0+YmFzZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCWJvb2wgZGlydHkgPSBmYWxz ZTsKIAogCS8qIE5PUk1BTCBsZXZlbCBkb2Vzbid0IGhhdmUgYW4gRkJDIHdhdGVybWFyayAqLwpA QCAtMTI2Myw3ICsxMjYzLDcgQEAgc3RhdGljIGJvb2wgZzR4X3Jhd19wbGFuZV93bV9pc192YWxp ZChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIHN0YXRpYyBib29s IGc0eF9yYXdfY3J0Y193bV9pc192YWxpZChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKIAkJCQkgICAgIGludCBsZXZlbCkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVh cGkuY3J0Yy0+ZGV2KTsKIAogCWlmIChsZXZlbCA+IGRldl9wcml2LT53bS5tYXhfbGV2ZWwpCiAJ CXJldHVybiBmYWxzZTsKQEAgLTEzMDEsOSArMTMwMSw5IEBAIHN0YXRpYyB2b2lkIGc0eF9pbnZh bGlkYXRlX3dtcyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAogc3RhdGljIGludCBnNHhfY29t cHV0ZV9waXBlX3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlID0KLQkJdG9f aW50ZWxfYXRvbWljX3N0YXRlKGNydGNfc3RhdGUtPmJhc2Uuc3RhdGUpOworCQl0b19pbnRlbF9h dG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZSk7CiAJc3RydWN0IGc0eF93bV9zdGF0 ZSAqd21fc3RhdGUgPSAmY3J0Y19zdGF0ZS0+d20uZzR4Lm9wdGltYWw7CiAJaW50IG51bV9hY3Rp dmVfcGxhbmVzID0gaHdlaWdodDgoY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcyAmCiAJCQkJCSB+ QklUKFBMQU5FX0NVUlNPUikpOwpAQCAtMTM5MCwxNyArMTM5MCwxNyBAQCBzdGF0aWMgaW50IGc0 eF9jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAK IHN0YXRpYyBpbnQgZzR4X2NvbXB1dGVfaW50ZXJtZWRpYXRlX3dtKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0 cnVjdCBnNHhfd21fc3RhdGUgKmludGVybWVkaWF0ZSA9ICZuZXdfY3J0Y19zdGF0ZS0+d20uZzR4 LmludGVybWVkaWF0ZTsKIAljb25zdCBzdHJ1Y3QgZzR4X3dtX3N0YXRlICpvcHRpbWFsID0gJm5l d19jcnRjX3N0YXRlLT53bS5nNHgub3B0aW1hbDsKIAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRl ICppbnRlbF9zdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+ YmFzZS5zdGF0ZSk7CisJCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+dWFw aS5zdGF0ZSk7CiAJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl ID0KIAkJaW50ZWxfYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0ZShpbnRlbF9zdGF0ZSwgY3J0Yyk7 CiAJY29uc3Qgc3RydWN0IGc0eF93bV9zdGF0ZSAqYWN0aXZlID0gJm9sZF9jcnRjX3N0YXRlLT53 bS5nNHgub3B0aW1hbDsKIAllbnVtIHBsYW5lX2lkIHBsYW5lX2lkOwogCi0JaWYgKCFuZXdfY3J0 Y19zdGF0ZS0+aHcuYWN0aXZlIHx8IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KCZuZXdf Y3J0Y19zdGF0ZS0+YmFzZSkpIHsKKwlpZiAoIW5ld19jcnRjX3N0YXRlLT5ody5hY3RpdmUgfHwg ZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoJm5ld19jcnRjX3N0YXRlLT51YXBpKSkgewog CQkqaW50ZXJtZWRpYXRlID0gKm9wdGltYWw7CiAKIAkJaW50ZXJtZWRpYXRlLT5jeHNyID0gZmFs c2U7CkBAIC0xNTMyLDggKzE1MzIsOCBAQCBzdGF0aWMgdm9pZCBnNHhfcHJvZ3JhbV93YXRlcm1h cmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHN0YXRpYyB2b2lkIGc0eF9p bml0aWFsX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJ ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAltdXRleF9sb2NrKCZk ZXZfcHJpdi0+d20ud21fbXV0ZXgpOwogCWNydGMtPndtLmFjdGl2ZS5nNHggPSBjcnRjX3N0YXRl LT53bS5nNHguaW50ZXJtZWRpYXRlOwpAQCAtMTU0NCw4ICsxNTQ0LDggQEAgc3RhdGljIHZvaWQg ZzR4X2luaXRpYWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwK IHN0YXRpYyB2b2lkIGc0eF9vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNf c3RhdGUgKnN0YXRlLAogCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNf c3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAogCWlmICghY3J0Y19zdGF0ZS0+d20ubmVlZF9wb3N0dmJsX3VwZGF0ZSkKIAkJcmV0dXJu OwpAQCAtMTYzMiw3ICsxNjMyLDcgQEAgc3RhdGljIGJvb2wgdmx2X25lZWRfc3ByaXRlMF9maWZv X3dvcmthcm91bmQodW5zaWduZWQgaW50IGFjdGl2ZV9wbGFuZXMpCiAKIHN0YXRpYyBpbnQgdmx2 X2NvbXB1dGVfZmlmbyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0 ZS0+dWFwaS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgZzR4X3BpcGVfd20gKnJhdyA9CiAJCSZjcnRj X3N0YXRlLT53bS52bHYucmF3W1ZMVl9XTV9MRVZFTF9QTTJdOwogCXN0cnVjdCB2bHZfZmlmb19z dGF0ZSAqZmlmb19zdGF0ZSA9ICZjcnRjX3N0YXRlLT53bS52bHYuZmlmb19zdGF0ZTsKQEAgLTE3 NDQsNyArMTc0NCw3IEBAIHN0YXRpYyB1MTYgdmx2X2ludmVydF93bV92YWx1ZSh1MTYgd20sIHUx NiBmaWZvX3NpemUpCiBzdGF0aWMgYm9vbCB2bHZfcmF3X3BsYW5lX3dtX3NldChzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgaW50IGxldmVsLCBlbnVtIHBsYW5lX2lk IHBsYW5lX2lkLCB1MTYgdmFsdWUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRl dik7CiAJaW50IG51bV9sZXZlbHMgPSBpbnRlbF93bV9udW1fbGV2ZWxzKGRldl9wcml2KTsKIAli b29sIGRpcnR5ID0gZmFsc2U7CiAKQEAgLTE4MTksMTYgKzE4MTksMTYgQEAgc3RhdGljIGJvb2wg dmx2X3Jhd19jcnRjX3dtX2lzX3ZhbGlkKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAogCiBzdGF0aWMgaW50IHZsdl9jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUgPQotCQl0b19pbnRlbF9hdG9taWNfc3RhdGUo Y3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZSk7CisJCXRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0 YXRlLT51YXBpLnN0YXRlKTsKIAlzdHJ1Y3Qgdmx2X3dtX3N0YXRlICp3bV9zdGF0ZSA9ICZjcnRj X3N0YXRlLT53bS52bHYub3B0aW1hbDsKIAljb25zdCBzdHJ1Y3Qgdmx2X2ZpZm9fc3RhdGUgKmZp Zm9fc3RhdGUgPQogCQkmY3J0Y19zdGF0ZS0+d20udmx2LmZpZm9fc3RhdGU7CiAJaW50IG51bV9h Y3RpdmVfcGxhbmVzID0gaHdlaWdodDgoY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcyAmCiAJCQkJ CSB+QklUKFBMQU5FX0NVUlNPUikpOwotCWJvb2wgbmVlZHNfbW9kZXNldCA9IGRybV9hdG9taWNf Y3J0Y19uZWVkc19tb2Rlc2V0KCZjcnRjX3N0YXRlLT5iYXNlKTsKKwlib29sIG5lZWRzX21vZGVz ZXQgPSBkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCgmY3J0Y19zdGF0ZS0+dWFwaSk7CiAJ Y29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGU7CiAJY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpuZXdfcGxhbmVfc3RhdGU7CiAJc3RydWN0IGludGVs X3BsYW5lICpwbGFuZTsKQEAgLTE5MjcsNyArMTkyNyw3IEBAIHN0YXRpYyBpbnQgdmx2X2NvbXB1 dGVfcGlwZV93bShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyB2 b2lkIHZsdl9hdG9taWNfdXBkYXRlX2ZpZm8oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUsCiAJCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmRldl9w cml2LT51bmNvcmU7CiAJY29uc3Qgc3RydWN0IHZsdl9maWZvX3N0YXRlICpmaWZvX3N0YXRlID0K QEAgLTIwMjMsMTcgKzIwMjMsMTcgQEAgc3RhdGljIHZvaWQgdmx2X2F0b21pY191cGRhdGVfZmlm byhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAogc3RhdGljIGludCB2bHZfY29t cHV0ZV9pbnRlcm1lZGlhdGVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0 YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdfY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMobmV3X2NydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IHZsdl93bV9zdGF0ZSAq aW50ZXJtZWRpYXRlID0gJm5ld19jcnRjX3N0YXRlLT53bS52bHYuaW50ZXJtZWRpYXRlOwogCWNv bnN0IHN0cnVjdCB2bHZfd21fc3RhdGUgKm9wdGltYWwgPSAmbmV3X2NydGNfc3RhdGUtPndtLnZs di5vcHRpbWFsOwogCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlID0KLQkJ dG9faW50ZWxfYXRvbWljX3N0YXRlKG5ld19jcnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKKwkJdG9f aW50ZWxfYXRvbWljX3N0YXRlKG5ld19jcnRjX3N0YXRlLT51YXBpLnN0YXRlKTsKIAljb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUgPQogCQlpbnRlbF9hdG9taWNf Z2V0X29sZF9jcnRjX3N0YXRlKGludGVsX3N0YXRlLCBjcnRjKTsKIAljb25zdCBzdHJ1Y3Qgdmx2 X3dtX3N0YXRlICphY3RpdmUgPSAmb2xkX2NydGNfc3RhdGUtPndtLnZsdi5vcHRpbWFsOwogCWlu dCBsZXZlbDsKIAotCWlmICghbmV3X2NydGNfc3RhdGUtPmh3LmFjdGl2ZSB8fCBkcm1fYXRvbWlj X2NydGNfbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUtPmJhc2UpKSB7CisJaWYgKCFuZXdf Y3J0Y19zdGF0ZS0+aHcuYWN0aXZlIHx8IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KCZu ZXdfY3J0Y19zdGF0ZS0+dWFwaSkpIHsKIAkJKmludGVybWVkaWF0ZSA9ICpvcHRpbWFsOwogCiAJ CWludGVybWVkaWF0ZS0+Y3hzciA9IGZhbHNlOwpAQCAtMjE1MSw4ICsyMTUxLDggQEAgc3RhdGlj IHZvaWQgdmx2X3Byb2dyYW1fd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiBzdGF0aWMgdm9pZCB2bHZfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwor CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBp LmNydGMpOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPndtLndtX211dGV4KTsKIAljcnRjLT53 bS5hY3RpdmUudmx2ID0gY3J0Y19zdGF0ZS0+d20udmx2LmludGVybWVkaWF0ZTsKQEAgLTIxNjMs OCArMjE2Myw4IEBAIHN0YXRpYyB2b2lkIHZsdl9pbml0aWFsX3dhdGVybWFya3Moc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiBzdGF0aWMgdm9pZCB2bHZfb3B0aW1pemVfd2F0ZXJt YXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCQkgICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Ci0Jc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRl LT51YXBpLmNydGMtPmRldik7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9j cnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAlpZiAoIWNydGNfc3RhdGUtPndtLm5lZWRf cG9zdHZibF91cGRhdGUpCiAJCXJldHVybjsKQEAgLTI3NjgsNyArMjc2OCw3IEBAIHN0YXRpYyB1 MzIKIGhzd19jb21wdXRlX2xpbmV0aW1lX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogewogCWNvbnN0IHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVs X3N0YXRlID0KLQkJdG9faW50ZWxfYXRvbWljX3N0YXRlKGNydGNfc3RhdGUtPmJhc2Uuc3RhdGUp OworCQl0b19pbnRlbF9hdG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZSk7CiAJY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQogCQkmY3J0Y19zdGF0 ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKIAl1MzIgbGluZXRpbWUsIGlwc19saW5ldGltZTsKQEAgLTMw ODMsOCArMzA4Myw4IEBAIHN0YXRpYyBib29sIGlsa192YWxpZGF0ZV9waXBlX3dtKGNvbnN0IHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIC8qIENvbXB1dGUgbmV3IHdhdGVybWFy a3MgZm9yIHRoZSBwaXBlICovCiBzdGF0aWMgaW50IGlsa19jb21wdXRlX3BpcGVfd20oc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJh c2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGludGVs X3BpcGVfd20gKnBpcGVfd207CiAJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKIAljb25zdCBz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwpAQCAtMzE2MiwxMSArMzE2Miwx MSBAQCBzdGF0aWMgaW50IGlsa19jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiAgKi8KIHN0YXRpYyBpbnQgaWxrX2NvbXB1dGVfaW50ZXJtZWRpYXRl X3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdzdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMobmV3c3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKG5ld3N0YXRlLT51 YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo aW50ZWxfY3J0Yy0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9waXBlX3dtICphID0gJm5ld3N0 YXRlLT53bS5pbGsuaW50ZXJtZWRpYXRlOwogCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmlu dGVsX3N0YXRlID0KLQkJdG9faW50ZWxfYXRvbWljX3N0YXRlKG5ld3N0YXRlLT5iYXNlLnN0YXRl KTsKKwkJdG9faW50ZWxfYXRvbWljX3N0YXRlKG5ld3N0YXRlLT51YXBpLnN0YXRlKTsKIAljb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkc3RhdGUgPQogCQlpbnRlbF9hdG9taWNfZ2V0 X29sZF9jcnRjX3N0YXRlKGludGVsX3N0YXRlLCBpbnRlbF9jcnRjKTsKIAljb25zdCBzdHJ1Y3Qg aW50ZWxfcGlwZV93bSAqYiA9ICZvbGRzdGF0ZS0+d20uaWxrLm9wdGltYWw7CkBAIC0zMTc4LDcg KzMxNzgsNyBAQCBzdGF0aWMgaW50IGlsa19jb21wdXRlX2ludGVybWVkaWF0ZV93bShzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqbmV3c3RhdGUpCiAJICogYW5kIGFmdGVyIHRoZSB2YmxhbmsuCiAJ ICovCiAJKmEgPSBuZXdzdGF0ZS0+d20uaWxrLm9wdGltYWw7Ci0JaWYgKCFuZXdzdGF0ZS0+aHcu YWN0aXZlIHx8IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KCZuZXdzdGF0ZS0+YmFzZSkg fHwKKwlpZiAoIW5ld3N0YXRlLT5ody5hY3RpdmUgfHwgZHJtX2F0b21pY19jcnRjX25lZWRzX21v ZGVzZXQoJm5ld3N0YXRlLT51YXBpKSB8fAogCSAgICBpbnRlbF9zdGF0ZS0+c2tpcF9pbnRlcm1l ZGlhdGVfd20pCiAJCXJldHVybiAwOwogCkBAIC0zODU5LDkgKzM4NTksOSBAQCBza2xfZGRiX2dl dF9waXBlX2FsbG9jYXRpb25fbGltaXRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAkJCQkgICBzdHJ1Y3Qgc2tsX2RkYl9lbnRyeSAqYWxsb2MsIC8qIG91dCAqLwogCQkJCSAg IGludCAqbnVtX2FjdGl2ZSAvKiBvdXQgKi8pCiB7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlID0gY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT51YXBpLnN0YXRlOwogCXN0cnVjdCBpbnRlbF9hdG9taWNf c3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKLQlzdHJ1 Y3QgZHJtX2NydGMgKmZvcl9jcnRjID0gY3J0Y19zdGF0ZS0+YmFzZS5jcnRjOworCXN0cnVjdCBk cm1fY3J0YyAqZm9yX2NydGMgPSBjcnRjX3N0YXRlLT51YXBpLmNydGM7CiAJY29uc3Qgc3RydWN0 IGludGVsX2NydGMgKmNydGM7CiAJdTMyIHBpcGVfd2lkdGggPSAwLCB0b3RhbF93aWR0aCA9IDAs IHdpZHRoX2JlZm9yZV9waXBlID0gMDsKIAllbnVtIHBpcGUgZm9yX3BpcGUgPSB0b19pbnRlbF9j cnRjKGZvcl9jcnRjKS0+cGlwZTsKQEAgLTM5NDIsNyArMzk0Miw3IEBAIHN0YXRpYyB1bnNpZ25l ZCBpbnQKIHNrbF9jdXJzb3JfYWxsb2NhdGlvbihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKIAkJICAgICAgaW50IG51bV9hY3RpdmUpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0 YXRlLT51YXBpLmNydGMtPmRldik7CiAJaW50IGxldmVsLCBtYXhfbGV2ZWwgPSBpbGtfd21fbWF4 X2xldmVsKGRldl9wcml2KTsKIAlzdHJ1Y3Qgc2tsX3dtX2xldmVsIHdtID0ge307CiAJaW50IHJl dCwgbWluX2RkYl9hbGxvYyA9IDA7CkBAIC00MTMyLDcgKzQxMzIsNyBAQCBpbnQgc2tsX2NoZWNr X3BpcGVfbWF4X3BpeGVsX3JhdGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJCQkJ ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2NydGMtPmJhc2UuZGV2KTsKLQlz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOwor CXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IGNydGNfc3RhdGUtPnVhcGkuc3RhdGU7 CiAJY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKIAlzdHJ1Y3Qg aW50ZWxfcGxhbmUgKnBsYW5lOwogCWludCBjcnRjX2Nsb2NrLCBkb3RjbGs7CkBAIC00MjMzLDcg KzQyMzMsNyBAQCBza2xfZ2V0X3RvdGFsX3JlbGF0aXZlX2RhdGFfcmF0ZShzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgdTY0ICpwbGFuZV9kYXRhX3JhdGUsCiAJCQkJ IHU2NCAqdXZfcGxhbmVfZGF0YV9yYXRlKQogewotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSA9IGNydGNfc3RhdGUtPmJhc2Uuc3RhdGU7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlID0gY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBs YW5lOwogCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CiAJdTY0 IHRvdGFsX2RhdGFfcmF0ZSA9IDA7CkBAIC00MjY4LDcgKzQyNjgsNyBAQCBpY2xfZ2V0X3RvdGFs X3JlbGF0aXZlX2RhdGFfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK IAljb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwogCXU2NCB0b3Rh bF9kYXRhX3JhdGUgPSAwOwogCi0JaWYgKFdBUk5fT04oIWNydGNfc3RhdGUtPmJhc2Uuc3RhdGUp KQorCWlmIChXQVJOX09OKCFjcnRjX3N0YXRlLT51YXBpLnN0YXRlKSkKIAkJcmV0dXJuIDA7CiAK IAkvKiBDYWxjdWxhdGUgYW5kIGNhY2hlIGRhdGEgcmF0ZSBmb3IgZWFjaCBwbGFuZSAqLwpAQCAt NDMxMiw4ICs0MzEyLDggQEAgc3RhdGljIGludAogc2tsX2FsbG9jYXRlX3BpcGVfZGRiKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgICAgICBzdHJ1Y3Qgc2tsX2RkYl9h bGxvY2F0aW9uICpkZGIgLyogb3V0ICovKQogewotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSA9IGNydGNfc3RhdGUtPmJhc2Uuc3RhdGU7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjID0g Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjOworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9 IGNydGNfc3RhdGUtPnVhcGkuc3RhdGU7CisJc3RydWN0IGRybV9jcnRjICpjcnRjID0gY3J0Y19z dGF0ZS0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Yyk7CiAJc3RydWN0IHNrbF9kZGJfZW50cnkgKmFsbG9jID0gJmNydGNfc3Rh dGUtPndtLnNrbC5kZGI7CkBAIC00NjIwLDcgKzQ2MjAsNyBAQCBza2xfY29tcHV0ZV93bV9wYXJh bXMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgICAgIHUz MiBwbGFuZV9waXhlbF9yYXRlLCBzdHJ1Y3Qgc2tsX3dtX3BhcmFtcyAqd3AsCiAJCSAgICAgIGlu dCBjb2xvcl9wbGFuZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgaW50ZXJtX3Bi cGw7CiAKQEAgLTQ3NDEsNyArNDc0MSw3IEBAIHN0YXRpYyB2b2lkIHNrbF9jb21wdXRlX3BsYW5l X3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCSBjb25z dCBzdHJ1Y3Qgc2tsX3dtX2xldmVsICpyZXN1bHRfcHJldiwKIAkJCQkgc3RydWN0IHNrbF93bV9s ZXZlbCAqcmVzdWx0IC8qIG91dCAqLykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ ZGV2KTsKIAl1MzIgbGF0ZW5jeSA9IGRldl9wcml2LT53bS5za2xfbGF0ZW5jeVtsZXZlbF07CiAJ dWludF9maXhlZF8xNl8xNl90IG1ldGhvZDEsIG1ldGhvZDI7CiAJdWludF9maXhlZF8xNl8xNl90 IHNlbGVjdGVkX3Jlc3VsdDsKQEAgLTQ4NjUsNyArNDg2NSw3IEBAIHNrbF9jb21wdXRlX3dtX2xl dmVscyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAgICAg Y29uc3Qgc3RydWN0IHNrbF93bV9wYXJhbXMgKndtX3BhcmFtcywKIAkJICAgICAgc3RydWN0IHNr bF93bV9sZXZlbCAqbGV2ZWxzKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYp OwogCWludCBsZXZlbCwgbWF4X2xldmVsID0gaWxrX3dtX21heF9sZXZlbChkZXZfcHJpdik7CiAJ c3RydWN0IHNrbF93bV9sZXZlbCAqcmVzdWx0X3ByZXYgPSAmbGV2ZWxzWzBdOwogCkBAIC00ODgy LDcgKzQ4ODIsNyBAQCBza2xfY29tcHV0ZV93bV9sZXZlbHMoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCiBzdGF0aWMgdTMyCiBza2xfY29tcHV0ZV9saW5ldGltZV93 bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOworCXN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IGNydGNfc3RhdGUtPnVhcGkuc3RhdGU7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ZGV2KTsKIAl1 aW50X2ZpeGVkXzE2XzE2X3QgbGluZXRpbWVfdXM7CiAJdTMyIGxpbmV0aW1lX3dtOwpAQCAtNDkw MSw3ICs0OTAxLDcgQEAgc3RhdGljIHZvaWQgc2tsX2NvbXB1dGVfdHJhbnNpdGlvbl93bShjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgICAgICBjb25zdCBz dHJ1Y3Qgc2tsX3dtX3BhcmFtcyAqd3AsCiAJCQkJICAgICAgc3RydWN0IHNrbF9wbGFuZV93bSAq d20pCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ ZGV2OworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRl djsKIAljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRl dik7CiAJdTE2IHRyYW5zX21pbiwgdHJhbnNfeV90aWxlX21pbjsKIAljb25zdCB1MTYgdHJhbnNf YW1vdW50ID0gMTA7IC8qIFRoaXMgaXMgY29uZmlndXJhYmxlIGFtb3VudCAqLwpAQCAtNTA2MSw3 ICs1MDYxLDcgQEAgc3RhdGljIGludCBpY2xfYnVpbGRfcGxhbmVfd20oc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCiAKIHN0YXRpYyBpbnQgc2tsX2J1aWxkX3BpcGVfd20oc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51 YXBpLmNydGMtPmRldik7CiAJc3RydWN0IHNrbF9waXBlX3dtICpwaXBlX3dtID0gJmNydGNfc3Rh dGUtPndtLnNrbC5vcHRpbWFsOwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmU7CiAJY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKQEAgLTUyMzgsOCArNTIzOCw4 IEBAIHN0YXRpYyBpbnQKIHNrbF9kZGJfYWRkX2FmZmVjdGVkX3BsYW5lcyhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiAJCQkgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUg KnN0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKG5ld19jcnRjX3N0YXRlLT5iYXNlLnN0YXRl KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3Rh dGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUgPSB0b19p bnRlbF9hdG9taWNfc3RhdGUobmV3X2NydGNfc3RhdGUtPnVhcGkuc3RhdGUpOworCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwogCkBAIC01NTI0LDcgKzU1MjQs NyBAQCBzdGF0aWMgaW50IHNrbF93bV9hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlLAogCQkgKiBwb3dlciB3ZWxsIHRoZSBoYXJkd2FyZSBzdGF0ZSB3 aWxsIGdvIG91dCBvZiBzeW5jCiAJCSAqIHdpdGggdGhlIHNvZnR3YXJlIHN0YXRlLgogCQkgKi8K LQkJaWYgKCFkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUtPmJh c2UpICYmCisJCWlmICghZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoJm5ld19jcnRjX3N0 YXRlLT51YXBpKSAmJgogCQkgICAgc2tsX3BsYW5lX3dtX2VxdWFscyhkZXZfcHJpdiwKIAkJCQkJ Jm9sZF9jcnRjX3N0YXRlLT53bS5za2wub3B0aW1hbC5wbGFuZXNbcGxhbmVfaWRdLAogCQkJCQkm bmV3X2NydGNfc3RhdGUtPndtLnNrbC5vcHRpbWFsLnBsYW5lc1twbGFuZV9pZF0pKQpAQCAtNTU5 MSw3ICs1NTkxLDcgQEAgc2tsX2NvbXB1dGVfd20oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUpCiBzdGF0aWMgdm9pZCBza2xfYXRvbWljX3VwZGF0ZV9jcnRjX3dtKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKIAlzdHJ1Y3Qgc2tsX3Bp cGVfd20gKnBpcGVfd20gPSAmY3J0Y19zdGF0ZS0+d20uc2tsLm9wdGltYWw7CiAJZW51bSBwaXBl IHBpcGUgPSBjcnRjLT5waXBlOwpAQCAtNTYwNSw3ICs1NjA1LDcgQEAgc3RhdGljIHZvaWQgc2ts X2F0b21pY191cGRhdGVfY3J0Y193bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwK IHN0YXRpYyB2b2lkIHNrbF9pbml0aWFsX3dtKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0 YXRlLAogCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7CiAJc3RydWN0IHNrbF9kZGJfdmFsdWVzICpyZXN1bHRzID0gJnN0 YXRlLT53bV9yZXN1bHRzOwogCkBAIC01NjE0LDcgKzU2MTQsNyBAQCBzdGF0aWMgdm9pZCBza2xf aW5pdGlhbF93bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAogCW11dGV4X2xv Y2soJmRldl9wcml2LT53bS53bV9tdXRleCk7CiAKLQlpZiAoY3J0Y19zdGF0ZS0+YmFzZS5hY3Rp dmVfY2hhbmdlZCkKKwlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmVfY2hhbmdlZCkKIAkJc2ts X2F0b21pY191cGRhdGVfY3J0Y193bShzdGF0ZSwgY3J0Y19zdGF0ZSk7CiAKIAltdXRleF91bmxv Y2soJmRldl9wcml2LT53bS53bV9tdXRleCk7CkBAIC01NjczLDggKzU2NzMsOCBAQCBzdGF0aWMg dm9pZCBpbGtfcHJvZ3JhbV93YXRlcm1hcmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIHN0YXRpYyB2b2lkIGlsa19pbml0aWFsX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOwogCWNydGMtPndt LmFjdGl2ZS5pbGsgPSBjcnRjX3N0YXRlLT53bS5pbGsuaW50ZXJtZWRpYXRlOwpAQCAtNTY4NSw4 ICs1Njg1LDggQEAgc3RhdGljIHZvaWQgaWxrX2luaXRpYWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIHN0YXRpYyB2b2lkIGlsa19vcHRpbWl6ZV93YXRlcm1h cmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCSAgICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKLQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUt PnVhcGkuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAogCWlmICghY3J0Y19zdGF0ZS0+d20ubmVlZF9w b3N0dmJsX3VwZGF0ZSkKIAkJcmV0dXJuOwotLSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7940FCA9EAF for ; Thu, 24 Oct 2019 12:48:46 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5864220856 for ; Thu, 24 Oct 2019 12:48:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5864220856 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A7A7E6E3E7; Thu, 24 Oct 2019 12:48:45 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8BCC16E3CE for ; Thu, 24 Oct 2019 12:48:11 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Thu, 24 Oct 2019 14:47:58 +0200 Message-Id: <20191024124805.26840-7-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191024124805.26840-1-maarten.lankhorst@linux.intel.com> References: <20191024124805.26840-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 07/14] drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi. X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191024124758.U1u_InT2uR0yqOydabGKH_TjrVVTldptTAJCtDyMgpc@z> U3BsaXQgdXAgY3J0Y19zdGF0ZS0+YmFzZSB0byB1YXBpLiBUaGlzIGlzIGRvbmUgdXNpbmcgdGhl IGZvbGxvd2luZyBwYXRjaCwKcmFuIGFmdGVyIHRoZSBwcmV2aW91cyBjb21taXQgdGhhdCBzcGxp dHMgb3V0IGFueSBodyByZWZlcmVuY2VzOgoKQEAKc3RydWN0IGludGVsX2NydGNfc3RhdGUgKlQ7 CkBACi1ULT5iYXNlCitULT51YXBpCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ljbF9kc2kuYyAgICAgICAgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljLmMgICB8ICAgOCArLQogLi4uL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jIHwgICA2ICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2F1ZGlvLmMgICAgfCAgIDggKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYncuYyAgICAgICB8ICAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9jZGNsay5jICAgIHwgIDEwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2NvbG9yLmMgICAgfCAgNzAgKystLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfY3J0LmMgICAgICB8ICAgNiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAgICAgIHwgIDMyICstLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgIHwgMjU3ICsrKysrKysrKy0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jICAgICAgIHwgIDIwICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jICAgfCAgIDQgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBpb19waHkuYyB8ICAxNCArLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5jIHwgIDIwICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2R2by5jICAgICAgfCAgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jICAgICB8ICA0NCArLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfbHZkcy5jICAgICB8ICAgNCArLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wYW5lbC5jICAgIHwgICA2ICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BpcGVfY3JjLmMgfCAgIDQgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMgICAgICB8ICAgNiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zZHZvLmMgICAgIHwgICA2ICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jICAgfCAgMTcgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfdHYuYyAgICAgICB8ICAgNCArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMgICAgIHwgICA4ICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L3Zsdl9kc2kuYyAgICAgICAgfCAgMTAgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jICAgICAgICAgICB8ICAgNiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyAgICAgICAgICAgICAgIHwgMTEyICsrKystLS0tCiAyNyBmaWxlcyBjaGFu Z2VkLCAzNDggaW5zZXJ0aW9ucygrKSwgMzQ2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pY2xfZHNpLmMKaW5kZXggNGVjNDkzZTQ3NTViLi4wZTI0YjhlMjU3ZTUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jCkBAIC02MjUsNyArNjI1LDcgQEAg Z2VuMTFfZHNpX2NvbmZpZ3VyZV90cmFuc2NvZGVyKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19p bnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7 CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCXUzMiB0bXA7CiAJZW51bSBw b3J0IHBvcnQ7CkBAIC0xMjQyLDcgKzEyNDIsNyBAQCBzdGF0aWMgdm9pZCBnZW4xMV9kc2lfZ2V0 X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7 CiAJc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gZW5jX3RvX2ludGVsX2RzaSgmZW5jb2Rl ci0+YmFzZSk7CiAKIAkvKiBGSVhNRTogYWRhcHQgaWNsX2RkaV9jbG9ja19nZXQoKSBmb3IgRFNJ IGFuZCB1c2UgdGhhdD8gKi8KQEAgLTEyNjUsNyArMTI2NSw3IEBAIHN0YXRpYyBpbnQgZ2VuMTFf ZHNpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGNvbnRhaW5lcl9vZihlbmNvZGVyLCBzdHJ1Y3QgaW50 ZWxfZHNpLAogCQkJCQkJICAgYmFzZSk7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxf Y29ubmVjdG9yID0gaW50ZWxfZHNpLT5hdHRhY2hlZF9jb25uZWN0b3I7Ci0Jc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5j cnRjKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZSA9CiAJCQkJ CWludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZml4ZWRfbW9kZTsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqYWRqdXN0ZWRfbW9kZSA9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9hdG9taWMuYwppbmRleCAyY2RjOTI4OTdhYmQuLjdjZjEzYjljN2QzOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pYy5jCkBAIC0xOTMsNyArMTkzLDcgQEAg aW50ZWxfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWlmICgh Y3J0Y19zdGF0ZSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNf ZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRlLT5iYXNlKTsKKwlfX2RybV9hdG9taWNf aGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlKGNydGMsICZjcnRjX3N0YXRlLT51YXBpKTsKIAog CWNydGNfc3RhdGUtPnVwZGF0ZV9waXBlID0gZmFsc2U7CiAJY3J0Y19zdGF0ZS0+ZGlzYWJsZV9s cF93bSA9IGZhbHNlOwpAQCAtMjA1LDcgKzIwNSw3IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0 YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAljcnRjX3N0YXRlLT5mYl9iaXRzID0gMDsKIAlj cnRjX3N0YXRlLT51cGRhdGVfcGxhbmVzID0gMDsKIAotCXJldHVybiAmY3J0Y19zdGF0ZS0+YmFz ZTsKKwlyZXR1cm4gJmNydGNfc3RhdGUtPnVhcGk7CiB9CiAKIC8qKgpAQCAtMjIyLDcgKzIyMiw3 IEBAIGludGVsX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiB7CiAJ c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRl KHN0YXRlKTsKIAotCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRlKCZjcnRj X3N0YXRlLT5iYXNlKTsKKwlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgm Y3J0Y19zdGF0ZS0+dWFwaSk7CiAJa2ZyZWUoY3J0Y19zdGF0ZSk7CiB9CiAKQEAgLTMxOSw3ICsz MTksNyBAQCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogewogCXN0cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSAqc2Nh bGVyX3N0YXRlID0KIAkJJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKLQlzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqZHJtX3N0YXRlID0gY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZTsKKwlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqZHJtX3N0YXRlID0gY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZTsKIAlz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShk cm1fc3RhdGUpOwogCWludCBudW1fc2NhbGVyc19uZWVkOwogCWludCBpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKaW5kZXggODQ3Zjlj NGVjYmJkLi5kOTJjMTg1ZDRiNGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9hdG9taWNfcGxhbmUuYwpAQCAtMjY4LDcgKzI2OCw3IEBAIHZvaWQgaW50ZWxf dXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCQljb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNy dGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAl0cmFjZV9pbnRl bF91cGRhdGVfcGxhbmUoJnBsYW5lLT5iYXNlLCBjcnRjKTsKIAlwbGFuZS0+dXBkYXRlX3BsYW5l KHBsYW5lLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7CkBAIC0yNzgsNyArMjc4LDcgQEAgdm9p ZCBpbnRlbF91cGRhdGVfc2xhdmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAkJCWNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJY29uc3Qgc3RydWN0IGlu dGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAogCXRy YWNlX2ludGVsX3VwZGF0ZV9wbGFuZSgmcGxhbmUtPmJhc2UsIGNydGMpOwogCXBsYW5lLT51cGRh dGVfc2xhdmUocGxhbmUsIGNydGNfc3RhdGUsIHBsYW5lX3N0YXRlKTsKQEAgLTI4Nyw3ICsyODcs NyBAQCB2b2lkIGludGVsX3VwZGF0ZV9zbGF2ZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAog dm9pZCBpbnRlbF9kaXNhYmxlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCQkg Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAKIAl0cmFjZV9pbnRlbF9kaXNhYmxlX3BsYW5lKCZwbGFuZS0+YmFzZSwgY3J0Yyk7 CiAJcGxhbmUtPmRpc2FibGVfcGxhbmUocGxhbmUsIGNydGNfc3RhdGUpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jCmluZGV4IDZhNThlOGFkODZmOC4uNTY4MGVl ZDljNzFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F1 ZGlvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9hdWRpby5jCkBA IC01NTQsNyArNTU0LDcgQEAgc3RhdGljIHZvaWQgaWxrX2F1ZGlvX2NvZGVjX2Rpc2FibGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAllbnVtIHBvcnQgcG9y dCA9IGVuY29kZXItPnBvcnQ7CiAJdTMyIHRtcCwgZWxkdjsKQEAgLTYwMSw3ICs2MDEsNyBAQCBz dGF0aWMgdm9pZCBpbGtfYXVkaW9fY29kZWNfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IgPSBjb25uX3N0YXRlLT5jb25uZWN0b3I7CiAJZW51bSBwaXBlIHBpcGUgPSBj cnRjLT5waXBlOwogCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKQEAgLTY5MSw3ICs2 OTEsNyBAQCB2b2lkIGludGVsX2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgKmFj b21wID0gZGV2X3ByaXYtPmF1ZGlvX2NvbXBvbmVudDsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29ubl9zdGF0ZS0+Y29ubmVjdG9yOwogCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KIAkJJmNydGNfc3Rh dGUtPmh3LmFkanVzdGVkX21vZGU7CkBAIC03NTIsNyArNzUyLDcgQEAgdm9pZCBpbnRlbF9hdWRp b19jb2RlY19kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYp OwogCXN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudCAqYWNvbXAgPSBkZXZfcHJpdi0+YXVkaW9f Y29tcG9uZW50OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRf Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMob2xkX2NydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJZW51bSBwb3J0IHBvcnQgPSBl bmNvZGVyLT5wb3J0OwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jCmluZGV4IDIyZTgzZjg1N2RlOC4uM2Y2ZTI5ZjYx MzIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2J3LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9idy5jCkBAIC0yOTcsNyAr Mjk3LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBpbnRlbF9id19jcnRjX251bV9hY3RpdmVfcGxh bmVzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXQKIAogc3RhdGljIHVuc2lnbmVkIGludCBp bnRlbF9id19jcnRjX2RhdGFfcmF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAl1bnNpZ25lZCBpbnQgZGF0YV9yYXRlID0g MDsKIAllbnVtIHBsYW5lX2lkIHBsYW5lX2lkOwogCkBAIC0zMTgsNyArMzE4LDcgQEAgc3RhdGlj IHVuc2lnbmVkIGludCBpbnRlbF9id19jcnRjX2RhdGFfcmF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y18KIHZvaWQgaW50ZWxfYndfY3J0Y191cGRhdGUoc3RydWN0IGludGVs X2J3X3N0YXRlICpid19zdGF0ZSwKIAkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAlid19zdGF0ZS0+ZGF0YV9yYXRl W2NydGMtPnBpcGVdID0KIAkJaW50ZWxfYndfY3J0Y19kYXRhX3JhdGUoY3J0Y19zdGF0ZSk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NkY2xrLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NkY2xrLmMKaW5kZXggZmQxZWQwZmI4 NzQ4Li45MzFmMTlkYmQ0ZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfY2RjbGsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2NkY2xrLmMKQEAgLTE5MDIsNyArMTkwMiw3IEBAIGludGVsX3NldF9jZGNsa19wb3N0X3BsYW5l X3VwZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIHN0YXRpYyBpbnQg aW50ZWxfcGl4ZWxfcmF0ZV90b19jZGNsayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlpbnQg cGl4ZWxfcmF0ZSA9IGNydGNfc3RhdGUtPnBpeGVsX3JhdGU7CiAKIAlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKQEAgLTE5MjEsNyArMTky MSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfcGl4ZWxfcmF0ZV90b19jZGNsayhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfbWlu X2NkY2xrKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Ci0JCXRvX2k5MTUoY3J0Y19zdGF0ZS0+ YmFzZS5jcnRjLT5kZXYpOworCQl0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsK IAlpbnQgbWluX2NkY2xrOwogCiAJaWYgKCFjcnRjX3N0YXRlLT5ody5lbmFibGUpCkBAIC0yMjYx LDEwICsyMjYxLDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfbW9kZXNldF9hbGxfcGlwZXMoc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCQlyZXR1cm4gUFRSX0VSUihjcnRjX3N0YXRl KTsKIAogCQlpZiAoIWNydGNfc3RhdGUtPmh3LmFjdGl2ZSB8fAotCQkgICAgZHJtX2F0b21pY19j cnRjX25lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUtPmJhc2UpKQorCQkgICAgZHJtX2F0b21pY19j cnRjX25lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUtPnVhcGkpKQogCQkJY29udGludWU7CiAKLQkJ Y3J0Y19zdGF0ZS0+YmFzZS5tb2RlX2NoYW5nZWQgPSB0cnVlOworCQljcnRjX3N0YXRlLT51YXBp Lm1vZGVfY2hhbmdlZCA9IHRydWU7CiAKIAkJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRf Y29ubmVjdG9ycygmc3RhdGUtPmJhc2UsCiAJCQkJCQkJICZjcnRjLT5iYXNlKTsKQEAgLTIzMzAs NyArMjMzMCw3IEBAIGludCBpbnRlbF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUpCiAJCWNydGMgPSBpbnRlbF9nZXRfY3J0Y19mb3JfcGlwZShkZXZf cHJpdiwgcGlwZSk7CiAJCWNydGNfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X25ld19jcnRjX3N0 YXRlKHN0YXRlLCBjcnRjKTsKIAkJaWYgKGNydGNfc3RhdGUgJiYKLQkJICAgIGRybV9hdG9taWNf Y3J0Y19uZWVkc19tb2Rlc2V0KCZjcnRjX3N0YXRlLT5iYXNlKSkKKwkJICAgIGRybV9hdG9taWNf Y3J0Y19uZWVkc19tb2Rlc2V0KCZjcnRjX3N0YXRlLT51YXBpKSkKIAkJCXBpcGUgPSBJTlZBTElE X1BJUEU7CiAJfSBlbHNlIHsKIAkJcGlwZSA9IElOVkFMSURfUElQRTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwppbmRleCA2NWUxYjE4YmQ3ZTMuLjUyNzEyYmI5 ZWQxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xv ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29sb3IuYwpAQCAt MjA1LDcgKzIwNSw3IEBAIHN0YXRpYyB2b2lkIGljbF91cGRhdGVfb3V0cHV0X2NzYyhzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YywKIAogc3RhdGljIGJvb2wgaWxrX2NzY19saW1pdGVkX3JhbmdlKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5k ZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19z dGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCiAJLyoKIAkgKiBGSVhNRSBpZiB0aGVyZSdzIGEgZ2Ft bWEgTFVUIGFmdGVyIHRoZSBDU0MsIHdlIHNob3VsZApAQCAtMjcwLDcgKzI3MCw3IEBAIHN0YXRp YyB2b2lkIGlsa19jc2NfY29udmVydF9jdG0oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCiAKIHN0YXRpYyB2b2lkIGlsa19sb2FkX2NzY19tYXRyaXgoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRl dik7CiAJYm9vbCBsaW1pdGVkX2NvbG9yX3JhbmdlID0gaWxrX2NzY19saW1pdGVkX3JhbmdlKGNy dGNfc3RhdGUpOwogCkBAIC0zMDksNyArMzA5LDcgQEAgc3RhdGljIHZvaWQgaWxrX2xvYWRfY3Nj X21hdHJpeChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAogc3Rh dGljIHZvaWQgaWNsX2xvYWRfY3NjX21hdHJpeChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAogCWlmIChjcnRjX3N0 YXRlLT5ody5jdG0pIHsKQEAgLTMzOCw3ICszMzgsNyBAQCBzdGF0aWMgdm9pZCBpY2xfbG9hZF9j c2NfbWF0cml4KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogICov CiBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRfY3NjX21hdHJpeChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAll bnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKQEAgLTQwNCw3ICs0MDQsNyBAQCBzdGF0aWMg dTMyIGlsa19sdXRfMTAoY29uc3Qgc3RydWN0IGRybV9jb2xvcl9sdXQgKmNvbG9yKQogc3RhdGlj IHZvaWQgaTl4eF9sb2FkX2x1dHNfaW50ZXJuYWwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAq YmxvYikKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19z dGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMt PnBpcGU7CiAJaW50IGk7CkBAIC00NDAsNyArNDQwLDcgQEAgc3RhdGljIHZvaWQgaTl4eF9sb2Fk X2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHN0YXRp YyB2b2lkIGk5eHhfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0g Y3J0Yy0+cGlwZTsKIAl1MzIgdmFsOwpAQCAtNDUzLDcgKzQ1Myw3IEBAIHN0YXRpYyB2b2lkIGk5 eHhfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogCiBzdGF0aWMgdm9pZCBpbGtfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlw ZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIgdmFsOwpAQCAtNDY4LDcgKzQ2OCw3IEBAIHN0YXRp YyB2b2lkIGlsa19jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCiAKIHN0YXRpYyB2b2lkIGhzd19jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAK IAlJOTE1X1dSSVRFKEdBTU1BX01PREUoY3J0Yy0+cGlwZSksIGNydGNfc3RhdGUtPmdhbW1hX21v ZGUpOwpAQCAtNDc4LDcgKzQ3OCw3IEBAIHN0YXRpYyB2b2lkIGhzd19jb2xvcl9jb21taXQoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHN0YXRpYyB2b2lkIHNr bF9jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp CiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNy dGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBl OwogCXUzMiB2YWwgPSAwOwpAQCAtNTI0LDcgKzUyNCw3IEBAIHN0YXRpYyB2b2lkIGk5NjVfbG9h ZF9sdXRfMTBwNihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAogc3RhdGljIHZvaWQgaTk2NV9s b2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0J c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3Rh dGUtPnVhcGkuY3J0Yyk7CiAJY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpnYW1tYV9s dXQgPSBjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQ7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+Z2FtbWFf bW9kZSA9PSBHQU1NQV9NT0RFX01PREVfOEJJVCkKQEAgLTU0Nyw3ICs1NDcsNyBAQCBzdGF0aWMg dm9pZCBpbGtfbG9hZF9sdXRfMTAoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAKIHN0YXRpYyB2 b2lkIGlsa19sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3Rh dGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9i ICpnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQ7CiAKIAlpZiAoY3J0Y19zdGF0 ZS0+Z2FtbWFfbW9kZSA9PSBHQU1NQV9NT0RFX01PREVfOEJJVCkKQEAgLTY1NCw3ICs2NTQsNyBA QCBzdGF0aWMgdm9pZCBpdmJfbG9hZF9sdXRfZXh0X21heChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YykKIAogc3RhdGljIHZvaWQgaXZiX2xvYWRfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgZHJt X3Byb3BlcnR5X2Jsb2IgKmdhbW1hX2x1dCA9IGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1dDsKIAlj b25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0+ aHcuZGVnYW1tYV9sdXQ7CiAKQEAgLTY3Nyw3ICs2NzcsNyBAQCBzdGF0aWMgdm9pZCBpdmJfbG9h ZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0 aWMgdm9pZCBiZHdfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlf YmxvYiAqZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0OwogCWNvbnN0IHN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqZGVnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5ody5kZWdhbW1h X2x1dDsKIApAQCAtNzAwLDcgKzcwMCw3IEBAIHN0YXRpYyB2b2lkIGJkd19sb2FkX2x1dHMoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHN0YXRpYyB2b2lkIGds a19sb2FkX2RlZ2FtbWFfbHV0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+ cGlwZTsKIAljb25zdCB1MzIgbHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3Iu ZGVnYW1tYV9sdXRfc2l6ZTsKQEAgLTczOSw3ICs3MzksNyBAQCBzdGF0aWMgdm9pZCBnbGtfbG9h ZF9kZWdhbW1hX2x1dChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkK IAogc3RhdGljIHZvaWQgZ2xrX2xvYWRfZGVnYW1tYV9sdXRfbGluZWFyKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwog CWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAljb25zdCB1MzIgbHV0X3NpemUgPSBJTlRF TF9JTkZPKGRldl9wcml2KS0+Y29sb3IuZGVnYW1tYV9sdXRfc2l6ZTsKQEAgLTc2Nyw3ICs3Njcs NyBAQCBzdGF0aWMgdm9pZCBnbGtfbG9hZF9kZWdhbW1hX2x1dF9saW5lYXIoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdAogc3RhdGljIHZvaWQgZ2xrX2xvYWRfbHV0cyhj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAljb25zdCBzdHJ1 Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmdhbW1hX2x1dCA9IGNydGNfc3RhdGUtPmh3LmdhbW1hX2x1 dDsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAogCS8qCiAJICogT24gR0xLKyBib3RoIHBpcGUgQ1NDIGFu ZCBkZWdhbW1hIExVVCBhcmUgY29udHJvbGxlZApAQCAtODA4LDcgKzgwOCw3IEBAIHN0YXRpYyB2 b2lkCiBpY2xfbG9hZF9nY21heChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKIAkgICAgICAgY29uc3Qgc3RydWN0IGRybV9jb2xvcl9sdXQgKmNvbG9yKQogewotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9kc2IgKmRzYiA9IGludGVsX2RzYl9nZXQoY3J0 Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwogCkBAIC04MjIsNyArODIyLDcgQEAg aWNsX2xvYWRfZ2NtYXgoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiBzdGF0aWMgdm9pZAogaWNsX3Byb2dyYW1fZ2FtbWFfc3VwZXJmaW5lX3NlZ21lbnQoY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7 CiAJY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iID0gY3J0Y19zdGF0ZS0+aHcu Z2FtbWFfbHV0OwogCWNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQgPSBibG9iLT5kYXRh OwogCXN0cnVjdCBpbnRlbF9kc2IgKmRzYiA9IGludGVsX2RzYl9nZXQoY3J0Yyk7CkBAIC04NTQs NyArODU0LDcgQEAgaWNsX3Byb2dyYW1fZ2FtbWFfc3VwZXJmaW5lX3NlZ21lbnQoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiBzdGF0aWMgdm9pZAogaWNsX3Byb2dy YW1fZ2FtbWFfbXVsdGlfc2VnbWVudChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5 X2Jsb2IgKmJsb2IgPSBjcnRjX3N0YXRlLT5ody5nYW1tYV9sdXQ7CiAJY29uc3Qgc3RydWN0IGRy bV9jb2xvcl9sdXQgKmx1dCA9IGJsb2ItPmRhdGE7CiAJY29uc3Qgc3RydWN0IGRybV9jb2xvcl9s dXQgKmVudHJ5OwpAQCAtOTExLDcgKzkxMSw3IEBAIGljbF9wcm9ncmFtX2dhbW1hX211bHRpX3Nl Z21lbnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiBzdGF0aWMg dm9pZCBpY2xfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFfbHV0ID0gY3J0 Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9k c2IgKmRzYiA9IGludGVsX2RzYl9nZXQoY3J0Yyk7CiAKIAlpZiAoY3J0Y19zdGF0ZS0+aHcuZGVn YW1tYV9sdXQpCkBAIC05OTAsNyArOTkwLDcgQEAgc3RhdGljIHZvaWQgY2h2X2xvYWRfY2dtX2dh bW1hKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCiBzdGF0aWMgdm9pZCBjaHZfbG9hZF9sdXRz KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwor CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBp LmNydGMpOwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFfbHV0ID0gY3J0 Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0OwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAq ZGVnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dDsKIApAQCAtMTAxMCwyOCAr MTAxMCwyOCBAQCBzdGF0aWMgdm9pZCBjaHZfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiB2b2lkIGludGVsX2NvbG9yX2xvYWRfbHV0cyhjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2 KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3Rh dGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAogCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyhjcnRj X3N0YXRlKTsKIH0KIAogdm9pZCBpbnRlbF9jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMt PmRldik7CiAKIAlkZXZfcHJpdi0+ZGlzcGxheS5jb2xvcl9jb21taXQoY3J0Y19zdGF0ZSk7CiB9 CiAKIGludCBpbnRlbF9jb2xvcl9jaGVjayhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNy dGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAogCXJldHVybiBk ZXZfcHJpdi0+ZGlzcGxheS5jb2xvcl9jaGVjayhjcnRjX3N0YXRlKTsKIH0KIAogdm9pZCBpbnRl bF9jb2xvcl9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQog ewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0 ZS0+YmFzZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCiAJaWYgKGRldl9wcml2LT5k aXNwbGF5LnJlYWRfbHV0cykKIAkJZGV2X3ByaXYtPmRpc3BsYXkucmVhZF9sdXRzKGNydGNfc3Rh dGUpOwpAQCAtMTA1NSwxNiArMTA1NSwxNiBAQCBzdGF0aWMgYm9vbCBuZWVkX3BsYW5lX3VwZGF0 ZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogc3RhdGljIGludAogaW50ZWxfY29sb3JfYWRk X2FmZmVjdGVkX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUp CiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0 YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+ YmFzZS5zdGF0ZSk7CisJCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+dWFw aS5zdGF0ZSk7CiAJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl ID0KIAkJaW50ZWxfYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7CiAJc3Ry dWN0IGludGVsX3BsYW5lICpwbGFuZTsKIAogCWlmICghbmV3X2NydGNfc3RhdGUtPmh3LmFjdGl2 ZSB8fAotCSAgICBkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUt PmJhc2UpKQorCSAgICBkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3Rh dGUtPnVhcGkpKQogCQlyZXR1cm4gMDsKIAogCWlmIChuZXdfY3J0Y19zdGF0ZS0+Z2FtbWFfZW5h YmxlID09IG9sZF9jcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUgJiYKQEAgLTExMDcsNyArMTEwNyw3 IEBAIHN0YXRpYyBpbnQgY2hlY2tfbHV0X3NpemUoY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9i bG9iICpsdXQsIGludCBleHBlY3RlZCkKIAogc3RhdGljIGludCBjaGVja19sdXRzKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjLT5kZXYpOwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFf bHV0ID0gY3J0Y19zdGF0ZS0+aHcuZ2FtbWFfbHV0OwogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVy dHlfYmxvYiAqZGVnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5ody5kZWdhbW1hX2x1dDsKIAlpbnQg Z2FtbWFfbGVuZ3RoLCBkZWdhbW1hX2xlbmd0aDsKQEAgLTE0ODAsNyArMTQ4MCw3IEBAIHN0YXRp YyBpbnQgZ2xrX2dhbW1hX3ByZWNpc2lvbihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIAogaW50IGludGVsX2NvbG9yX2dldF9nYW1tYV9iaXRfcHJlY2lzaW9uKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNy dGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ YmFzZS5kZXYpOwogCiAJaWYgKEhBU19HTUNIKGRldl9wcml2KSkgewpAQCAtMTU4Niw3ICsxNTg2 LDcgQEAgc3RhdGljIHUzMiBpbnRlbF9jb2xvcl9sdXRfcGFjayh1MzIgdmFsLCB1MzIgYml0X3By ZWNpc2lvbikKIHN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKgogaTl4eF9yZWFkX2x1 dF84KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMp OworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAlzdHJ1Y3Qg ZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2I7CkBAIC0xNjI5LDcgKzE2MjksNyBAQCBzdGF0aWMgdm9p ZCBpOXh4X3JlYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHN0 YXRpYyBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKgogaTk2NV9yZWFkX2x1dF8xMHA2KGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMp OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFz ZS5kZXYpOwogCXUzMiBsdXRfc2l6ZSA9IElOVEVMX0lORk8oZGV2X3ByaXYpLT5jb2xvci5nYW1t YV9sdXRfc2l6ZTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CkBAIC0xNjgxLDcgKzE2 ODEsNyBAQCBzdGF0aWMgdm9pZCBpOTY1X3JlYWRfbHV0cyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKgogY2h2X3Jl YWRfY2dtX2x1dChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsK LQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFz ZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19z dGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgbHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9w cml2KS0+Y29sb3IuZ2FtbWFfbHV0X3NpemU7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBl OwpAQCAtMTcyMyw3ICsxNzIzLDcgQEAgc3RhdGljIHZvaWQgY2h2X3JlYWRfbHV0cyhzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyBzdHJ1Y3QgZHJtX3Byb3BlcnR5 X2Jsb2IgKgogaWxrX3JlYWRfbHV0XzEwKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCXUzMiBsdXRfc2l6ZSA9IElO VEVMX0lORk8oZGV2X3ByaXYpLT5jb2xvci5nYW1tYV9sdXRfc2l6ZTsKIAllbnVtIHBpcGUgcGlw ZSA9IGNydGMtPnBpcGU7CkBAIC0xNzcwLDcgKzE3NzAsNyBAQCBzdGF0aWMgdm9pZCBpbGtfcmVh ZF9sdXRzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogc3RhdGljIHN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqCiBnbGtfcmVhZF9sdXRfMTAoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIHUzMiBwcmVjX2luZGV4KQogewotCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNy dGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ YmFzZS5kZXYpOwogCWludCBod19sdXRfc2l6ZSA9IGl2Yl9sdXRfMTBfc2l6ZShwcmVjX2luZGV4 KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NydC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9jcnQuYwppbmRleCAzOTlhYmMzZDUyMWUuLjE2NGFmMTkzNmQzOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jcnQuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NydC5jCkBAIC0xNjEsNyArMTYxLDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfY3J0X3NldF9kcG1zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnQgKmNydCA9IGludGVsX2VuY29kZXJf dG9fY3J0KGVuY29kZXIpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJmNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7 CiAJdTMyIGFkcGE7CiAKQEAgLTI3MSw3ICsyNzEsNyBAQCBzdGF0aWMgdm9pZCBoc3dfcHJlX2Vu YWJsZV9jcnQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICAgY29uc3Qg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PnVhcGkuY3J0Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwogCiAJV0FSTl9PTigh Y3J0Y19zdGF0ZS0+aGFzX3BjaF9lbmNvZGVyKTsKQEAgLTI4OCw3ICsyODgsNyBAQCBzdGF0aWMg dm9pZCBoc3dfZW5hYmxlX2NydChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAg IGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYp OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT51YXBpLmNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAogCVdB Uk5fT04oIWNydGNfc3RhdGUtPmhhc19wY2hfZW5jb2Rlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYwppbmRleCA3Y2QwNWNhN2M4MTkuLjM5MDJiMTU5YjVkOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCkBAIC0xNzQ0LDcgKzE3NDQs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogdm9pZCBpbnRlbF9kZGlfc2V0X2RwX21zYShjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKmNvbm5fc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSB0cmFu c2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAJdTMy IHRlbXA7CkBAIC0xODA2LDcgKzE4MDYsNyBAQCB2b2lkIGludGVsX2RkaV9zZXRfZHBfbXNhKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogdm9pZCBpbnRlbF9kZGlf c2V0X3ZjX3BheWxvYWRfYWxsb2MoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCiAJCQkJICAgIGJvb2wgc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJ ZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29k ZXI7CiAJdTMyIHRlbXA7CkBAIC0xODI4LDcgKzE4MjgsNyBAQCB2b2lkIGludGVsX2RkaV9zZXRf dmNfcGF5bG9hZF9hbGxvYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSwKIHN0YXRpYyB1MzIKIGludGVsX2RkaV90cmFuc2NvZGVyX2Z1bmNfcmVnX3ZhbF9nZXQoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0 Yyk7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBpbnRlbF9kZGlfZ2V0X2NydGNf ZW5jb2RlcihjcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CkBAIC0x OTE1LDcgKzE5MTUsNyBAQCBpbnRlbF9kZGlfdHJhbnNjb2Rlcl9mdW5jX3JlZ192YWxfZ2V0KGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiB2b2lkIGludGVsX2Rk aV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gdHJhbnNjb2RlciBj cHVfdHJhbnNjb2RlciA9IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwogCXUzMiB0ZW1wOwpA QCAtMTkzMSw3ICsxOTMxLDcgQEAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVu Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyB2b2lk CiBpbnRlbF9kZGlfY29uZmlnX3RyYW5zY29kZXJfZnVuYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHRy YW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAl1 MzIgdGVtcDsKQEAgLTE5NDMsNyArMTk0Myw3IEBAIGludGVsX2RkaV9jb25maWdfdHJhbnNjb2Rl cl9mdW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiB2b2lk IGludGVsX2RkaV9kaXNhYmxlX3RyYW5zY29kZXJfZnVuYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHRy YW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAlp OTE1X3JlZ190IHJlZyA9IFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJhbnNjb2Rlcik7CkBAIC0y MjQxLDcgKzIyNDEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfZ2V0X3Bvd2VyX2RvbWFpbnMo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV9w aXBlX2Nsb2NrKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewot CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0g aW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNv ZGVyLT5wb3J0OwpAQCAtMjI1OSw3ICsyMjU5LDcgQEAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3Bp cGVfY2xvY2soY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHZv aWQgaW50ZWxfZGRpX2Rpc2FibGVfcGlwZV9jbG9jayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsK IAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNj b2RlcjsKIAogCWlmIChjcHVfdHJhbnNjb2RlciAhPSBUUkFOU0NPREVSX0VEUCkgewpAQCAtMzMz Nyw3ICszMzM3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX2Rpc2FibGVfZmVjX3N0YXRlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogc3RhdGljIHZvaWQKIHRnbF9jbGVhcl9wc3Iy X3RyYW5zY29kZXJfZXhpdGxpbmUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0 ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNzdGF0 ZS0+YmFzZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAJdTMyIHZhbDsKIAogCWlmICghY3N0 YXRlLT5kYzNjb19leGl0bGluZSkKQEAgLTMzNTIsNyArMzM1Miw3IEBAIHN0YXRpYyB2b2lkCiB0 Z2xfc2V0X3BzcjJfdHJhbnNjb2Rlcl9leGl0bGluZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3N0YXRlKQogewogCXUzMiB2YWwsIGV4aXRfc2NhbmxpbmVzOwotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3N0YXRlLT5iYXNlLmNydGMtPmRldik7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjc3RhdGUtPnVh cGkuY3J0Yy0+ZGV2KTsKIAogCWlmICghY3N0YXRlLT5kYzNjb19leGl0bGluZSkKIAkJcmV0dXJu OwpAQCAtMzM3MCw3ICszMzcwLDcgQEAgc3RhdGljIHZvaWQgdGdsX2RjM2NvX2V4aXRsaW5lX2Nv bXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCQkgICAgICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQogewogCXUzMiBleGl0X3NjYW5saW5lczsK LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNzdGF0ZS0+YmFz ZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAJdTMyIGNydGNfdmRpc3BsYXkgPSBjc3RhdGUt Pmh3LmFkanVzdGVkX21vZGUuY3J0Y192ZGlzcGxheTsKIAogCWNzdGF0ZS0+ZGMzY29fZXhpdGxp bmUgPSAwOwpAQCAtMzM3OSw3ICszMzc5LDcgQEAgc3RhdGljIHZvaWQgdGdsX2RjM2NvX2V4aXRs aW5lX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlyZXR1 cm47CiAKIAkvKiBCLlNwZWNzOjQ5MTk2IERDM0NPIG9ubHkgd29ya3Mgd2l0aCBwaXBlQSBhbmQg RERJQS4qLwotCWlmICh0b19pbnRlbF9jcnRjKGNzdGF0ZS0+YmFzZS5jcnRjKS0+cGlwZSAhPSBQ SVBFX0EgfHwKKwlpZiAodG9faW50ZWxfY3J0Yyhjc3RhdGUtPnVhcGkuY3J0YyktPnBpcGUgIT0g UElQRV9BIHx8CiAJICAgIGVuY29kZXItPnBvcnQgIT0gUE9SVF9BKQogCQlyZXR1cm47CiAKQEAg LTM0MDMsNyArMzQwMyw3IEBAIHN0YXRpYyB2b2lkIHRnbF9kYzNjb19leGl0bGluZV9jb21wdXRl X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHN0YXRpYyB2b2lkIHRnbF9k YzNjb19leGl0bGluZV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQogewogCXUzMiB2YWw7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAK IAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDEyKQogCQlyZXR1cm47CkBAIC0zNjUxLDcgKzM2 NTEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKIAkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCiAJCQkJIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlw ZTsKIApAQCAtNDIwOCw3ICs0MjA4LDcgQEAgdm9pZCBpbnRlbF9kZGlfZ2V0X2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnBpcGVfY29uZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7 CiAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gcGlwZV9jb25maWctPmNwdV90cmFu c2NvZGVyOwogCXUzMiB0ZW1wLCBmbGFncyA9IDA7CiAKQEAgLTQzNzUsNyArNDM3NSw3IEBAIHN0 YXRpYyBpbnQgaW50ZWxfZGRpX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJ CQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewotCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRj KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWct PnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owog CWludCByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j CmluZGV4IDg5NWY2MzE1M2U4ZS4uMTFkZDdhMTgyNTQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwpAQCAtNTE2LDcgKzUxNiw3IEBAIGljbF93YV9z Y2FsZXJjbGtnYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBp cGUgcGlwZSwKIHN0YXRpYyBib29sCiBuZWVkc19tb2Rlc2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpzdGF0ZSkKIHsKLQlyZXR1cm4gZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVz ZXQoJnN0YXRlLT5iYXNlKTsKKwlyZXR1cm4gZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQo JnN0YXRlLT51YXBpKTsKIH0KIAogYm9vbApAQCAtNjQ0LDcgKzY0NCw3IEBAIGk5eHhfc2VsZWN0 X3AyX2Rpdihjb25zdCBzdHJ1Y3QgaW50ZWxfbGltaXQgKmxpbWl0LAogCQkgICBjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAgaW50IHRhcmdldCkKIHsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJh c2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAogCWlmIChpbnRlbF9jcnRjX2hhc190 eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9MVkRTKSkgewogCQkvKgpAQCAtNjgwLDcgKzY4 MCw3IEBAIGk5eHhfZmluZF9iZXN0X2RwbGwoY29uc3Qgc3RydWN0IGludGVsX2xpbWl0ICpsaW1p dCwKIAkJICAgIGludCB0YXJnZXQsIGludCByZWZjbGssIHN0cnVjdCBkcGxsICptYXRjaF9jbG9j aywKIAkJICAgIHN0cnVjdCBkcGxsICpiZXN0X2Nsb2NrKQogewotCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXY7CiAJc3RydWN0IGRwbGwgY2xvY2s7CiAJ aW50IGVyciA9IHRhcmdldDsKIApAQCAtNzM4LDcgKzczOCw3IEBAIHBudl9maW5kX2Jlc3RfZHBs bChjb25zdCBzdHJ1Y3QgaW50ZWxfbGltaXQgKmxpbWl0LAogCQkgICBpbnQgdGFyZ2V0LCBpbnQg cmVmY2xrLCBzdHJ1Y3QgZHBsbCAqbWF0Y2hfY2xvY2ssCiAJCSAgIHN0cnVjdCBkcGxsICpiZXN0 X2Nsb2NrKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNy dGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Y19zdGF0ZS0+dWFwaS5jcnRj LT5kZXY7CiAJc3RydWN0IGRwbGwgY2xvY2s7CiAJaW50IGVyciA9IHRhcmdldDsKIApAQCAtNzk0 LDcgKzc5NCw3IEBAIGc0eF9maW5kX2Jlc3RfZHBsbChjb25zdCBzdHJ1Y3QgaW50ZWxfbGltaXQg KmxpbWl0LAogCQkgICBpbnQgdGFyZ2V0LCBpbnQgcmVmY2xrLCBzdHJ1Y3QgZHBsbCAqbWF0Y2hf Y2xvY2ssCiAJCSAgIHN0cnVjdCBkcGxsICpiZXN0X2Nsb2NrKQogewotCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXY7CiAJc3RydWN0IGRwbGwgY2xvY2s7 CiAJaW50IG1heF9uOwogCWJvb2wgZm91bmQgPSBmYWxzZTsKQEAgLTg4OCw3ICs4ODgsNyBAQCB2 bHZfZmluZF9iZXN0X2RwbGwoY29uc3Qgc3RydWN0IGludGVsX2xpbWl0ICpsaW1pdCwKIAkJICAg aW50IHRhcmdldCwgaW50IHJlZmNsaywgc3RydWN0IGRwbGwgKm1hdGNoX2Nsb2NrLAogCQkgICBz dHJ1Y3QgZHBsbCAqYmVzdF9jbG9jaykKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRwbGwgY2xvY2s7CiAJdW5z aWduZWQgaW50IGJlc3RwcG0gPSAxMDAwMDAwOwpAQCAtOTQ4LDcgKzk0OCw3IEBAIGNodl9maW5k X2Jlc3RfZHBsbChjb25zdCBzdHJ1Y3QgaW50ZWxfbGltaXQgKmxpbWl0LAogCQkgICBpbnQgdGFy Z2V0LCBpbnQgcmVmY2xrLCBzdHJ1Y3QgZHBsbCAqbWF0Y2hfY2xvY2ssCiAJCSAgIHN0cnVjdCBk cGxsICpiZXN0X2Nsb2NrKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAl1bnNpZ25lZCBpbnQgYmVzdF9lcnJvcl9wcG07CiAJ c3RydWN0IGRwbGwgY2xvY2s7CkBAIC0xMDgxLDcgKzEwODEsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF93YWl0X2Zvcl9waXBlX3NjYW5saW5lX21vdmluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK IHN0YXRpYyB2b2lkCiBpbnRlbF93YWl0X2Zvcl9waXBlX29mZihjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2Uu ZGV2KTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDQpIHsKQEAgLTE1NDAsNyArMTU0 MCw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfZW5hYmxlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YywKIAogc3RhdGljIHZvaWQgaTl4eF9kaXNhYmxlX3BsbChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBp cGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKQEAgLTE2MzEsNyArMTYzMSw3IEBAIHZvaWQgdmx2X3dh aXRfcG9ydF9yZWFkeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIHN0YXRp YyB2b2lkIGlyb25sYWtlX2VuYWJsZV9wY2hfdHJhbnNjb2Rlcihjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVt IHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJaTkxNV9yZWdfdCByZWc7CkBAIC0xNzc1LDcgKzE3 NzUsNyBAQCBlbnVtIHBpcGUgaW50ZWxfY3J0Y19wY2hfdHJhbnNjb2RlcihzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YykKIAogc3RhdGljIHUzMiBpbnRlbF9jcnRjX21heF92YmxhbmtfY291bnQoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0 YXRlLT51YXBpLmNydGMtPmRldik7CiAKIAkvKgogCSAqIE9uIGk5NjVnbSB0aGUgaGFyZHdhcmUg ZnJhbWUgY291bnRlciByZWFkcwpAQCAtMTc5NSw3ICsxNzk1LDcgQEAgc3RhdGljIHUzMiBpbnRl bF9jcnRjX21heF92YmxhbmtfY291bnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUKIAogc3RhdGljIHZvaWQgaW50ZWxfY3J0Y192Ymxhbmtfb24oY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNy dGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAlk cm1fY3J0Y19zZXRfbWF4X3ZibGFua19jb3VudCgmY3J0Yy0+YmFzZSwKIAkJCQkgICAgICBpbnRl bF9jcnRjX21heF92YmxhbmtfY291bnQoY3J0Y19zdGF0ZSkpOwpAQCAtMTgwNCw3ICsxODA0LDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y192Ymxhbmtfb24oY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpCiAKIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9waXBlKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0 YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9 IG5ld19jcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMt PnBpcGU7CkBAIC0xODYyLDcgKzE4NjIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfcGlw ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCiAKIHN0YXRp YyB2b2lkIGludGVsX2Rpc2FibGVfcGlwZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq b2xkX2NydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9j cnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVt IHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBvbGRfY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29k ZXI7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwpAQCAtMzExNywxNCArMzExNywxNCBA QCBpbnRlbF9zZXRfcGxhbmVfdmlzaWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKIAlwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlID0gdmlzaWJsZTsKIAogCWlmICh2aXNp YmxlKQotCQljcnRjX3N0YXRlLT5iYXNlLnBsYW5lX21hc2sgfD0gZHJtX3BsYW5lX21hc2soJnBs YW5lLT5iYXNlKTsKKwkJY3J0Y19zdGF0ZS0+dWFwaS5wbGFuZV9tYXNrIHw9IGRybV9wbGFuZV9t YXNrKCZwbGFuZS0+YmFzZSk7CiAJZWxzZQotCQljcnRjX3N0YXRlLT5iYXNlLnBsYW5lX21hc2sg Jj0gfmRybV9wbGFuZV9tYXNrKCZwbGFuZS0+YmFzZSk7CisJCWNydGNfc3RhdGUtPnVhcGkucGxh bmVfbWFzayAmPSB+ZHJtX3BsYW5lX21hc2soJnBsYW5lLT5iYXNlKTsKIH0KIAogc3RhdGljIHZv aWQgZml4dXBfYWN0aXZlX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNf c3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZTsKIAogCS8qCkBAIC0zMTM1LDcgKzMxMzUsNyBAQCBzdGF0aWMgdm9pZCBmaXh1 cF9hY3RpdmVfcGxhbmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCWNy dGNfc3RhdGUtPmFjdGl2ZV9wbGFuZXMgPSAwOwogCiAJZHJtX2Zvcl9lYWNoX3BsYW5lX21hc2so cGxhbmUsICZkZXZfcHJpdi0+ZHJtLAotCQkJCWNydGNfc3RhdGUtPmJhc2UucGxhbmVfbWFzaykK KwkJCQljcnRjX3N0YXRlLT51YXBpLnBsYW5lX21hc2spCiAJCWNydGNfc3RhdGUtPmFjdGl2ZV9w bGFuZXMgfD0gQklUKHRvX2ludGVsX3BsYW5lKHBsYW5lKS0+aWQpOwogfQogCkBAIC0zNjA2LDcg KzM2MDYsNyBAQCBpOXh4X3BsYW5lX21heF9zdHJpZGUoc3RydWN0IGludGVsX3BsYW5lICpwbGFu ZSwKIAogc3RhdGljIHUzMiBpOXh4X3BsYW5lX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCXUzMiBk c3BjbnRyID0gMDsKIApAQCAtMzc1OSw3ICszNzU5LDcgQEAgaTl4eF9wbGFuZV9jaGVjayhzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcmV0dXJuIHJldDsKIAogCXJldCA9 IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKCZwbGFuZV9zdGF0ZS0+YmFzZSwK LQkJCQkJCSAgJmNydGNfc3RhdGUtPmJhc2UsCisJCQkJCQkgICZjcnRjX3N0YXRlLT51YXBpLAog CQkJCQkJICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCiAJCQkJCQkgIERSTV9QTEFORV9I RUxQRVJfTk9fU0NBTElORywKIAkJCQkJCSAgaTl4eF9wbGFuZV9oYXNfd2luZG93aW5nKHBsYW5l KSwKQEAgLTM5MzUsNyArMzkzNSw3IEBAIHN0YXRpYyB2b2lkIHNrbF9kZXRhY2hfc2NhbGVyKHN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLCBpbnQgaWQpCiAgKi8KIHN0YXRpYyB2b2lkIHNr bF9kZXRhY2hfc2NhbGVycyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZSA9CiAJCSZjcnRjX3N0YXRlLT5zY2FsZXJf c3RhdGU7CiAJaW50IGk7CkBAIC00MTMwLDcgKzQxMzAsNyBAQCBzdGF0aWMgdTMyIGNubF9wbGFu ZV9jdGxfZmxpcCh1bnNpZ25lZCBpbnQgcmVmbGVjdCkKIAogdTMyIHNrbF9wbGFuZV9jdGxfY3J0 Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0 Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNy dGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAl1MzIgcGxhbmVfY3RsID0gMDsKIAogCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQpAQCAt NDE4Niw3ICs0MTg2LDcgQEAgdTMyIHNrbF9wbGFuZV9jdGwoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCiAKIHUzMiBnbGtfcGxhbmVfY29sb3JfY3RsX2NydGMoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0 YXRlLT51YXBpLmNydGMtPmRldik7CiAJdTMyIHBsYW5lX2NvbG9yX2N0bCA9IDA7CiAKIAlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKQEAgLTQ0MDcsNyArNDQwNyw3IEBAIHN0YXRpYyB2 b2lkIGljbF9zZXRfcGlwZV9jaGlja2VuKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCiBzdGF0 aWMgdm9pZCBpY2xfZW5hYmxlX3RyYW5zX3BvcnRfc3luYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgdHJh bnNfZGRpX2Z1bmNfY3RsMl92YWw7CiAJdTggbWFzdGVyX3NlbGVjdDsKQEAgLTQ0MzcsNyArNDQz Nyw3IEBAIHN0YXRpYyB2b2lkIGljbF9lbmFibGVfdHJhbnNfcG9ydF9zeW5jKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlCiAKIHN0YXRpYyB2b2lkIGljbF9kaXNhYmxl X3RyYW5zY29kZXJfcG9ydF9zeW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRf Y3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMo b2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWk5MTVfcmVn X3QgcmVnOwogCXUzMiB0cmFuc19kZGlfZnVuY19jdGwyX3ZhbDsKQEAgLTQ4NTEsNyArNDg1MSw3 IEBAIHN0YXRpYyB2b2lkIGl2Yl9tYW51YWxfZmRpX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCiAKIHN0YXRpYyB2b2lkIGlyb25sYWtlX2ZkaV9wbGxfZW5hYmxlKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo aW50ZWxfY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlw ZTsKIAlpOTE1X3JlZ190IHJlZzsKQEAgLTUwMTIsNyArNTAxMiw3IEBAIHZvaWQgbHB0X2Rpc2Fi bGVfaWNsa2lwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIC8qIFByb2dyYW0g aUNMS0lQIGNsb2NrIHRvIHRoZSBkZXNpcmVkIGZyZXF1ZW5jeSAqLwogc3RhdGljIHZvaWQgbHB0 X3Byb2dyYW1faWNsa2lwKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWludCBjbG9jayA9IGNydGNfc3RhdGUtPmh3 LmFkanVzdGVkX21vZGUuY3J0Y19jbG9jazsKIAl1MzIgZGl2c2VsLCBwaGFzZWluYywgYXV4ZGl2 LCBwaGFzZWRpciA9IDA7CkBAIC01MTI4LDcgKzUxMjgsNyBAQCBpbnQgbHB0X2dldF9pY2xraXAo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogc3RhdGljIHZvaWQgaXJvbmxha2Vf cGNoX3RyYW5zY29kZXJfc2V0X3RpbWluZ3MoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCiAJCQkJCQllbnVtIHBpcGUgcGNoX3RyYW5zY29kZXIpCiB7Ci0Jc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7 CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVh cGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjLT5iYXNlLmRldik7CiAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19z dGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAKQEAgLTUxNzEsNyArNTE3MSw3IEBAIHN0YXRpYyB2b2lk IGNwdF9zZXRfZmRpX2JjX2JpZnVyY2F0aW9uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgYm9vbCBlCiAKIHN0YXRpYyB2b2lkIGl2eWJyaWRnZV91cGRhdGVfZmRpX2JjX2JpZnVy Y2F0aW9uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwogCiAJc3dpdGNoIChjcnRjLT5waXBlKSB7CkBAIC01MjAxLDcg KzUyMDEsNyBAQCBzdGF0aWMgc3RydWN0IGludGVsX2VuY29kZXIgKgogaW50ZWxfZ2V0X2NydGNf bmV3X2VuY29kZXIoY29uc3Qgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkg ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsK KwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFw aS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubmVjdG9yX3N0 YXRlOwogCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CiAJc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIgPSBOVUxMOwpAQCAtNTIzMyw3ICs1MjMzLDcgQEAgaW50ZWxf Z2V0X2NydGNfbmV3X2VuY29kZXIoY29uc3Qgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUsCiBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wY2hfZW5hYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjcnRjLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwpAQCAtNTMxNyw3ICs1 MzE3LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfcGNoX2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIHN0YXRpYyB2b2lkIGxwdF9wY2hfZW5hYmxlKGNvbnN0 IHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJICAgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJ ZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29k ZXI7CiAKQEAgLTU0MzQsNyArNTQzNCw3IEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKIAlzdHJ1Y3QgaW50 ZWxfY3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZSA9CiAJCSZjcnRjX3N0YXRlLT5zY2Fs ZXJfc3RhdGU7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPQotCQl0b19pbnRlbF9j cnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJCXRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGludGVsX2NydGMtPmJhc2UuZGV2KTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSA9CiAJCSZjcnRjX3N0YXRlLT5ody5hZGp1c3RlZF9tb2RlOwpAQCAtNTYz MSw3ICs1NjMxLDcgQEAgc3RhdGljIHZvaWQgc2t5bGFrZV9zY2FsZXJfZGlzYWJsZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YykKIAogc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2VuYWJsZShjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2FsZXJfc3RhdGUgPQpAQCAtNTY2OCw3ICs1NjY4LDcg QEAgc3RhdGljIHZvaWQgc2t5bGFrZV9wZml0X2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAogc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9lbmFibGUo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwogCkBAIC01Njg5LDcg KzU2ODksNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9wZml0X2VuYWJsZShjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAogdm9pZCBoc3dfZW5hYmxlX2lwcyhjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCkBAIC01NzI1LDcgKzU3 MjUsNyBAQCB2b2lkIGhzd19lbmFibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogCiB2b2lkIGhzd19kaXNhYmxlX2lwcyhjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCkBAIC01ODMwLDcgKzU4MzAsNyBAQCBpbnRlbF9w cmVfZGlzYWJsZV9wcmltYXJ5X25vYXRvbWljKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHN0YXRp YyBib29sIGhzd19wcmVfdXBkYXRlX2Rpc2FibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAkJCQkgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRl dik7CiAKIAlpZiAoIW9sZF9jcnRjX3N0YXRlLT5pcHNfZW5hYmxlZCkKQEAgLTU4NDYsNyArNTg0 Niw3IEBAIHN0YXRpYyBib29sIGhzd19wcmVfdXBkYXRlX2Rpc2FibGVfaXBzKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zCiAJICogRGlzYWJsZSBJUFMgYmVmb3JlIHdl IHByb2dyYW0gdGhlIExVVC4KIAkgKi8KIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYKLQkg ICAgKG5ld19jcnRjX3N0YXRlLT5iYXNlLmNvbG9yX21nbXRfY2hhbmdlZCB8fAorCSAgICAobmV3 X2NydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9jaGFuZ2VkIHx8CiAJICAgICBuZXdfY3J0Y19z dGF0ZS0+dXBkYXRlX3BpcGUpICYmCiAJICAgIG5ld19jcnRjX3N0YXRlLT5nYW1tYV9tb2RlID09 IEdBTU1BX01PREVfTU9ERV9TUExJVCkKIAkJcmV0dXJuIHRydWU7CkBAIC01ODU3LDcgKzU4NTcs NyBAQCBzdGF0aWMgYm9vbCBoc3dfcHJlX3VwZGF0ZV9kaXNhYmxlX2lwcyhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfcwogc3RhdGljIGJvb2wgaHN3X3Bvc3RfdXBkYXRl X2VuYWJsZV9pcHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl LAogCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3Rh dGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRj X3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAogCWlmICghbmV3X2NydGNf c3RhdGUtPmlwc19lbmFibGVkKQpAQCAtNTg3Myw3ICs1ODczLDcgQEAgc3RhdGljIGJvb2wgaHN3 X3Bvc3RfdXBkYXRlX2VuYWJsZV9pcHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9s ZF9jcnRjX3MKIAkgKiBSZS1lbmFibGUgSVBTIGFmdGVyIHRoZSBMVVQgaGFzIGJlZW4gcHJvZ3Jh bW1lZC4KIAkgKi8KIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgJiYKLQkgICAgKG5ld19jcnRj X3N0YXRlLT5iYXNlLmNvbG9yX21nbXRfY2hhbmdlZCB8fAorCSAgICAobmV3X2NydGNfc3RhdGUt PnVhcGkuY29sb3JfbWdtdF9jaGFuZ2VkIHx8CiAJICAgICBuZXdfY3J0Y19zdGF0ZS0+dXBkYXRl X3BpcGUpICYmCiAJICAgIG5ld19jcnRjX3N0YXRlLT5nYW1tYV9tb2RlID09IEdBTU1BX01PREVf TU9ERV9TUExJVCkKIAkJcmV0dXJuIHRydWU7CkBAIC01OTE0LDEwICs1OTE0LDEwIEBAIHN0YXRp YyBib29sIG5lZWRzX3NjYWxlcmNsa193YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAKIHN0YXRpYyB2b2lkIGludGVsX3Bvc3RfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBpLmNydGMpOwog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0Jc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUtPmJhc2Uuc3RhdGU7CisJc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUtPnVhcGkuc3RhdGU7CiAJc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KIAkJaW50ZWxfYXRvbWljX2dldF9uZXdf Y3J0Y19zdGF0ZSh0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLAogCQkJCQkJY3J0Yyk7CkBA IC01OTU3LDEwICs1OTU3LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bvc3RfcGxhbmVfdXBkYXRl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHN0YXRpYyB2b2lkIGlu dGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0 YXRlLAogCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJh c2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9j cnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5i YXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRl dik7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3RhdGUtPmJh c2Uuc3RhdGU7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gb2xkX2NydGNfc3Rh dGUtPnVhcGkuc3RhdGU7CiAJc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSA9IGNydGMtPmJhc2Uu cHJpbWFyeTsKIAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfcHJpbWFyeV9zdGF0ZSA9CiAJ CWRybV9hdG9taWNfZ2V0X29sZF9wbGFuZV9zdGF0ZShzdGF0ZSwgcHJpbWFyeSk7CkBAIC02MzEy LDcgKzYzMTIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmNvZGVyc191cGRhdGVfcGlwZShzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAogc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9wcmltYXJ5 X3BsYW5lKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUgPSB0b19pbnRlbF9wbGFu ZShjcnRjLT5iYXNlLnByaW1hcnkpOwogCiAJcGxhbmUtPmRpc2FibGVfcGxhbmUocGxhbmUsIGNy dGNfc3RhdGUpOwpAQCAtNjMyMSw3ICs2MzIxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJs ZV9wcmltYXJ5X3BsYW5lKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXQK IHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZywKIAkJCQkgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7 Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjID0gcGlwZV9jb25maWctPmJhc2UuY3J0YzsKKwlzdHJ1 Y3QgZHJtX2NydGMgKmNydGMgPSBwaXBlX2NvbmZpZy0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjKTsKQEAgLTY0NTUsNyArNjQ1NSw3IEBAIHN0YXRpYyB2b2lkIGljbF9w aXBlX21idXNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogc3RhdGljIHZvaWQgaGFz d2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJ CQkJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9jcnRj ICpjcnRjID0gcGlwZV9jb25maWctPmJhc2UuY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBwaXBlX2NvbmZpZy0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5w aXBlLCBoc3dfd29ya2Fyb3VuZF9waXBlOwpAQCAtNjU2Niw3ICs2NTY2LDcgQEAgc3RhdGljIHZv aWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcsCiAKIHN0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZGlzYWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNy dGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKQEAgLTY1ODIsNyArNjU4 Miw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX3BmaXRfZGlzYWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRj X2Rpc2FibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCQkJCSAg c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9jcnRjICpj cnRjID0gb2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBj cnRjLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj KTsKQEAgLTY2NDEsNyArNjY0MSw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZGlzYWJs ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiBzdGF0aWMgdm9pZCBo YXN3ZWxsX2NydGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3Rh dGUsCiAJCQkJIHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogewotCXN0cnVjdCBk cm1fY3J0YyAqY3J0YyA9IG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGM7CisJc3RydWN0IGRybV9j cnRjICpjcnRjID0gb2xkX2NydGNfc3RhdGUtPnVhcGkuY3J0YzsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmRldik7CiAJc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCWVudW0gdHJhbnNjb2RlciBj cHVfdHJhbnNjb2RlciA9IG9sZF9jcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKQEAgLTY2Nzgs NyArNjY3OCw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAogc3RhdGljIHZvaWQgaTl4eF9wZml0X2Vu YWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGMtPmJhc2UuZGV2KTsKIAogCWlmICghY3J0Y19zdGF0ZS0+Z21jaF9wZml0LmNvbnRyb2wp CkBAIC02ODE0LDcgKzY4MTQsNyBAQCBpbnRlbF9hdXhfcG93ZXJfZG9tYWluKHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQogCiBzdGF0aWMgdTY0IGdldF9jcnRjX3Bvd2VyX2Rv bWFpbnMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwogCWVudW0gcGlwZSBw aXBlID0gY3J0Yy0+cGlwZTsKQEAgLTY4MzEsNyArNjgzMSw3IEBAIHN0YXRpYyB1NjQgZ2V0X2Ny dGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkJ bWFzayB8PSBCSVRfVUxMKFBPV0VSX0RPTUFJTl9QSVBFX1BBTkVMX0ZJVFRFUihwaXBlKSk7CiAK IAlkcm1fZm9yX2VhY2hfZW5jb2Rlcl9tYXNrKGVuY29kZXIsICZkZXZfcHJpdi0+ZHJtLAotCQkJ CSAgY3J0Y19zdGF0ZS0+YmFzZS5lbmNvZGVyX21hc2spIHsKKwkJCQkgIGNydGNfc3RhdGUtPnVh cGkuZW5jb2Rlcl9tYXNrKSB7CiAJCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVy ID0gdG9faW50ZWxfZW5jb2RlcihlbmNvZGVyKTsKIAogCQltYXNrIHw9IEJJVF9VTEwoaW50ZWxf ZW5jb2Rlci0+cG93ZXJfZG9tYWluKTsKQEAgLTY4NDksNyArNjg0OSw3IEBAIHN0YXRpYyB1NjQg Z2V0X2NydGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHN0YXRpYyB1NjQKIG1vZGVzZXRfZ2V0X2NydGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAll bnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbjsKIAl1NjQgZG9tYWlucywgbmV3 X2RvbWFpbnMsIG9sZF9kb21haW5zOwpAQCAtNjg3OCw3ICs2ODc4LDcgQEAgc3RhdGljIHZvaWQg bW9kZXNldF9wdXRfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCQkgICBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBwaXBlX2NvbmZpZy0+YmFzZS5jcnRj OworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHBpcGVfY29uZmlnLT51YXBpLmNydGM7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwpAQCAtNjkzNCw3ICs2OTM0LDcgQEAgc3RhdGljIHZv aWQgdmFsbGV5dmlld19jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCiAKIHN0YXRpYyB2b2lkIGk5eHhfc2V0X3BsbF9kaXZpZGVycyhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsK IAogCUk5MTVfV1JJVEUoRlAwKGNydGMtPnBpcGUpLCBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRl LmZwMCk7CkBAIC02OTQ0LDcgKzY5NDQsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X3NldF9wbGxfZGl2 aWRlcnMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiBzdGF0aWMg dm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZywKIAkJCSAgICAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0 IGRybV9jcnRjICpjcnRjID0gcGlwZV9jb25maWctPmJhc2UuY3J0YzsKKwlzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMgPSBwaXBlX2NvbmZpZy0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjKTsKQEAgLTY5OTQsNyArNjk5NCw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFi bGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCiBzdGF0aWMgdm9pZCBp OXh4X3BmaXRfZGlzYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNf c3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9j cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAogCWlmICghb2xkX2Ny dGNfc3RhdGUtPmdtY2hfcGZpdC5jb250cm9sKQpAQCAtNzAxMCw3ICs3MDEwLDcgQEAgc3RhdGlj IHZvaWQgaTl4eF9wZml0X2Rpc2FibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9s ZF9jcnRjX3N0YXRlKQogc3RhdGljIHZvaWQgaTl4eF9jcnRjX2Rpc2FibGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAogCQkJICAgICAgc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjID0gb2xkX2NydGNfc3Rh dGUtPmJhc2UuY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBvbGRfY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKQEAgLTcyMDksNyArNzIw OSw3IEBAIHN0YXRpYyBpbnQgaXJvbmxha2VfY2hlY2tfZmRpX2xhbmVzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLAogCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBwaXBlX2Nv bmZpZy0+YmFzZS5zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBwaXBl X2NvbmZpZy0+dWFwaS5zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqb3RoZXJfY3J0YzsKIAlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb3RoZXJfY3J0Y19zdGF0ZTsKIApAQCAtNzMyOCw3ICs3 MzI4LDcgQEAgc3RhdGljIGludCBpcm9ubGFrZV9mZGlfY29tcHV0ZV9jb25maWcoc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMsCiAKIGJvb2wgaHN3X2NydGNfc3RhdGVfaXBzX2NhcGFibGUo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAKIAkvKiBJUFMgb25seSBleGlzdHMgb24gVUxUIG1hY2hpbmVzIGFuZCBp cyB0aWVkIHRvIHBpcGUgQS4gKi8KQEAgLTczNTgsOSArNzM1OCw5IEBAIGJvb2wgaHN3X2NydGNf c3RhdGVfaXBzX2NhcGFibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiBzdGF0aWMgYm9vbCBoc3dfY29tcHV0ZV9pcHNfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9Ci0JCXRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOworCQl0b19pOTE1KGNy dGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpp bnRlbF9zdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0YXRlLT5iYXNlLnN0 YXRlKTsKKwkJdG9faW50ZWxfYXRvbWljX3N0YXRlKGNydGNfc3RhdGUtPnVhcGkuc3RhdGUpOwog CiAJaWYgKCFoc3dfY3J0Y19zdGF0ZV9pcHNfY2FwYWJsZShjcnRjX3N0YXRlKSkKIAkJcmV0dXJu IGZhbHNlOwpAQCAtNzQzMiw3ICs3NDMyLDcgQEAgc3RhdGljIHUzMiBpbGtfcGlwZV9waXhlbF9y YXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIAogc3RhdGlj IHZvaWQgaW50ZWxfY3J0Y19jb21wdXRlX3BpeGVsX3JhdGUoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAK IAlpZiAoSEFTX0dNQ0goZGV2X3ByaXYpKQogCQkvKiBGSVhNRSBjYWxjdWxhdGUgcHJvcGVyIHBp cGUgcGl4ZWwgcmF0ZSBmb3IgR01DSCBwZml0ICovCkBAIC03NjY3LDcgKzc2NjcsNyBAQCBzdGF0 aWMgdm9pZCB2bHZfcGxsYl9yZWNhbF9vcGFtcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsIGVudW0gcGlwZQogc3RhdGljIHZvaWQgaW50ZWxfcGNoX3RyYW5zY29kZXJfc2V0X21f bihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkJIGNvbnN0 IHN0cnVjdCBpbnRlbF9saW5rX21fbiAqbV9uKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwog CWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIApAQCAtNzY5NCw3ICs3Njk0LDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfY3B1X3RyYW5zY29kZXJfc2V0X21fbihjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGEKIAkJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9saW5rX21fbiAq bV9uLAogCQkJCQkgY29uc3Qgc3RydWN0IGludGVsX2xpbmtfbV9uICptMl9uMikKIHsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJZW51bSB0 cmFuc2NvZGVyIHRyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKQEAgLTgw MDcsNyArODAwNyw3IEBAIGludCB2bHZfZm9yY2VfcGxsX29uKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUsCiAJaWYgKCFwaXBlX2NvbmZpZykKIAkJcmV0 dXJuIC1FTk9NRU07CiAKLQlwaXBlX2NvbmZpZy0+YmFzZS5jcnRjID0gJmNydGMtPmJhc2U7CisJ cGlwZV9jb25maWctPnVhcGkuY3J0YyA9ICZjcnRjLT5iYXNlOwogCXBpcGVfY29uZmlnLT5waXhl bF9tdWx0aXBsaWVyID0gMTsKIAlwaXBlX2NvbmZpZy0+ZHBsbCA9ICpkcGxsOwogCkBAIC04MTY3 LDcgKzgxNjcsNyBAQCBzdGF0aWMgdm9pZCBpOHh4X2NvbXB1dGVfZHBsbChzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YywKIAogc3RhdGljIHZvaWQgaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2Uu ZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJZW51bSB0cmFuc2NvZGVyIGNw dV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CkBAIC04MjI5LDcgKzgy MjksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zZXRfcGlwZV90aW1pbmdzKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgdm9pZCBpbnRlbF9zZXRfcGlw ZV9zcmNfc2l6ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsK LQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFz ZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19z dGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAK QEAgLTgyNDMsNyArODI0Myw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3NldF9waXBlX3NyY19zaXpl KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgYm9v bCBpbnRlbF9waXBlX2lzX2ludGVybGFjZWQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAJZW51 bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7 CiAKIAlpZiAoSVNfR0VOKGRldl9wcml2LCAyKSkKQEAgLTgzNDEsNyArODM0MSw3IEBAIHZvaWQg aW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl LAogCiBzdGF0aWMgdm9pZCBpOXh4X3NldF9waXBlY29uZihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgcGlw ZWNvbmY7CiAKQEAgLTg3ODcsNyArODc4Nyw3IEBAIGJkd19nZXRfcGlwZW1pc2Nfb3V0cHV0X2Zv cm1hdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAogc3RhdGljIHZvaWQgaTl4eF9nZXRfcGlw ZV9jb2xvcl9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0J c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3Rh dGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSA9IHRvX2ludGVsX3Bs YW5lKGNydGMtPmJhc2UucHJpbWFyeSk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSBpOXh4X3BsYW5lX2lkIGk5eHhf cGxhbmUgPSBwbGFuZS0+aTl4eF9wbGFuZTsKQEAgLTk0MjYsNyArOTQyNiw3IEBAIHZvaWQgaW50 ZWxfaW5pdF9wY2hfcmVmY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAog c3RhdGljIHZvaWQgaXJvbmxha2Vfc2V0X3BpcGVjb25mKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlw ZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIgdmFsOwpAQCAtOTQ4MCw3ICs5NDgwLDcgQEAgc3Rh dGljIHZvaWQgaXJvbmxha2Vfc2V0X3BpcGVjb25mKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgdm9pZCBoYXN3ZWxsX3NldF9waXBlY29uZihjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5j cHVfdHJhbnNjb2RlcjsKIAl1MzIgdmFsID0gMDsKQEAgLTk1MDMsNyArOTUwMyw3IEBAIHN0YXRp YyB2b2lkIGhhc3dlbGxfc2V0X3BpcGVjb25mKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgdm9pZCBiZHdfc2V0X3BpcGVtaXNjKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYp OwogCXUzMiB2YWwgPSAwOwogCkBAIC05Njg5LDcgKzk2ODksNyBAQCBzdGF0aWMgaW50IGlyb25s YWtlX2NydGNfY29tcHV0ZV9jbG9jayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIHsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsK IAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19z dGF0ZShjcnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKKwkJdG9faW50ZWxfYXRvbWljX3N0YXRlKGNy dGNfc3RhdGUtPnVhcGkuc3RhdGUpOwogCWNvbnN0IHN0cnVjdCBpbnRlbF9saW1pdCAqbGltaXQ7 CiAJaW50IHJlZmNsayA9IDEyMDAwMDsKIApAQCAtMTAxMTUsNyArMTAxMTUsNyBAQCBzdGF0aWMg aW50IGhhc3dlbGxfY3J0Y19jb21wdXRlX2Nsb2NrKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFz ZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlID0KLQkJdG9faW50ZWxf YXRvbWljX3N0YXRlKGNydGNfc3RhdGUtPmJhc2Uuc3RhdGUpOworCQl0b19pbnRlbF9hdG9taWNf c3RhdGUoY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZSk7CiAKIAlpZiAoIWludGVsX2NydGNfaGFzX3R5 cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RTSSkgfHwKIAkgICAgSU5URUxfR0VOKGRldl9w cml2KSA+PSAxMSkgewpAQCAtMTA0ODEsNyArMTA0ODEsNyBAQCBzdGF0aWMgZW51bSB0cmFuc2Nv ZGVyIHRyYW5zY29kZXJfbWFzdGVyX3JlYWRvdXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcgogCiBzdGF0aWMgdm9pZCBpY2VsYWtlX2dldF90cmFuc19wb3J0X3N5bmNfY29uZmlnKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjLT5kZXYpOwogCXUzMiB0cmFuc2NvZGVyczsKIAllbnVtIHRyYW5zY29kZXIgY3B1 X3RyYW5zY29kZXI7CiAKQEAgLTEwNzU4LDcgKzEwNzU4LDcgQEAgc3RhdGljIGludCBpbnRlbF9j aGVja19jdXJzb3Ioc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJfQogCiAJ cmV0ID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUoJnBsYW5lX3N0YXRlLT5i YXNlLAotCQkJCQkJICAmY3J0Y19zdGF0ZS0+YmFzZSwKKwkJCQkJCSAgJmNydGNfc3RhdGUtPnVh cGksCiAJCQkJCQkgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywKIAkJCQkJCSAgRFJNX1BM QU5FX0hFTFBFUl9OT19TQ0FMSU5HLAogCQkJCQkJICB0cnVlLCB0cnVlKTsKQEAgLTEwOTQ1LDcg KzEwOTQ1LDcgQEAgaTl4eF9jdXJzb3JfbWF4X3N0cmlkZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBs YW5lLAogCiBzdGF0aWMgdTMyIGk5eHhfY3Vyc29yX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCXUz MiBjbnRsID0gMDsKIApAQCAtMTEzNjIsNyArMTEzNjIsNyBAQCBpbnQgaW50ZWxfZ2V0X2xvYWRf ZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlpZiAoIW1vZGUp CiAJCW1vZGUgPSAmbG9hZF9kZXRlY3RfbW9kZTsKIAotCXJldCA9IGRybV9hdG9taWNfc2V0X21v ZGVfZm9yX2NydGMoJmNydGNfc3RhdGUtPmJhc2UsIG1vZGUpOworCXJldCA9IGRybV9hdG9taWNf c2V0X21vZGVfZm9yX2NydGMoJmNydGNfc3RhdGUtPnVhcGksIG1vZGUpOwogCWlmIChyZXQpCiAJ CWdvdG8gZmFpbDsKIApAQCAtMTE2MDAsNyArMTE2MDAsNyBAQCBpbnRlbF9lbmNvZGVyX2N1cnJl bnRfbW9kZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAkJcmV0dXJuIE5VTEw7CiAJ fQogCi0JY3J0Y19zdGF0ZS0+YmFzZS5jcnRjID0gJmNydGMtPmJhc2U7CisJY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjID0gJmNydGMtPmJhc2U7CiAKIAlpZiAoIWRldl9wcml2LT5kaXNwbGF5LmdldF9w aXBlX2NvbmZpZyhjcnRjLCBjcnRjX3N0YXRlKSkgewogCQlrZnJlZShjcnRjX3N0YXRlKTsKQEAg LTExNjcxLDcgKzExNjcxLDcgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXQKIAkJCQkgICAgY29u c3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsCiAJCQkJICAgIHN0 cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7 CiAJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRl LT5iYXNlLnBsYW5lKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGMtPmJhc2UuZGV2KTsKIAlib29sIG1vZGVfY2hhbmdlZCA9IG5lZWRzX21vZGVzZXQo Y3J0Y19zdGF0ZSk7CkBAIC0xMTg0Myw5ICsxMTg0Myw5IEBAIHN0YXRpYyBpbnQgaWNsX2FkZF9s aW5rZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCiBzdGF0aWMg aW50IGljbF9jaGVja19udjEyX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19z dGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0 YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0YXRlLT5iYXNlLnN0YXRl KTsKKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19z dGF0ZShjcnRjX3N0YXRlLT51YXBpLnN0YXRlKTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5l LCAqbGlua2VkOwogCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CiAJaW50 IGk7CkBAIC0xMTkxNSw5ICsxMTkxNSw5IEBAIHN0YXRpYyBpbnQgaWNsX2NoZWNrX252MTJfcGxh bmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiBzdGF0aWMgYm9vbCBj OF9wbGFuZXNfY2hhbmdlZChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNf c3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19j cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+ YmFzZS5zdGF0ZSk7CisJCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+dWFw aS5zdGF0ZSk7CiAJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl ID0KIAkJaW50ZWxfYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7CiAKQEAg LTExOTI2LDkgKzExOTI2LDkgQEAgc3RhdGljIGJvb2wgYzhfcGxhbmVzX2NoYW5nZWQoY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQogCiBzdGF0aWMgaW50IGlj bF9hZGRfc3luY19tb2RlX2NydGNzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogewotCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNydGNfc3RhdGUtPmJhc2UuY3J0YzsKLQlz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShj cnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMgPSBjcnRjX3N0YXRlLT51YXBpLmNydGM7CisJc3RydWN0IGludGVsX2F0b21pY19z dGF0ZSAqc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+dWFwaS5zdGF0 ZSk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0 YXRlLT51YXBpLmNydGMtPmRldik7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgKm1hc3Rlcl9jb25u ZWN0b3IsICpjb25uZWN0b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rv cl9zdGF0ZTsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwpAQCAt MTIwMDIsNyArMTIwMDIsNyBAQCBzdGF0aWMgaW50IGljbF9hZGRfc3luY19tb2RlX2NydGNzKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQkJQklUKGNydGNfc3RhdGUtPmNw dV90cmFuc2NvZGVyKTsKIAkJRFJNX0RFQlVHX0tNUygiTWFzdGVyIFRyYW5zY29kZXIgPSAlcyBh ZGRlZCBmb3IgU2xhdmUgQ1JUQyA9ICVkLCBzbGF2ZSB0cmFuc2NvZGVyIGJpdG1hc2sgPSAlZFxu IiwKIAkJCSAgICAgIHRyYW5zY29kZXJfbmFtZShjcnRjX3N0YXRlLT5tYXN0ZXJfdHJhbnNjb2Rl ciksCi0JCQkgICAgICBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmJhc2UuaWQsCisJCQkgICAgICBj cnRjX3N0YXRlLT51YXBpLmNydGMtPmJhc2UuaWQsCiAJCQkgICAgICBtYXN0ZXJfcGlwZV9jb25m aWctPnN5bmNfbW9kZV9zbGF2ZXNfbWFzayk7CiAJfQogCkBAIC0xMjAzNSwxMCArMTIwMzUsMTAg QEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSwKIAkgKiB3aGVuIEM4IHBsYW5lcyBhcmUgZ2V0dGluZyBlbmFibGVkL2Rp c2FibGVkLgogCSAqLwogCWlmIChjOF9wbGFuZXNfY2hhbmdlZChjcnRjX3N0YXRlKSkKLQkJY3J0 Y19zdGF0ZS0+YmFzZS5jb2xvcl9tZ210X2NoYW5nZWQgPSB0cnVlOworCQljcnRjX3N0YXRlLT51 YXBpLmNvbG9yX21nbXRfY2hhbmdlZCA9IHRydWU7CiAKIAlpZiAobW9kZV9jaGFuZ2VkIHx8IGNy dGNfc3RhdGUtPnVwZGF0ZV9waXBlIHx8Ci0JICAgIGNydGNfc3RhdGUtPmJhc2UuY29sb3JfbWdt dF9jaGFuZ2VkKSB7CisJICAgIGNydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9jaGFuZ2VkKSB7 CiAJCXJldCA9IGludGVsX2NvbG9yX2NoZWNrKGNydGNfc3RhdGUpOwogCQlpZiAocmV0KQogCQkJ cmV0dXJuIHJldDsKQEAgLTEyMTU2LDcgKzEyMTU2LDcgQEAgY29tcHV0ZV9iYXNlbGluZV9waXBl X2JwcChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCSAgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSA9IHBpcGVfY29uZmlnLT5iYXNlLnN0YXRlOworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSA9IHBpcGVfY29uZmlnLT51YXBpLnN0YXRlOwogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9zdGF0ZTsK IAlpbnQgYnBwLCBpOwpAQCAtMTIzMDksNyArMTIzMDksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9k dW1wX3BpcGVfY29uZmlnKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZywKIAkJCQkgICBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCQkgICBjb25z dCBjaGFyICpjb250ZXh0KQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJY29uc3Qgc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUg KnBsYW5lOwpAQCAtMTI0ODYsNyArMTI0ODYsNyBAQCBzdGF0aWMgaW50CiBjbGVhcl9pbnRlbF9j cnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Ci0JCXRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFz ZS5jcnRjLT5kZXYpOworCQl0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc2F2ZWRfc3RhdGU7CiAKIAlzYXZlZF9zdGF0ZSA9IGt6 YWxsb2Moc2l6ZW9mKCpzYXZlZF9zdGF0ZSksIEdGUF9LRVJORUwpOwpAQCAtMTI1MTksOCArMTI1 MTksOCBAQCBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSwgYmFzZSkpOwogCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSwgdWFwaSkpOwogCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSwgaHcpKTsKLQltZW1jcHkoJmNydGNfc3RhdGUtPmJhc2UgKyAxLCAmc2F2ZWRfc3RhdGUtPmJh c2UgKyAxLAotCSAgICAgICBzaXplb2YoKmNydGNfc3RhdGUpIC0gc2l6ZW9mKGNydGNfc3RhdGUt PmJhc2UpKTsKKwltZW1jcHkoJmNydGNfc3RhdGUtPnVhcGkgKyAxLCAmc2F2ZWRfc3RhdGUtPnVh cGkgKyAxLAorCSAgICAgICBzaXplb2YoKmNydGNfc3RhdGUpIC0gc2l6ZW9mKGNydGNfc3RhdGUt PnVhcGkpKTsKIAogCWtmcmVlKHNhdmVkX3N0YXRlKTsKIAlyZXR1cm4gMDsKQEAgLTEyNTI5LDgg KzEyNTI5LDggQEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyBpbnQKIGludGVsX21vZGVzZXRfcGlwZV9jb25maWcoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewotCXN0cnVjdCBkcm1fY3J0YyAq Y3J0YyA9IHBpcGVfY29uZmlnLT5iYXNlLmNydGM7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlID0gcGlwZV9jb25maWctPmJhc2Uuc3RhdGU7CisJc3RydWN0IGRybV9jcnRjICpjcnRj ID0gcGlwZV9jb25maWctPnVhcGkuY3J0YzsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUgPSBwaXBlX2NvbmZpZy0+dWFwaS5zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwogCXN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CkBAIC0xMjgwNyw4ICsxMjgwNyw4IEBAIGlu dGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmN1 cnJlbnRfY29uZmlnLAogCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCiAJCQkgIGJvb2wgZmFzdHNldCkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGN1cnJlbnRfY29uZmlnLT5iYXNlLmNydGMtPmRldik7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNy dGMpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3VycmVu dF9jb25maWctPnVhcGkuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJYm9vbCByZXQgPSB0cnVlOwog CXUzMiBicF9nYW1tYSA9IDA7CiAJYm9vbCBmaXh1cF9pbmhlcml0ZWQgPSBmYXN0c2V0ICYmCkBA IC0xMzM1OSwxMiArMTMzNTksMTIgQEAgdmVyaWZ5X2NydGNfc3RhdGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsCiAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwogCWJvb2wgYWN0aXZl OwogCi0Jc3RhdGUgPSBvbGRfY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZTsKLQlfX2RybV9hdG9taWNf aGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSgmb2xkX2NydGNfc3RhdGUtPmJhc2UpOworCXN0YXRl ID0gb2xkX2NydGNfc3RhdGUtPnVhcGkuc3RhdGU7CisJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRj X2Rlc3Ryb3lfc3RhdGUoJm9sZF9jcnRjX3N0YXRlLT51YXBpKTsKIAlwaXBlX2NvbmZpZyA9IG9s ZF9jcnRjX3N0YXRlOwogCW1lbXNldChwaXBlX2NvbmZpZywgMCwgc2l6ZW9mKCpwaXBlX2NvbmZp ZykpOwotCXBpcGVfY29uZmlnLT5iYXNlLmNydGMgPSAmY3J0Yy0+YmFzZTsKLQlwaXBlX2NvbmZp Zy0+YmFzZS5zdGF0ZSA9IHN0YXRlOworCXBpcGVfY29uZmlnLT51YXBpLmNydGMgPSAmY3J0Yy0+ YmFzZTsKKwlwaXBlX2NvbmZpZy0+dWFwaS5zdGF0ZSA9IHN0YXRlOwogCiAJRFJNX0RFQlVHX0tN UygiW0NSVEM6JWQ6JXNdXG4iLCBjcnRjLT5iYXNlLmJhc2UuaWQsIGNydGMtPmJhc2UubmFtZSk7 CiAKQEAgLTEzNTQ0LDcgKzEzNTQ0LDcgQEAgaW50ZWxfbW9kZXNldF92ZXJpZnlfZGlzYWJsZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogc3RhdGljIHZvaWQKIGludGVsX2Ny dGNfdXBkYXRlX2FjdGl2ZV90aW1pbmdzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWNvbnN0IHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KIAkJJmNydGNfc3RhdGUtPmh3LmFkanVzdGVk X21vZGU7CkBAIC0xMzc0MSw3ICsxMzc0MSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfY2hl Y2tfZmFzdHNldChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhCiAJ aWYgKCFpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19z dGF0ZSwgdHJ1ZSkpCiAJCXJldHVybjsKIAotCW5ld19jcnRjX3N0YXRlLT5iYXNlLm1vZGVfY2hh bmdlZCA9IGZhbHNlOworCW5ld19jcnRjX3N0YXRlLT51YXBpLm1vZGVfY2hhbmdlZCA9IGZhbHNl OwogCW5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGlwZSA9IHRydWU7CiAKIAkvKgpAQCAtMTM4MTQs NyArMTM4MTQsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkpIHsKIAkJaWYgKG5ld19jcnRj X3N0YXRlLT5ody5tb2RlLnByaXZhdGVfZmxhZ3MgIT0KIAkJICAgIG9sZF9jcnRjX3N0YXRlLT5o dy5tb2RlLnByaXZhdGVfZmxhZ3MpCi0JCQluZXdfY3J0Y19zdGF0ZS0+YmFzZS5tb2RlX2NoYW5n ZWQgPSB0cnVlOworCQkJbmV3X2NydGNfc3RhdGUtPnVhcGkubW9kZV9jaGFuZ2VkID0gdHJ1ZTsK IAl9CiAKIAlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0KGRldiwgJnN0YXRl LT5iYXNlKTsKQEAgLTEzOTM4LDcgKzEzOTM4LDcgQEAgdm9pZCBpbnRlbF9jcnRjX2FybV9maWZv X3VuZGVycnVuKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogc3RhdGljIHZvaWQgaW50ZWxfcGlw ZV9mYXN0c2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwK IAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUp CiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0 YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAogCS8qIGRybV9hdG9taWNfaGVs cGVyX3VwZGF0ZV9sZWdhY3lfbW9kZXNldF9zdGF0ZSBtaWdodCBub3QgYmUgY2FsbGVkLiAqLwpA QCAtMTM5ODMsNyArMTM5ODMsNyBAQCBzdGF0aWMgdm9pZCBjb21taXRfcGlwZV9jb25maWcoc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJICogQ1JUQyB3YXMgZW5hYmxlZC4KIAkg Ki8KIAlpZiAoIW1vZGVzZXQpIHsKLQkJaWYgKG5ld19jcnRjX3N0YXRlLT5iYXNlLmNvbG9yX21n bXRfY2hhbmdlZCB8fAorCQlpZiAobmV3X2NydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9jaGFu Z2VkIHx8CiAJCSAgICBuZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUpCiAJCQlpbnRlbF9jb2xv cl9jb21taXQobmV3X2NydGNfc3RhdGUpOwogCkBAIC0xNDA1Nyw3ICsxNDA1Nyw3IEBAIHN0YXRp YyB2b2lkIGludGVsX3VwZGF0ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCiBzdGF0 aWMgc3RydWN0IGludGVsX2NydGMgKmludGVsX2dldF9zbGF2ZV9jcnRjKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KG5ld19jcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShuZXdfY3J0Y19z dGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCWVudW0gdHJhbnNjb2RlciBzbGF2ZV90cmFuc2NvZGVy OwogCiAJV0FSTl9PTighaXNfcG93ZXJfb2ZfMihuZXdfY3J0Y19zdGF0ZS0+c3luY19tb2RlX3Ns YXZlc19tYXNrKSk7CkBAIC0xNDQ5NSwxMiArMTQ0OTUsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxf YXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQli b29sIG1vZGVzZXQgPSBuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKTsKIAogCQkvKiBDb21w bGV0ZSBldmVudHMgZm9yIG5vdyBkaXNhYmxlIHBpcGVzIGhlcmUuICovCi0JCWlmIChtb2Rlc2V0 ICYmICFuZXdfY3J0Y19zdGF0ZS0+aHcuYWN0aXZlICYmIG5ld19jcnRjX3N0YXRlLT5iYXNlLmV2 ZW50KSB7CisJCWlmIChtb2Rlc2V0ICYmICFuZXdfY3J0Y19zdGF0ZS0+aHcuYWN0aXZlICYmIG5l d19jcnRjX3N0YXRlLT51YXBpLmV2ZW50KSB7CiAJCQlzcGluX2xvY2tfaXJxKCZkZXYtPmV2ZW50 X2xvY2spOwotCQkJZHJtX2NydGNfc2VuZF92YmxhbmtfZXZlbnQoJmNydGMtPmJhc2UsIG5ld19j cnRjX3N0YXRlLT5iYXNlLmV2ZW50KTsKKwkJCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KCZj cnRjLT5iYXNlLAorCQkJCQkJICAgbmV3X2NydGNfc3RhdGUtPnVhcGkuZXZlbnQpOwogCQkJc3Bp bl91bmxvY2tfaXJxKCZkZXYtPmV2ZW50X2xvY2spOwogCi0JCQluZXdfY3J0Y19zdGF0ZS0+YmFz ZS5ldmVudCA9IE5VTEw7CisJCQluZXdfY3J0Y19zdGF0ZS0+dWFwaS5ldmVudCA9IE5VTEw7CiAJ CX0KIAl9CiAKQEAgLTE0NTMzLDcgKzE0NTM0LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWlj X2NvbW1pdF90YWlsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCWZvcl9lYWNo X25ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwgaSkg ewogCQlpZiAobmV3X2NydGNfc3RhdGUtPmh3LmFjdGl2ZSAmJgogCQkgICAgIW5lZWRzX21vZGVz ZXQobmV3X2NydGNfc3RhdGUpICYmCi0JCSAgICAobmV3X2NydGNfc3RhdGUtPmJhc2UuY29sb3Jf bWdtdF9jaGFuZ2VkIHx8CisJCSAgICAobmV3X2NydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9j aGFuZ2VkIHx8CiAJCSAgICAgbmV3X2NydGNfc3RhdGUtPnVwZGF0ZV9waXBlKSkKIAkJCWludGVs X2NvbG9yX2xvYWRfbHV0cyhuZXdfY3J0Y19zdGF0ZSk7CiAJfQpAQCAtMTQ5ODEsNyArMTQ5ODIs NyBAQCBpbnQKIHNrbF9tYXhfc2NhbGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCiAJICAgICAgY29uc3Qgc3RydWN0IGRybV9mb3JtYXRfaW5mbyAqZm9ybWF0KQog ewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWludCBtYXhfc2NhbGU7CiAJaW50IGNydGNfY2xv Y2ssIG1heF9kb3RjbGssIHRtcGNsazEsIHRtcGNsazI7CkBAIC0xNDk5MCw3ICsxNDk5MSw3IEBA IHNrbF9tYXhfc2NhbGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCXJldHVybiBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkc7CiAKIAljcnRjX2Nsb2NrID0g Y3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOwotCW1heF9kb3RjbGsgPSB0 b19pbnRlbF9hdG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZSktPmNkY2xrLmxvZ2lj YWwuY2RjbGs7CisJbWF4X2RvdGNsayA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0YXRl LT51YXBpLnN0YXRlKS0+Y2RjbGsubG9naWNhbC5jZGNsazsKIAogCWlmIChJU19HRU1JTklMQUtF KGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKQogCQltYXhfZG90Y2xrICo9 IDI7CkBAIC0xNTIxMCw3ICsxNTIxMSw3IEBAIGludGVsX2xlZ2FjeV9jdXJzb3JfdXBkYXRlKHN0 cnVjdCBkcm1fcGxhbmUgKl9wbGFuZSwKIAogb3V0X2ZyZWU6CiAJaWYgKG5ld19jcnRjX3N0YXRl KQotCQlpbnRlbF9jcnRjX2Rlc3Ryb3lfc3RhdGUoJmNydGMtPmJhc2UsICZuZXdfY3J0Y19zdGF0 ZS0+YmFzZSk7CisJCWludGVsX2NydGNfZGVzdHJveV9zdGF0ZSgmY3J0Yy0+YmFzZSwgJm5ld19j cnRjX3N0YXRlLT51YXBpKTsKIAlpZiAocmV0KQogCQlpbnRlbF9wbGFuZV9kZXN0cm95X3N0YXRl KCZwbGFuZS0+YmFzZSwgJm5ld19wbGFuZV9zdGF0ZS0+YmFzZSk7CiAJZWxzZQpAQCAtMTU1MzYs NyArMTU1MzcsNyBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQogCQlyZXQgPSAtRU5PTUVNOwogCQln b3RvIGZhaWw7CiAJfQotCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCgmaW50ZWxfY3J0 Yy0+YmFzZSwgJmNydGNfc3RhdGUtPmJhc2UpOworCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19y ZXNldCgmaW50ZWxfY3J0Yy0+YmFzZSwgJmNydGNfc3RhdGUtPnVhcGkpOwogCWludGVsX2NydGMt PmNvbmZpZyA9IGNydGNfc3RhdGU7CiAKIAlwcmltYXJ5ID0gaW50ZWxfcHJpbWFyeV9wbGFuZV9j cmVhdGUoZGV2X3ByaXYsIHBpcGUpOwpAQCAtMTY1NjUsNyArMTY1NjYsNyBAQCBzdGF0aWMgaW50 IGludGVsX2luaXRpYWxfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkgKiBoYXZp bmcgYSBwcm9wZXIgTFVUIGxvYWRlZC4gUmVtb3ZlIG9uY2Ugd2UKIAkJCSAqIGhhdmUgcmVhZG91 dCBmb3IgcGlwZSBnYW1tYSBlbmFibGUuCiAJCQkgKi8KLQkJCWNydGNfc3RhdGUtPmJhc2UuY29s b3JfbWdtdF9jaGFuZ2VkID0gdHJ1ZTsKKwkJCWNydGNfc3RhdGUtPnVhcGkuY29sb3JfbWdtdF9j aGFuZ2VkID0gdHJ1ZTsKIAkJfQogCX0KIApAQCAtMTY5NjMsNyArMTY5NjQsNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9zYW5pdGl6ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCiBzdGF0 aWMgYm9vbCBoYXNfYm9ndXNfZHBsbF9jb25maWcoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAK IAkvKgogCSAqIFNvbWUgU05CIEJJT1NlbiAoZWcuIEFTVVMgSzUzU1YpIGFyZSBrbm93biB0byBt aXNwcm9ncmFtCkBAIC0xNzA5Nyw5ICsxNzA5OCw5IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVz ZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9CiAJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMt PmJhc2Uuc3RhdGUpOwogCi0JCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRl KCZjcnRjX3N0YXRlLT5iYXNlKTsKKwkJX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lf c3RhdGUoJmNydGNfc3RhdGUtPnVhcGkpOwogCQltZW1zZXQoY3J0Y19zdGF0ZSwgMCwgc2l6ZW9m KCpjcnRjX3N0YXRlKSk7Ci0JCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCgmY3J0Yy0+ YmFzZSwgJmNydGNfc3RhdGUtPmJhc2UpOworCQlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfcmVz ZXQoJmNydGMtPmJhc2UsICZjcnRjX3N0YXRlLT51YXBpKTsKIAogCQljcnRjX3N0YXRlLT5ody5h Y3RpdmUgPSBjcnRjX3N0YXRlLT5ody5lbmFibGUgPQogCQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0 X3BpcGVfY29uZmlnKGNydGMsIGNydGNfc3RhdGUpOwpAQCAtMTcxODUsOSArMTcxODYsOSBAQCBz dGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIAkJCQkgKiBiZWNhdXNlIGFueXRoaW5nIGNhbGxpbmcgLmNydGNfZGlzYWJsZSBt YXkKIAkJCQkgKiByZWx5IG9uIHRoZSBjb25uZWN0b3JfbWFzayBiZWluZyBhY2N1cmF0ZS4KIAkJ CQkgKi8KLQkJCQljcnRjX3N0YXRlLT5iYXNlLmNvbm5lY3Rvcl9tYXNrIHw9CisJCQkJY3J0Y19z dGF0ZS0+dWFwaS5jb25uZWN0b3JfbWFzayB8PQogCQkJCQlkcm1fY29ubmVjdG9yX21hc2soJmNv bm5lY3Rvci0+YmFzZSk7Ci0JCQkJY3J0Y19zdGF0ZS0+YmFzZS5lbmNvZGVyX21hc2sgfD0KKwkJ CQljcnRjX3N0YXRlLT51YXBpLmVuY29kZXJfbWFzayB8PQogCQkJCQlkcm1fZW5jb2Rlcl9tYXNr KCZlbmNvZGVyLT5iYXNlKTsKIAkJCX0KIAkJfSBlbHNlIHsKQEAgLTE3MjE1LDcgKzE3MjE2LDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCQljcnRjLT5iYXNlLm1vZGUudmRpc3BsYXkgPSBjcnRjX3N0YXRlLT5w aXBlX3NyY19oOwogCQkJaW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKCZjcnRjX3N0YXRlLT5o dy5hZGp1c3RlZF9tb2RlLAogCQkJCQkJICAgIGNydGNfc3RhdGUpOwotCQkJV0FSTl9PTihkcm1f YXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKCZjcnRjX3N0YXRlLT5iYXNlLCAmY3J0Yy0+YmFzZS5t b2RlKSk7CisJCQlXQVJOX09OKGRybV9hdG9taWNfc2V0X21vZGVfZm9yX2NydGMoJmNydGNfc3Rh dGUtPnVhcGksICZjcnRjLT5iYXNlLm1vZGUpKTsKIAogCQkJLyoKIAkJCSAqIFRoZSBpbml0aWFs IG1vZGUgbmVlZHMgdG8gYmUgc2V0IGluIG9yZGVyIHRvIGtlZXAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZHAuYwppbmRleCBmMmYwMmFkOGQzOWUuLjEwZTg1MjFhMjY1OCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYwpAQCAtMjI0NCw3ICsyMjQ0LDcg QEAgaW50ZWxfZHBfeWNiY3I0MjBfY29uZmlnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5 X2luZm87CiAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQog CQkmY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlpbnQg cmV0OwogCiAJaWYgKCFkcm1fbW9kZV9pc180MjBfb25seShpbmZvLCBhZGp1c3RlZF9tb2RlKSB8 fApAQCAtMjMwOSw3ICsyMzA5LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190 b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29u ID0gZW5jX3RvX2ludGVsX2xzcGNvbigmZW5jb2Rlci0+YmFzZSk7CiAJZW51bSBwb3J0IHBvcnQg PSBlbmNvZGVyLT5wb3J0OwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0dGFjaGVkX2Nv bm5lY3RvcjsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgKmludGVsX2Nv bm5fc3RhdGUgPQogCQl0b19pbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShjb25uX3N0YXRl KTsKQEAgLTI0MjcsNyArMjQyNyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3ByZXBhcmUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7CiAJZW51bSBwb3J0IHBv cnQgPSBlbmNvZGVyLT5wb3J0OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmh3LmFkanVzdGVk X21vZGU7CiAKIAlpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMoaW50ZWxfZHAsIHBpcGVfY29uZmln LT5wb3J0X2Nsb2NrLApAQCAtMzAyNSw3ICszMDI1LDcgQEAgc3RhdGljIHZvaWQgYXNzZXJ0X2Vk cF9wbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sIHN0YXRlKQogc3Rh dGljIHZvaWQgaXJvbmxha2VfZWRwX3BsbF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAog CQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmln LT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwogCiAJYXNzZXJ0X3BpcGVfZGlzYWJsZWQoZGV2X3ByaXYsIGNy dGMtPnBpcGUpOwpAQCAtMzA2NSw3ICszMDY1LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfZWRw X3BsbF9vbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogc3RhdGljIHZvaWQgaXJvbmxha2Vf ZWRwX3BsbF9vZmYoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJCQkgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2NydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAKIAlhc3NlcnRfcGlwZV9kaXNhYmxlZChkZXZfcHJpdiwgY3J0Yy0+cGlw ZSk7CkBAIC0zMjI1LDcgKzMyMjUsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9nZXRfY29uZmln KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwogCXUzMiB0bXAsIGZsYWdzID0g MDsKIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7Ci0Jc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOworCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsK IAogCWlmIChlbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9FRFApCiAJCXBpcGVfY29uZmln LT5vdXRwdXRfdHlwZXMgfD0gQklUKElOVEVMX09VVFBVVF9FRFApOwpAQCAtMzQ5Miw3ICszNDky LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9f aW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJdTMyIGRwX3Jl ZyA9IEk5MTVfUkVBRChpbnRlbF9kcC0+b3V0cHV0X3JlZyk7CiAJZW51bSBwaXBlIHBpcGUgPSBj cnRjLT5waXBlOwogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwpAQCAtMzYyNSw3ICszNjI1LDcg QEAgc3RhdGljIHZvaWQgdmx2X2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwotCXN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwog CiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7CiAKQEAgLTQxNDcs NyArNDE0Nyw3IEBAIGludGVsX2RwX2xpbmtfZG93bihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVu Y29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2lu dGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWVudW0g cG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKIAl1MzIgRFAgPSBpbnRlbF9kcC0+RFA7CiAKQEAg LTY4OTksNyArNjg5OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3NldF9kcnJzX3N0YXRlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgICAgaW50IHJlZnJlc2hfcmF0 ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZGV2X3ByaXYtPmRycnMuZHA7Ci0J c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9j cnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJZW51bSBkcnJzX3JlZnJlc2hfcmF0ZV90eXBl IGluZGV4ID0gRFJSU19ISUdIX1JSOwogCiAJaWYgKHJlZnJlc2hfcmF0ZSA8PSAwKSB7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYwppbmRleCA2YjA4NmFjNzgy OGQuLjFiNmQ4Y2UwNTM0MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcF9tc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RwX21zdC5jCkBAIC00Miw3ICs0Miw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfbXN0X2NvbXB1 dGVfbGlua19jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJCSAgICBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwKIAkJCQkJICAgIHN0cnVjdCBs aW5rX2NvbmZpZ19saW1pdHMgKmxpbWl0cykKIHsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSA9IGNydGNfc3RhdGUtPnVhcGkuc3RhdGU7CiAJc3RydWN0IGludGVsX2RwX21zdF9l bmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwID0gJmludGVsX21zdC0+cHJpbWFyeS0+ZHA7CiAJc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0KQEAgLTE5MCw3ICsxOTAsNyBAQCBpbnRlbF9kcF9t c3RfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCQkJ aW50ZWxfY3J0Yyk7CiAKIAkJaWYgKCFjcnRjX3N0YXRlIHx8Ci0JCSAgICAhZHJtX2F0b21pY19j cnRjX25lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUtPmJhc2UpIHx8CisJCSAgICAhZHJtX2F0b21p Y19jcnRjX25lZWRzX21vZGVzZXQoJmNydGNfc3RhdGUtPnVhcGkpIHx8CiAJCSAgICBjcnRjX3N0 YXRlLT5ody5lbmFibGUpCiAJCQlyZXR1cm4gMDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwaW9fcGh5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RwaW9fcGh5LmMKaW5kZXggNTU2ZDFiMzBmMDZhLi43MDRmMzg2ODFj NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBpb19w aHkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwaW9fcGh5LmMK QEAgLTczOSw3ICs3MzksNyBAQCB2b2lkIGNodl9kYXRhX2xhbmVfc29mdF9yZXNldChzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAllbnVtIGRwaW9fY2hhbm5lbCBj aCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSkp OwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRj X3N0YXRlLT51YXBpLmNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIg dmFsOwogCkBAIC03ODMsNyArNzgzLDcgQEAgdm9pZCBjaHZfcGh5X3ByZV9wbGxfZW5hYmxlKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmRwb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0 ZS0+dWFwaS5jcnRjKTsKIAllbnVtIGRwaW9fY2hhbm5lbCBjaCA9IHZsdl9kcG9ydF90b19jaGFu bmVsKGRwb3J0KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJdW5zaWduZWQgaW50 IGxhbmVfbWFzayA9CkBAIC04NjQsNyArODY0LDcgQEAgdm9pZCBjaHZfcGh5X3ByZV9lbmNvZGVy X2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2 KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAllbnVtIGRwaW9fY2hhbm5lbCBjaCA9IHZsdl9kcG9ydF90 b19jaGFubmVsKGRwb3J0KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJaW50IGRh dGEsIGksIHN0YWdnZXI7CkBAIC05NTMsNyArOTUzLDcgQEAgdm9pZCBjaHZfcGh5X3Bvc3RfcGxs X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0JZW51 bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpLT5w aXBlOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFw aS5jcnRjKS0+cGlwZTsKIAl1MzIgdmFsOwogCiAJdmx2X2RwaW9fZ2V0KGRldl9wcml2KTsKQEAg LTEwMTYsNyArMTAxNiw3IEBAIHZvaWQgdmx2X3BoeV9wcmVfcGxsX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9y dCA9IGVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJZW51bSBkcGlvX2NoYW5uZWwgcG9ydCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGRw b3J0KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKQEAgLTEwNDYsNyArMTA0Niw3 IEBAIHZvaWQgdmx2X3BoeV9wcmVfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgm ZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZHBvcnQgPSBkcF90 b19kaWdfcG9ydChpbnRlbF9kcCk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJZW51bSBk cGlvX2NoYW5uZWwgcG9ydCA9IHZsdl9kcG9ydF90b19jaGFubmVsKGRwb3J0KTsKIAllbnVtIHBp cGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJdTMyIHZhbDsKQEAgLTEwNzUsNyArMTA3NSw3IEBAIHZv aWQgdmx2X3BoeV9yZXNldF9sYW5lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsK IAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkcG9ydCA9IGVuY190b19kaWdfcG9ydCgmZW5j b2Rlci0+YmFzZSk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAllbnVtIGRw aW9fY2hhbm5lbCBwb3J0ID0gdmx2X2Rwb3J0X3RvX2NoYW5uZWwoZHBvcnQpOwogCWVudW0gcGlw ZSBwaXBlID0gY3J0Yy0+cGlwZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kcGxsX21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kcGxsX21nci5jCmluZGV4IGVjMTBmYTdkM2M2OS4uMzNkYjFmNTliNDA2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwbGxfbWdyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcGxsX21nci5jCkBAIC0xMzYsNyAr MTM2LDcgQEAgdm9pZCBhc3NlcnRfc2hhcmVkX2RwbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogICovCiB2b2lkIGludGVsX3ByZXBhcmVfc2hhcmVkX2RwbGwoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRl dik7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSBjcnRjX3N0YXRlLT5zaGFyZWRf ZHBsbDsKIApAQCAtMTYzLDcgKzE2Myw3IEBAIHZvaWQgaW50ZWxfcHJlcGFyZV9zaGFyZWRfZHBs bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKICAqLwogdm9pZCBp bnRlbF9lbmFibGVfc2hhcmVkX2RwbGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNy dGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3NoYXJl ZF9kcGxsICpwbGwgPSBjcnRjX3N0YXRlLT5zaGFyZWRfZHBsbDsKIAl1bnNpZ25lZCBpbnQgY3J0 Y19tYXNrID0gZHJtX2NydGNfbWFzaygmY3J0Yy0+YmFzZSk7CkBAIC0yMDgsNyArMjA4LDcgQEAg dm9pZCBpbnRlbF9lbmFibGVfc2hhcmVkX2RwbGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiAgKi8KIHZvaWQgaW50ZWxfZGlzYWJsZV9zaGFyZWRfZHBsbChjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCA9IGNydGNfc3RhdGUtPnNo YXJlZF9kcGxsOwogCXVuc2lnbmVkIGludCBjcnRjX21hc2sgPSBkcm1fY3J0Y19tYXNrKCZjcnRj LT5iYXNlKTsKQEAgLTgyNyw3ICs4MjcsNyBAQCBoc3dfZGRpX2hkbWlfZ2V0X2RwbGwoc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiBzdGF0aWMgc3RydWN0IGludGVsX3NoYXJlZF9k cGxsICoKIGhzd19kZGlfZHBfZ2V0X2RwbGwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CiAJc3RydWN0IGlu dGVsX3NoYXJlZF9kcGxsICpwbGw7CiAJZW51bSBpbnRlbF9kcGxsX2lkIHBsbF9pZDsKIAlpbnQg Y2xvY2sgPSBjcnRjX3N0YXRlLT5wb3J0X2Nsb2NrOwpAQCAtMTczNiw3ICsxNzM2LDcgQEAgc3Rh dGljIGJvb2wKIGJ4dF9kZGlfaGRtaV9wbGxfZGl2aWRlcnMoc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJCQkgIHN0cnVjdCBieHRfY2xrX2RpdiAqY2xrX2RpdikKIHsKLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0 ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHBsbCBiZXN0X2Nsb2NrOwogCiAJLyogQ2FsY3VsYXRl IEhETUkgZGl2ICovCkBAIC0yMjU5LDcgKzIyNTksNyBAQCBzdGF0aWMgYm9vbAogY25sX2RkaV9j YWxjdWxhdGVfd3JwbGwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQlz dHJ1Y3Qgc2tsX3dycGxsX3BhcmFtcyAqd3JwbGxfcGFyYW1zKQogewotCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYp OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0 ZS0+dWFwaS5jcnRjLT5kZXYpOwogCXUzMiBhZmVfY2xvY2sgPSBjcnRjX3N0YXRlLT5wb3J0X2Ns b2NrICogNTsKIAl1MzIgcmVmX2Nsb2NrOwogCXUzMiBkY29fbWluID0gNzk5ODAwMDsKQEAgLTI1 MzgsNyArMjUzOCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2tsX3dycGxsX3BhcmFtcyB0Z2xf dGJ0X3BsbF8yNE1Iel92YWx1ZXMgPSB7CiBzdGF0aWMgYm9vbCBpY2xfY2FsY19kcF9jb21ib19w bGwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJICBzdHJ1Y3Qgc2ts X3dycGxsX3BhcmFtcyAqcGxsX3BhcmFtcykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0 Yy0+ZGV2KTsKIAljb25zdCBzdHJ1Y3QgaWNsX2NvbWJvX3BsbF9wYXJhbXMgKnBhcmFtcyA9CiAJ CWRldl9wcml2LT5jZGNsay5ody5yZWYgPT0gMjQwMDAgPwogCQlpY2xfZHBfY29tYm9fcGxsXzI0 TUh6X3ZhbHVlcyA6CkBAIC0yNTYwLDcgKzI1NjAsNyBAQCBzdGF0aWMgYm9vbCBpY2xfY2FsY19k cF9jb21ib19wbGwoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiBzdGF0aWMg Ym9vbCBpY2xfY2FsY190YnRfcGxsKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAogCQkJICAgICBzdHJ1Y3Qgc2tsX3dycGxsX3BhcmFtcyAqcGxsX3BhcmFtcykKIHsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDEyKSB7CiAJCXN3aXRjaCAoZGV2X3ByaXYtPmNkY2xrLmh3LnJlZikgewpAQCAtMjU5Nyw3 ICsyNTk3LDcgQEAgc3RhdGljIGJvb2wgaWNsX2NhbGNfZHBsbF9zdGF0ZShzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKIAkJCQlzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSAqcGxsX3N0YXRlKQogewotCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCXUzMiBjZmdjcjAsIGNmZ2NyMTsKIAlzdHJ1 Y3Qgc2tsX3dycGxsX3BhcmFtcyBwbGxfcGFyYW1zID0geyAwIH07CiAJYm9vbCByZXQ7CkBAIC0y NzI5LDcgKzI3MjksNyBAQCBzdGF0aWMgYm9vbCBpY2xfbWdfcGxsX2ZpbmRfZGl2aXNvcnMoaW50 IGNsb2NrX2toeiwgYm9vbCBpc19kcCwgYm9vbCB1c2Vfc3NjLAogc3RhdGljIGJvb2wgaWNsX2Nh bGNfbWdfcGxsX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJ CSAgc3RydWN0IGludGVsX2RwbGxfaHdfc3RhdGUgKnBsbF9zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNf c3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKIAlpbnQgcmVmY2xrX2toeiA9IGRldl9wcml2LT5jZGNs ay5ody5yZWY7CiAJaW50IGNsb2NrID0gY3J0Y19zdGF0ZS0+cG9ydF9jbG9jazsKIAl1MzIgZGNv X2toeiwgbTFkaXYsIG0yZGl2X2ludCwgbTJkaXZfcmVtLCBtMmRpdl9mcmFjOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kdm8uYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHZvLmMKaW5kZXggYTY4ZTVjNWI5MWI0Li4yODc3MGM1 NzY1YWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHZv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kdm8uYwpAQCAtMjc3 LDcgKzI3Nyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2R2b19wcmVfZW5hYmxlKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMpOwogCWNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5ody5h ZGp1c3RlZF9tb2RlOwogCXN0cnVjdCBpbnRlbF9kdm8gKmludGVsX2R2byA9IGVuY190b19kdm8o ZW5jb2Rlcik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYwppbmRleCAyNWI0NDU2YmZkNjAuLjUzNzFjNGUxMTdi OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMKQEAgLTI4NSw3 ICsyODUsNyBAQCBzdGF0aWMgdm9pZCBpYnhfd3JpdGVfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogewogCWNvbnN0IHUzMiAqZGF0YSA9IGZyYW1lOwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwot CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJ UF9DVEwoaW50ZWxfY3J0Yy0+cGlwZSk7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwogCWlu dCBpOwpAQCAtMzIxLDcgKzMyMSw3IEBAIHN0YXRpYyB2b2lkIGlieF9yZWFkX2luZm9mcmFtZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgICB2b2lkICpmcmFtZSwgc3Np emVfdCBsZW4pCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShlbmNvZGVyLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJdTMyIHZhbCwgKmRhdGEg PSBmcmFtZTsKIAlpbnQgaTsKIApAQCAtMzQwLDcgKzM0MCw3IEBAIHN0YXRpYyB1MzIgaWJ4X2lu Zm9mcmFtZXNfZW5hYmxlZChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgIGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQll bnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0YyktPnBp cGU7CisJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNy dGMpLT5waXBlOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJUF9DVEwocGlwZSk7CiAJdTMy IHZhbCA9IEk5MTVfUkVBRChyZWcpOwogCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIHZvaWQg Y3B0X3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsKIAlj b25zdCB1MzIgKmRhdGEgPSBmcmFtZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5j cnRjKTsKIAlpOTE1X3JlZ190IHJlZyA9IFRWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUp OwogCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKIAlpbnQgaTsKQEAgLTQwMSw3ICs0MDEsNyBA QCBzdGF0aWMgdm9pZCBjcHRfcmVhZF9pbmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCiAJCQkgICAgICAgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwot CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLT51YXBpLmNydGMpOwogCXUzMiB2YWwsICpkYXRhID0gZnJhbWU7CiAJaW50IGk7CiAKQEAg LTQyMCw3ICs0MjAsNyBAQCBzdGF0aWMgdTMyIGNwdF9pbmZvZnJhbWVzX2VuYWJsZWQoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRl bF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpLT5waXBlOworCWVudW0gcGlwZSBwaXBlID0g dG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKS0+cGlwZTsKIAl1MzIgdmFsID0g STkxNV9SRUFEKFRWSURFT19ESVBfQ1RMKHBpcGUpKTsKIAogCWlmICgodmFsICYgVklERU9fRElQ X0VOQUJMRSkgPT0gMCkKQEAgLTQzOCw3ICs0MzgsNyBAQCBzdGF0aWMgdm9pZCB2bHZfd3JpdGVf aW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogewogCWNvbnN0IHUzMiAq ZGF0YSA9IGZyYW1lOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCWk5 MTVfcmVnX3QgcmVnID0gVkxWX1RWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwogCXUz MiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKIAlpbnQgaTsKQEAgLTQ3NCw3ICs0NzQsNyBAQCBzdGF0 aWMgdm9pZCB2bHZfcmVhZF9pbmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCQkgICAgICAgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMp OworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCXUzMiB2YWwsICpkYXRhID0gZnJhbWU7CiAJaW50IGk7CiAKQEAgLTQ5Myw3 ICs0OTMsNyBAQCBzdGF0aWMgdTMyIHZsdl9pbmZvZnJhbWVzX2VuYWJsZWQoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq cGlwZV9jb25maWcpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7Ci0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRj KHBpcGVfY29uZmlnLT5iYXNlLmNydGMpLT5waXBlOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50 ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKS0+cGlwZTsKIAl1MzIgdmFsID0gSTkxNV9S RUFEKFZMVl9UVklERU9fRElQX0NUTChwaXBlKSk7CiAKIAlpZiAoKHZhbCAmIFZJREVPX0RJUF9F TkFCTEUpID09IDApCkBAIC05NjUsNyArOTY1LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfaGRtaV9z ZXRfZ2NwX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkJIGNv bnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwot CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLT51YXBpLmNydGMpOwogCWk5MTVfcmVnX3QgcmVnOwogCiAJaWYgKChjcnRjX3N0YXRlLT5p bmZvZnJhbWVzLmVuYWJsZSAmCkBAIC05OTAsNyArOTkwLDcgQEAgdm9pZCBpbnRlbF9oZG1pX3Jl YWRfZ2NwX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsK KwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFw aS5jcnRjKTsKIAlpOTE1X3JlZ190IHJlZzsKIAogCWlmICgoY3J0Y19zdGF0ZS0+aW5mb2ZyYW1l cy5lbmFibGUgJgpAQCAtMTAzNyw3ICsxMDM3LDcgQEAgc3RhdGljIHZvaWQgaWJ4X3NldF9pbmZv ZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgIGNvbnN0IHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhj cnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgaW50 ZWxfaGRtaSAqaW50ZWxfaGRtaSA9ICZpbnRlbF9kaWdfcG9ydC0+aGRtaTsKIAlpOTE1X3JlZ190 IHJlZyA9IFRWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwpAQCAtMTA5Niw3ICsxMDk2 LDcgQEAgc3RhdGljIHZvaWQgY3B0X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpj b25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0 cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXIt PmJhc2UpOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0Yy0+cGlw ZSk7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwpAQCAtMTE0NSw3ICsxMTQ1LDcgQEAgc3Rh dGljIHZvaWQgdmx2X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rl ci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRl bF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwog CWk5MTVfcmVnX3QgcmVnID0gVkxWX1RWSURFT19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwog CXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKQEAgLTE3MzYsNyArMTczNiw3IEBAIHN0YXRpYyB2 b2lkIGludGVsX2hkbWlfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHsK IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVj dCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMp OwogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVu Y29kZXItPmJhc2UpOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9t b2RlID0gJmNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CiAJdTMyIGhkbWlfdmFsOwpAQCAt MTg2MCw3ICsxODYwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2hkbWlfYXVkaW8oc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCQkgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0 b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19p bnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsKIAogCVdBUk5fT04o IXBpcGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rKTsKIAlEUk1fREVCVUdfRFJJVkVSKCJFbmFibGlu ZyBIRE1JIGF1ZGlvIG9uIHBpcGUgJWNcbiIsCkBAIC0xOTQ2LDcgKzE5NDYsNyBAQCBzdGF0aWMg dm9pZCBjcHRfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7CisJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMp OwogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVu Y29kZXItPmJhc2UpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIgdGVtcDsK QEAgLTIwMTAsNyArMjAxMCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfaGRtaShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRt aSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9CiAJCWhkbWlfdG9fZGlnX3BvcnQoaW50ZWxfaGRt aSk7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0 YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhvbGRfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAl1MzIgdGVtcDsKIAogCXRlbXAgPSBJOTE1 X1JFQUQoaW50ZWxfaGRtaS0+aGRtaV9yZWcpOwpAQCAtMjIxMCw4ICsyMjEwLDggQEAgc3RhdGlj IGJvb2wgaGRtaV9kZWVwX2NvbG9yX3Bvc3NpYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLAogCQkJCSAgICAgaW50IGJwYykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPQotCQl0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2 KTsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0 YXRlOworCQl0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT51YXBpLnN0YXRlOwogCXN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CiAJc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcjsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRf bW9kZSA9CkBAIC0yMjQwLDcgKzIyNDAsNyBAQCBzdGF0aWMgYm9vbCBoZG1pX2RlZXBfY29sb3Jf cG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJZm9y X2VhY2hfbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jf c3RhdGUsIGkpIHsKIAkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29u bmVjdG9yLT5kaXNwbGF5X2luZm87CiAKLQkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAhPSBj cnRjX3N0YXRlLT5iYXNlLmNydGMpCisJCWlmIChjb25uZWN0b3Jfc3RhdGUtPmNydGMgIT0gY3J0 Y19zdGF0ZS0+dWFwaS5jcnRjKQogCQkJY29udGludWU7CiAKIAkJaWYgKGNydGNfc3RhdGUtPm91 dHB1dF9mb3JtYXQgPT0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCkgewpAQCAtMjI4MSw3 ICsyMjgxLDcgQEAgc3RhdGljIGJvb2wKIGludGVsX2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY29uZmlnKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0Yyhjb25maWctPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMg PSB0b19pbnRlbF9jcnRjKGNvbmZpZy0+dWFwaS5jcnRjKTsKIAogCWlmICghY29ubmVjdG9yLT55 Y2Jjcl80MjBfYWxsb3dlZCkgewogCQlEUk1fRVJST1IoIlBsYXRmb3JtIGRvZXNuJ3Qgc3VwcG9y dCBZQ0JDUjQyMCBvdXRwdXRcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2x2ZHMuYwppbmRleCBmMTdkNmUwMjQ2MGYuLmNhNGViYjBmMjIzMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9sdmRzLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9sdmRzLmMKQEAgLTIzMCw3ICsyMzAsNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9wcmVfZW5hYmxlX2x2ZHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiB7CiAJc3RydWN0IGludGVsX2x2ZHNfZW5jb2RlciAqbHZkc19lbmNvZGVyID0gdG9fbHZkc19l bmNvZGVyKCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVs X2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMpOwogCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmln LT5ody5hZGp1c3RlZF9tb2RlOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIg dGVtcDsKQEAgLTM5Myw3ICszOTMsNyBAQCBzdGF0aWMgaW50IGludGVsX2x2ZHNfY29tcHV0ZV9j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCiAJc3RydWN0IGludGVs X2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0KIAkJbHZkc19lbmNvZGVyLT5hdHRhY2hlZF9j b25uZWN0b3I7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlw ZV9jb25maWctPmh3LmFkanVzdGVkX21vZGU7Ci0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRl bF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRj KTsKIAl1bnNpZ25lZCBpbnQgbHZkc19icHA7CiAKIAkvKiBTaG91bGQgbmV2ZXIgaGFwcGVuISEg Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwuYwppbmRleCA1ZTNm ZDM3ZDk0NzEuLjZmM2VhYWUzNzYxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfcGFuZWwuYwpAQCAtMTA0Nyw3ICsxMDQ3LDcgQEAgc3RhdGljIHZvaWQgdmx2X2VuYWJs ZV9iYWNrbGlnaHQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJ c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGNv bm5fc3RhdGUtPmNvbm5lY3Rvcik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBh bmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7Ci0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRj KGNydGNfc3RhdGUtPmJhc2UuY3J0YyktPnBpcGU7CisJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0YyktPnBpcGU7CiAJdTMyIGN0bCwgY3RsMjsKIAog CWN0bDIgPSBJOTE1X1JFQUQoVkxWX0JMQ19QV01fQ1RMMihwaXBlKSk7CkBAIC0xMDc3LDcgKzEw NzcsNyBAQCBzdGF0aWMgdm9pZCBieHRfZW5hYmxlX2JhY2tsaWdodChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5k ZXYpOwogCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKLQll bnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKS0+cGlw ZTsKKwllbnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KS0+cGlwZTsKIAl1MzIgcHdtX2N0bCwgdmFsOwogCiAJLyogQ29udHJvbGxlciAxIHVzZXMgdGhl IHV0aWxpdHkgcGluLiAqLwpAQCAtMTE4OSw3ICsxMTg5LDcgQEAgdm9pZCBpbnRlbF9wYW5lbF9l bmFibGVfYmFja2xpZ2h0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9IHRvX2ludGVsX2Nvbm5lY3Rv cihjb25uX3N0YXRlLT5jb25uZWN0b3IpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3BhbmVs ICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwotCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxf Y3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpLT5waXBlOworCWVudW0gcGlwZSBwaXBlID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpLT5waXBlOwogCiAJaWYgKCFwYW5lbC0+ YmFja2xpZ2h0LnByZXNlbnQpCiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGlwZV9jcmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfcGlwZV9jcmMuYwppbmRleCBmYzYwMjUzM2E2MDIuLjI3NDY1MTJmNDQ2NiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9waXBlX2NyYy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGlwZV9jcmMuYwpAQCAt MzA5LDEzICszMDksMTMgQEAgaW50ZWxfY3J0Y19jcmNfc2V0dXBfd29ya2Fyb3VuZHMoc3RydWN0 IGludGVsX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQogCQlnb3RvIHB1dF9zdGF0ZTsKIAl9CiAK LQlwaXBlX2NvbmZpZy0+YmFzZS5tb2RlX2NoYW5nZWQgPSBwaXBlX2NvbmZpZy0+aGFzX3BzcjsK KwlwaXBlX2NvbmZpZy0+dWFwaS5tb2RlX2NoYW5nZWQgPSBwaXBlX2NvbmZpZy0+aGFzX3BzcjsK IAlwaXBlX2NvbmZpZy0+Y3JjX2VuYWJsZWQgPSBlbmFibGU7CiAKIAlpZiAoSVNfSEFTV0VMTChk ZXZfcHJpdikgJiYKIAkgICAgcGlwZV9jb25maWctPmh3LmFjdGl2ZSAmJiBjcnRjLT5waXBlID09 IFBJUEVfQSAmJgogCSAgICBwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIgPT0gVFJBTlNDT0RF Ul9FRFApCi0JCXBpcGVfY29uZmlnLT5iYXNlLm1vZGVfY2hhbmdlZCA9IHRydWU7CisJCXBpcGVf Y29uZmlnLT51YXBpLm1vZGVfY2hhbmdlZCA9IHRydWU7CiAKIAlyZXQgPSBkcm1fYXRvbWljX2Nv bW1pdChzdGF0ZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCmlu ZGV4IDYyYTkwYjVhZWU4Zi4uNzNlMzg5ZTg2ODcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfcHNyLmMKQEAgLTgxMyw3ICs4MTMsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9w c3JfZW5hYmxlX2xvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlk ZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCA9IGludGVsX3BzcjJfZW5hYmxlZChkZXZfcHJpdiwg Y3J0Y19zdGF0ZSk7CiAJZGV2X3ByaXYtPnBzci5idXN5X2Zyb250YnVmZmVyX2JpdHMgPSAwOwot CWRldl9wcml2LT5wc3IucGlwZSA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KS0+cGlwZTsKKwlkZXZfcHJpdi0+cHNyLnBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PnVhcGkuY3J0YyktPnBpcGU7CiAJZGV2X3ByaXYtPnBzci5kYzNjb19lbmFibGVkID0gISFjcnRj X3N0YXRlLT5kYzNjb19leGl0bGluZTsKIAlkZXZfcHJpdi0+cHNyLmRjM2NvX2V4aXRfZGVsYXkg PSBpbnRlbF9nZXRfZnJhbWVfdGltZV91cyhjcnRjX3N0YXRlKTsKIAlkZXZfcHJpdi0+cHNyLnRy YW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKQEAgLTEwNjAsNyArMTA2MCw3 IEBAIHZvaWQgaW50ZWxfcHNyX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogaW50 IGludGVsX3Bzcl93YWl0X2Zvcl9pZGxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpu ZXdfY3J0Y19zdGF0ZSwKIAkJCSAgICB1MzIgKm91dF92YWx1ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0YXRlLT51 YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Yy0+YmFzZS5kZXYpOwogCiAJaWYgKCFkZXZfcHJpdi0+cHNyLmVuYWJsZWQgfHwgIW5ld19j cnRjX3N0YXRlLT5oYXNfcHNyKQpAQCAtMTEzOSw3ICsxMTM5LDcgQEAgc3RhdGljIGludCBpbnRl bF9wc3JfZmFzdHNldF9mb3JjZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAK IAkJaWYgKGNydGNfc3RhdGUtPmh3LmFjdGl2ZSAmJiBjcnRjX3N0YXRlLT5oYXNfcHNyKSB7CiAJ CQkvKiBNYXJrIG1vZGUgYXMgY2hhbmdlZCB0byB0cmlnZ2VyIGEgcGlwZS0+dXBkYXRlKCkgKi8K LQkJCWNydGNfc3RhdGUtPmJhc2UubW9kZV9jaGFuZ2VkID0gdHJ1ZTsKKwkJCWNydGNfc3RhdGUt PnVhcGkubW9kZV9jaGFuZ2VkID0gdHJ1ZTsKIAkJCWJyZWFrOwogCQl9CiAJfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nkdm8uYwppbmRleCA5N2FlOGNjMTMxNGUuLjEwNDcz NTdjMTVjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9z ZHZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9zZHZvLmMKQEAg LTE0MjksNyArMTQyOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nkdm9fcHJlX2VuYWJsZShzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKIAkJCQkgIGNvbnN0IHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZW5jb2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwor CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBp LmNydGMpOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0g JmNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CiAJY29uc3Qgc3RydWN0IGludGVsX3Nkdm9f Y29ubmVjdG9yX3N0YXRlICpzZHZvX3N0YXRlID0KIAkJdG9faW50ZWxfc2R2b19jb25uZWN0b3Jf c3RhdGUoY29ubl9zdGF0ZSk7CkBAIC0xNzIzLDcgKzE3MjMsNyBAQCBzdGF0aWMgdm9pZCBpbnRl bF9kaXNhYmxlX3Nkdm8oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 CiAJc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8gPSB0b19zZHZvKGVuY29kZXIpOwotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhvbGRfY3J0Y19zdGF0ZS0+YmFz ZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMob2xkX2Ny dGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJdTMyIHRlbXA7CiAKIAlpZiAob2xkX2NydGNfc3RhdGUt Pmhhc19hdWRpbykKQEAgLTE3ODUsNyArMTc4NSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJs ZV9zZHZvKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8gPSB0 b19zZHZvKGVuY29kZXIpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJdTMyIHRl bXA7CiAJYm9vbCBpbnB1dDEsIGlucHV0MjsKIAlpbnQgaTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5jCmluZGV4IGVmMGNhN2M2ZDExZi4uZmE2ODdjMDViMWVk IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Nwcml0ZS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfc3ByaXRlLmMKQEAgLTgx LDcgKzgxLDcgQEAgaW50IGludGVsX3VzZWNzX3RvX3NjYW5saW5lcyhjb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSwKICAqLwogdm9pZCBpbnRlbF9waXBlX3VwZGF0 ZV9zdGFydChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCiB7 Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0YXRl LT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhu ZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZuZXdfY3J0Y19zdGF0ZS0+aHcuYWRqdXN0ZWRfbW9k ZTsKIAlsb25nIHRpbWVvdXQgPSBtc2Vjc190b19qaWZmaWVzX3RpbWVvdXQoMSk7CkBAIC0xOTAs NyArMTkwLDcgQEAgdm9pZCBpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUpCiAgKi8KIHZvaWQgaW50ZWxfcGlwZV91cGRh dGVfZW5kKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPmJhc2Uu Y3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRj X3N0YXRlLT51YXBpLmNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAlpbnQg c2NhbmxpbmVfZW5kID0gaW50ZWxfZ2V0X2NydGNfc2NhbmxpbmUoY3J0Yyk7CiAJdTMyIGVuZF92 YmxfY291bnQgPSBpbnRlbF9jcnRjX2dldF92YmxhbmtfY291bnRlcihjcnRjKTsKQEAgLTIwMywx NCArMjAzLDE1IEBAIHZvaWQgaW50ZWxfcGlwZV91cGRhdGVfZW5kKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIAkgKiBXb3VsZCBiZSBzbGlnaHRseSBuaWNlIHRvIGp1 c3QgZ3JhYiB0aGUgdmJsYW5rIGNvdW50IGFuZCBhcm0gdGhlCiAJICogZXZlbnQgb3V0c2lkZSBv ZiB0aGUgY3JpdGljYWwgc2VjdGlvbiAtIHRoZSBzcGlubG9jayBtaWdodCBzcGluIGZvciBhCiAJ ICogd2hpbGUgLi4uICovCi0JaWYgKG5ld19jcnRjX3N0YXRlLT5iYXNlLmV2ZW50KSB7CisJaWYg KG5ld19jcnRjX3N0YXRlLT51YXBpLmV2ZW50KSB7CiAJCVdBUk5fT04oZHJtX2NydGNfdmJsYW5r X2dldCgmY3J0Yy0+YmFzZSkgIT0gMCk7CiAKIAkJc3Bpbl9sb2NrKCZjcnRjLT5iYXNlLmRldi0+ ZXZlbnRfbG9jayk7Ci0JCWRybV9jcnRjX2FybV92YmxhbmtfZXZlbnQoJmNydGMtPmJhc2UsIG5l d19jcnRjX3N0YXRlLT5iYXNlLmV2ZW50KTsKKwkJZHJtX2NydGNfYXJtX3ZibGFua19ldmVudCgm Y3J0Yy0+YmFzZSwKKwkJCQkgICAgICAgICAgbmV3X2NydGNfc3RhdGUtPnVhcGkuZXZlbnQpOwog CQlzcGluX3VubG9jaygmY3J0Yy0+YmFzZS5kZXYtPmV2ZW50X2xvY2spOwogCi0JCW5ld19jcnRj X3N0YXRlLT5iYXNlLmV2ZW50ID0gTlVMTDsKKwkJbmV3X2NydGNfc3RhdGUtPnVhcGkuZXZlbnQg PSBOVUxMOwogCX0KIAogCWxvY2FsX2lycV9lbmFibGUoKTsKQEAgLTE1ODYsNyArMTU4Nyw3IEBA IGc0eF9zcHJpdGVfY2hlY2soc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJ fQogCiAJcmV0ID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUoJnBsYW5lX3N0 YXRlLT5iYXNlLAotCQkJCQkJICAmY3J0Y19zdGF0ZS0+YmFzZSwKKwkJCQkJCSAgJmNydGNfc3Rh dGUtPnVhcGksCiAJCQkJCQkgIG1pbl9zY2FsZSwgbWF4X3NjYWxlLAogCQkJCQkJICB0cnVlLCB0 cnVlKTsKIAlpZiAocmV0KQpAQCAtMTY0Myw3ICsxNjQ0LDcgQEAgdmx2X3Nwcml0ZV9jaGVjayhz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcmV0dXJuIHJldDsKIAogCXJl dCA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrX3BsYW5lX3N0YXRlKCZwbGFuZV9zdGF0ZS0+YmFz ZSwKLQkJCQkJCSAgJmNydGNfc3RhdGUtPmJhc2UsCisJCQkJCQkgICZjcnRjX3N0YXRlLT51YXBp LAogCQkJCQkJICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCiAJCQkJCQkgIERSTV9QTEFO RV9IRUxQRVJfTk9fU0NBTElORywKIAkJCQkJCSAgdHJ1ZSwgdHJ1ZSk7CkBAIC0xODA4LDcgKzE4 MDksNyBAQCBzdGF0aWMgaW50IHNrbF9wbGFuZV9jaGVjayhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKIAl9CiAKIAlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFu ZV9zdGF0ZSgmcGxhbmVfc3RhdGUtPmJhc2UsCi0JCQkJCQkgICZjcnRjX3N0YXRlLT5iYXNlLAor CQkJCQkJICAmY3J0Y19zdGF0ZS0+dWFwaSwKIAkJCQkJCSAgbWluX3NjYWxlLCBtYXhfc2NhbGUs CiAJCQkJCQkgIHRydWUsIHRydWUpOwogCWlmIChyZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3R2LmMKaW5kZXggZTgwMGQ0NWI4MTNkLi40NDk5ZDQwMmMzMTYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdHYuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3R2LmMKQEAgLTkyNCw3ICs5MjQsNyBAQCBpbnRl bF9lbmFibGVfdHYoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAKIAkvKiBQcmV2ZW50 cyB2Ymxhbmsgd2FpdHMgZnJvbSB0aW1pbmcgb3V0IGluIGludGVsX3R2X2RldGVjdF90eXBlKCkg Ki8KIAlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2X3ByaXYsCi0JCQkgICAgICB0b19pbnRlbF9j cnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpLT5waXBlKTsKKwkJCSAgICAgIHRvX2ludGVsX2Ny dGMocGlwZV9jb25maWctPnVhcGkuY3J0YyktPnBpcGUpOwogCiAJSTkxNV9XUklURShUVl9DVEws IEk5MTVfUkVBRChUVl9DVEwpIHwgVFZfRU5DX0VOQUJMRSk7CiB9CkBAIC0xNDE3LDcgKzE0MTcs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF90dl9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5j b2Rlci0+YmFzZS5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJc3RydWN0 IGludGVsX3R2ICppbnRlbF90diA9IGVuY190b190dihlbmNvZGVyKTsKIAljb25zdCBzdHJ1Y3Qg aW50ZWxfdHZfY29ubmVjdG9yX3N0YXRlICp0dl9jb25uX3N0YXRlID0KIAkJdG9faW50ZWxfdHZf Y29ubmVjdG9yX3N0YXRlKGNvbm5fc3RhdGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX3Zkc2MuYwppbmRleCA3NTdiMjc2ZWIzZmMuLjljYjM2Zjg1NWYwNyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMKQEAgLTQ1OSw3ICs0NTksNyBAQCBp bnQgaW50ZWxfZHBfY29tcHV0ZV9kc2NfcGFyYW1zKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs CiBlbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluCiBpbnRlbF9kc2NfcG93ZXJfZG9tYWlu KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGNydGNfc3RhdGUt PnVhcGkuY3J0Yy0+ZGV2KTsKIAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRj X3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKIAogCS8qCkBAIC00ODMsNyArNDgzLDcgQEAgaW50ZWxf ZHNjX3Bvd2VyX2RvbWFpbihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHN0YXRpYyB2b2lkIGludGVsX2NvbmZpZ3VyZV9wcHNfZm9yX2RzY19lbmNvZGVyKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRl bF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJY29uc3Qg c3RydWN0IGRybV9kc2NfY29uZmlnICp2ZHNjX2NmZyA9ICZjcnRjX3N0YXRlLT5kc2MuY29uZmln OwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKQEAgLTkwMiw3ICs5MDIsNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kcF93cml0ZV9kc2NfcHBzX3NkcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIHZvaWQgaW50ZWxfZHNjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlciwKIAkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp CiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNy dGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5w aXBlOwogCWk5MTVfcmVnX3QgZHNzX2N0bDFfcmVnLCBkc3NfY3RsMl9yZWc7CkBAIC05MzgsNyAr OTM4LDcgQEAgdm9pZCBpbnRlbF9kc2NfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAogCiB2b2lkIGludGVsX2RzY19kaXNhYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMob2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwog CWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAlpOTE1X3JlZ190IGRzc19jdGwxX3JlZywg ZHNzX2N0bDJfcmVnOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS92 bHZfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9kc2kuYwppbmRleCAz YmY4MzgyNzlmYzIuLjE2ZjkzZDFlNzFlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS92bHZfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS92 bHZfZHNpLmMKQEAgLTI2MSw3ICsyNjEsNyBAQCBzdGF0aWMgaW50IGludGVsX2RzaV9jb21wdXRl X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBjb250YWluZXJfb2YoZW5jb2Rlciwgc3RydWN0IGludGVsX2RzaSwKIAkJ CQkJCSAgIGJhc2UpOwogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9 IGludGVsX2RzaS0+YXR0YWNoZWRfY29ubmVjdG9yOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmZpeGVkX21vZGUgPSBpbnRlbF9jb25uZWN0b3It PnBhbmVsLmZpeGVkX21vZGU7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUgPSAmcGlwZV9jb25maWctPmh3LmFkanVzdGVkX21vZGU7CiAJaW50IHJldDsKQEAgLTYyNCw3 ICs2MjQsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfcG9ydF9lbmFibGUoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKIAllbnVt IHBvcnQgcG9ydDsKIApAQCAtNzQ2LDcgKzc0Niw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9w cmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKLQlzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMgPSBwaXBlX2NvbmZpZy0+YmFzZS5jcnRjOworCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YyA9IHBpcGVfY29uZmlnLT51YXBpLmNydGM7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKIAllbnVtIHBpcGUgcGlwZSA9IGludGVs X2NydGMtPnBpcGU7CkBAIC0xMDM0LDcgKzEwMzQsNyBAQCBzdGF0aWMgdm9pZCBieHRfZHNpX2dl dF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9CiAJCQkJCSZwaXBlX2NvbmZpZy0+aHcuYWRq dXN0ZWRfbW9kZTsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZV9zdzsK LQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJh c2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVf Y29uZmlnLT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190 b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwogCXVuc2lnbmVkIGludCBsYW5lX2NvdW50ID0g aW50ZWxfZHNpLT5sYW5lX2NvdW50OwogCXVuc2lnbmVkIGludCBicHAsIGZtdDsKQEAgLTEzMTUs NyArMTMxNSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RzaV9wcmVwYXJlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyLAogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZp bnRlbF9lbmNvZGVyLT5iYXNlOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5k ZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwot CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZp Zy0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGludGVsX2RzaSAqaW50ZWxf ZHNpID0gZW5jX3RvX2ludGVsX2RzaShlbmNvZGVyKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+aHcuYWRqdXN0ZWRfbW9kZTsK IAllbnVtIHBvcnQgcG9ydDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggMTRj ZmJhMjY2NTg1Li43MjZkZWRkMmNhYmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j CkBAIC00MTYwLDcgKzQxNjAsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJyc19jdGxfc2V0KHZvaWQg KmRhdGEsIHU2NCB2YWwpCiAJCSAgICAhY3J0Y19zdGF0ZS0+aGFzX2RycnMpCiAJCQlnb3RvIG91 dDsKIAotCQljb21taXQgPSBjcnRjX3N0YXRlLT5iYXNlLmNvbW1pdDsKKwkJY29tbWl0ID0gY3J0 Y19zdGF0ZS0+dWFwaS5jb21taXQ7CiAJCWlmIChjb21taXQpIHsKIAkJCXJldCA9IHdhaXRfZm9y X2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgmY29tbWl0LT5od19kb25lKTsKIAkJCWlmIChyZXQp CkBAIC00MTcyLDcgKzQxNzIsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJyc19jdGxfc2V0KHZvaWQg KmRhdGEsIHU2NCB2YWwpCiAJCQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKIAkJCXN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHA7CiAKLQkJCWlmICghKGNydGNfc3RhdGUtPmJhc2UuY29u bmVjdG9yX21hc2sgJgorCQkJaWYgKCEoY3J0Y19zdGF0ZS0+dWFwaS5jb25uZWN0b3JfbWFzayAm CiAJCQkgICAgICBkcm1fY29ubmVjdG9yX21hc2soY29ubmVjdG9yKSkpCiAJCQkJY29udGludWU7 CiAKQEAgLTQyMzEsNyArNDIzMSw3IEBAIGk5MTVfZmlmb191bmRlcnJ1bl9yZXNldF93cml0ZShz dHJ1Y3QgZmlsZSAqZmlscCwKIAkJCXJldHVybiByZXQ7CiAKIAkJY3J0Y19zdGF0ZSA9IHRvX2lu dGVsX2NydGNfc3RhdGUoaW50ZWxfY3J0Yy0+YmFzZS5zdGF0ZSk7Ci0JCWNvbW1pdCA9IGNydGNf c3RhdGUtPmJhc2UuY29tbWl0OworCQljb21taXQgPSBjcnRjX3N0YXRlLT51YXBpLmNvbW1pdDsK IAkJaWYgKGNvbW1pdCkgewogCQkJcmV0ID0gd2FpdF9mb3JfY29tcGxldGlvbl9pbnRlcnJ1cHRp YmxlKCZjb21taXQtPmh3X2RvbmUpOwogCQkJaWYgKCFyZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YwppbmRleCA1YzlhNjFmMzhmN2EuLmExNWE2NzlmYWFlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jCkBAIC00NjUsNyArNDY1LDcgQEAgc3RhdGljIGNvbnN0IGludCBwZXNzaW1hbF9sYXRlbmN5 X25zID0gNTAwMDsKIAogc3RhdGljIHZvaWQgdmx2X2dldF9maWZvX3NpemUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJc3Ry dWN0IHZsdl9maWZvX3N0YXRlICpmaWZvX3N0YXRlID0gJmNydGNfc3RhdGUtPndtLnZsdi5maWZv X3N0YXRlOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKQEAgLTExNDUsNyArMTE0NSw3 IEBAIHN0YXRpYyB1MTYgZzR4X2NvbXB1dGVfd20oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiBzdGF0aWMgYm9vbCBnNHhfcmF3X3BsYW5lX3dtX3NldChzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgaW50IGxldmVsLCBlbnVtIHBsYW5l X2lkIHBsYW5lX2lkLCB1MTYgdmFsdWUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMt PmRldik7CiAJYm9vbCBkaXJ0eSA9IGZhbHNlOwogCiAJZm9yICg7IGxldmVsIDwgaW50ZWxfd21f bnVtX2xldmVscyhkZXZfcHJpdik7IGxldmVsKyspIHsKQEAgLTExNjEsNyArMTE2MSw3IEBAIHN0 YXRpYyBib29sIGc0eF9yYXdfcGxhbmVfd21fc2V0KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAogc3RhdGljIGJvb2wgZzR4X3Jhd19mYmNfd21fc2V0KHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICAgICAgIGludCBsZXZlbCwgdTE2IHZhbHVlKQog ewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0 ZS0+YmFzZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwogCWJvb2wgZGlydHkgPSBmYWxz ZTsKIAogCS8qIE5PUk1BTCBsZXZlbCBkb2Vzbid0IGhhdmUgYW4gRkJDIHdhdGVybWFyayAqLwpA QCAtMTI2Myw3ICsxMjYzLDcgQEAgc3RhdGljIGJvb2wgZzR4X3Jhd19wbGFuZV93bV9pc192YWxp ZChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIHN0YXRpYyBib29s IGc0eF9yYXdfY3J0Y193bV9pc192YWxpZChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKIAkJCQkgICAgIGludCBsZXZlbCkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVh cGkuY3J0Yy0+ZGV2KTsKIAogCWlmIChsZXZlbCA+IGRldl9wcml2LT53bS5tYXhfbGV2ZWwpCiAJ CXJldHVybiBmYWxzZTsKQEAgLTEzMDEsOSArMTMwMSw5IEBAIHN0YXRpYyB2b2lkIGc0eF9pbnZh bGlkYXRlX3dtcyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAogc3RhdGljIGludCBnNHhfY29t cHV0ZV9waXBlX3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT51YXBpLmNydGMpOwogCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlID0KLQkJdG9f aW50ZWxfYXRvbWljX3N0YXRlKGNydGNfc3RhdGUtPmJhc2Uuc3RhdGUpOworCQl0b19pbnRlbF9h dG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZSk7CiAJc3RydWN0IGc0eF93bV9zdGF0 ZSAqd21fc3RhdGUgPSAmY3J0Y19zdGF0ZS0+d20uZzR4Lm9wdGltYWw7CiAJaW50IG51bV9hY3Rp dmVfcGxhbmVzID0gaHdlaWdodDgoY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcyAmCiAJCQkJCSB+ QklUKFBMQU5FX0NVUlNPUikpOwpAQCAtMTM5MCwxNyArMTM5MCwxNyBAQCBzdGF0aWMgaW50IGc0 eF9jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAK IHN0YXRpYyBpbnQgZzR4X2NvbXB1dGVfaW50ZXJtZWRpYXRlX3dtKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0 cnVjdCBnNHhfd21fc3RhdGUgKmludGVybWVkaWF0ZSA9ICZuZXdfY3J0Y19zdGF0ZS0+d20uZzR4 LmludGVybWVkaWF0ZTsKIAljb25zdCBzdHJ1Y3QgZzR4X3dtX3N0YXRlICpvcHRpbWFsID0gJm5l d19jcnRjX3N0YXRlLT53bS5nNHgub3B0aW1hbDsKIAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRl ICppbnRlbF9zdGF0ZSA9Ci0JCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+ YmFzZS5zdGF0ZSk7CisJCXRvX2ludGVsX2F0b21pY19zdGF0ZShuZXdfY3J0Y19zdGF0ZS0+dWFw aS5zdGF0ZSk7CiAJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRl ID0KIAkJaW50ZWxfYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0ZShpbnRlbF9zdGF0ZSwgY3J0Yyk7 CiAJY29uc3Qgc3RydWN0IGc0eF93bV9zdGF0ZSAqYWN0aXZlID0gJm9sZF9jcnRjX3N0YXRlLT53 bS5nNHgub3B0aW1hbDsKIAllbnVtIHBsYW5lX2lkIHBsYW5lX2lkOwogCi0JaWYgKCFuZXdfY3J0 Y19zdGF0ZS0+aHcuYWN0aXZlIHx8IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KCZuZXdf Y3J0Y19zdGF0ZS0+YmFzZSkpIHsKKwlpZiAoIW5ld19jcnRjX3N0YXRlLT5ody5hY3RpdmUgfHwg ZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoJm5ld19jcnRjX3N0YXRlLT51YXBpKSkgewog CQkqaW50ZXJtZWRpYXRlID0gKm9wdGltYWw7CiAKIAkJaW50ZXJtZWRpYXRlLT5jeHNyID0gZmFs c2U7CkBAIC0xNTMyLDggKzE1MzIsOCBAQCBzdGF0aWMgdm9pZCBnNHhfcHJvZ3JhbV93YXRlcm1h cmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHN0YXRpYyB2b2lkIGc0eF9p bml0aWFsX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJ ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAltdXRleF9sb2NrKCZk ZXZfcHJpdi0+d20ud21fbXV0ZXgpOwogCWNydGMtPndtLmFjdGl2ZS5nNHggPSBjcnRjX3N0YXRl LT53bS5nNHguaW50ZXJtZWRpYXRlOwpAQCAtMTU0NCw4ICsxNTQ0LDggQEAgc3RhdGljIHZvaWQg ZzR4X2luaXRpYWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwK IHN0YXRpYyB2b2lkIGc0eF9vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNf c3RhdGUgKnN0YXRlLAogCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNf c3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ZGV2KTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAogCWlmICghY3J0Y19zdGF0ZS0+d20ubmVlZF9wb3N0dmJsX3VwZGF0ZSkKIAkJcmV0dXJu OwpAQCAtMTYzMiw3ICsxNjMyLDcgQEAgc3RhdGljIGJvb2wgdmx2X25lZWRfc3ByaXRlMF9maWZv X3dvcmthcm91bmQodW5zaWduZWQgaW50IGFjdGl2ZV9wbGFuZXMpCiAKIHN0YXRpYyBpbnQgdmx2 X2NvbXB1dGVfZmlmbyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0 ZS0+dWFwaS5jcnRjKTsKIAljb25zdCBzdHJ1Y3QgZzR4X3BpcGVfd20gKnJhdyA9CiAJCSZjcnRj X3N0YXRlLT53bS52bHYucmF3W1ZMVl9XTV9MRVZFTF9QTTJdOwogCXN0cnVjdCB2bHZfZmlmb19z dGF0ZSAqZmlmb19zdGF0ZSA9ICZjcnRjX3N0YXRlLT53bS52bHYuZmlmb19zdGF0ZTsKQEAgLTE3 NDQsNyArMTc0NCw3IEBAIHN0YXRpYyB1MTYgdmx2X2ludmVydF93bV92YWx1ZSh1MTYgd20sIHUx NiBmaWZvX3NpemUpCiBzdGF0aWMgYm9vbCB2bHZfcmF3X3BsYW5lX3dtX3NldChzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgaW50IGxldmVsLCBlbnVtIHBsYW5lX2lk IHBsYW5lX2lkLCB1MTYgdmFsdWUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRl dik7CiAJaW50IG51bV9sZXZlbHMgPSBpbnRlbF93bV9udW1fbGV2ZWxzKGRldl9wcml2KTsKIAli b29sIGRpcnR5ID0gZmFsc2U7CiAKQEAgLTE4MTksMTYgKzE4MTksMTYgQEAgc3RhdGljIGJvb2wg dmx2X3Jhd19jcnRjX3dtX2lzX3ZhbGlkKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAogCiBzdGF0aWMgaW50IHZsdl9jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMg KmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUgPQotCQl0b19pbnRlbF9hdG9taWNfc3RhdGUo Y3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZSk7CisJCXRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0 YXRlLT51YXBpLnN0YXRlKTsKIAlzdHJ1Y3Qgdmx2X3dtX3N0YXRlICp3bV9zdGF0ZSA9ICZjcnRj X3N0YXRlLT53bS52bHYub3B0aW1hbDsKIAljb25zdCBzdHJ1Y3Qgdmx2X2ZpZm9fc3RhdGUgKmZp Zm9fc3RhdGUgPQogCQkmY3J0Y19zdGF0ZS0+d20udmx2LmZpZm9fc3RhdGU7CiAJaW50IG51bV9h Y3RpdmVfcGxhbmVzID0gaHdlaWdodDgoY3J0Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcyAmCiAJCQkJ CSB+QklUKFBMQU5FX0NVUlNPUikpOwotCWJvb2wgbmVlZHNfbW9kZXNldCA9IGRybV9hdG9taWNf Y3J0Y19uZWVkc19tb2Rlc2V0KCZjcnRjX3N0YXRlLT5iYXNlKTsKKwlib29sIG5lZWRzX21vZGVz ZXQgPSBkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCgmY3J0Y19zdGF0ZS0+dWFwaSk7CiAJ Y29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGU7CiAJY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpuZXdfcGxhbmVfc3RhdGU7CiAJc3RydWN0IGludGVs X3BsYW5lICpwbGFuZTsKQEAgLTE5MjcsNyArMTkyNyw3IEBAIHN0YXRpYyBpbnQgdmx2X2NvbXB1 dGVfcGlwZV93bShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHN0YXRpYyB2 b2lkIHZsdl9hdG9taWNfdXBkYXRlX2ZpZm8oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUsCiAJCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7CiAJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmRldl9w cml2LT51bmNvcmU7CiAJY29uc3Qgc3RydWN0IHZsdl9maWZvX3N0YXRlICpmaWZvX3N0YXRlID0K QEAgLTIwMjMsMTcgKzIwMjMsMTcgQEAgc3RhdGljIHZvaWQgdmx2X2F0b21pY191cGRhdGVfZmlm byhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAogc3RhdGljIGludCB2bHZfY29t cHV0ZV9pbnRlcm1lZGlhdGVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0 YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdfY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMobmV3X2NydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IHZsdl93bV9zdGF0ZSAq aW50ZXJtZWRpYXRlID0gJm5ld19jcnRjX3N0YXRlLT53bS52bHYuaW50ZXJtZWRpYXRlOwogCWNv bnN0IHN0cnVjdCB2bHZfd21fc3RhdGUgKm9wdGltYWwgPSAmbmV3X2NydGNfc3RhdGUtPndtLnZs di5vcHRpbWFsOwogCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlID0KLQkJ dG9faW50ZWxfYXRvbWljX3N0YXRlKG5ld19jcnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKKwkJdG9f aW50ZWxfYXRvbWljX3N0YXRlKG5ld19jcnRjX3N0YXRlLT51YXBpLnN0YXRlKTsKIAljb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUgPQogCQlpbnRlbF9hdG9taWNf Z2V0X29sZF9jcnRjX3N0YXRlKGludGVsX3N0YXRlLCBjcnRjKTsKIAljb25zdCBzdHJ1Y3Qgdmx2 X3dtX3N0YXRlICphY3RpdmUgPSAmb2xkX2NydGNfc3RhdGUtPndtLnZsdi5vcHRpbWFsOwogCWlu dCBsZXZlbDsKIAotCWlmICghbmV3X2NydGNfc3RhdGUtPmh3LmFjdGl2ZSB8fCBkcm1fYXRvbWlj X2NydGNfbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUtPmJhc2UpKSB7CisJaWYgKCFuZXdf Y3J0Y19zdGF0ZS0+aHcuYWN0aXZlIHx8IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KCZu ZXdfY3J0Y19zdGF0ZS0+dWFwaSkpIHsKIAkJKmludGVybWVkaWF0ZSA9ICpvcHRpbWFsOwogCiAJ CWludGVybWVkaWF0ZS0+Y3hzciA9IGZhbHNlOwpAQCAtMjE1MSw4ICsyMTUxLDggQEAgc3RhdGlj IHZvaWQgdmx2X3Byb2dyYW1fd2F0ZXJtYXJrcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiBzdGF0aWMgdm9pZCB2bHZfaW5pdGlhbF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwor CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBp LmNydGMpOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPndtLndtX211dGV4KTsKIAljcnRjLT53 bS5hY3RpdmUudmx2ID0gY3J0Y19zdGF0ZS0+d20udmx2LmludGVybWVkaWF0ZTsKQEAgLTIxNjMs OCArMjE2Myw4IEBAIHN0YXRpYyB2b2lkIHZsdl9pbml0aWFsX3dhdGVybWFya3Moc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiBzdGF0aWMgdm9pZCB2bHZfb3B0aW1pemVfd2F0ZXJt YXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCQkgICAgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Ci0Jc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRl LT51YXBpLmNydGMtPmRldik7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9j cnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAKIAlpZiAoIWNydGNfc3RhdGUtPndtLm5lZWRf cG9zdHZibF91cGRhdGUpCiAJCXJldHVybjsKQEAgLTI3NjgsNyArMjc2OCw3IEBAIHN0YXRpYyB1 MzIKIGhzd19jb21wdXRlX2xpbmV0aW1lX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogewogCWNvbnN0IHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVs X3N0YXRlID0KLQkJdG9faW50ZWxfYXRvbWljX3N0YXRlKGNydGNfc3RhdGUtPmJhc2Uuc3RhdGUp OworCQl0b19pbnRlbF9hdG9taWNfc3RhdGUoY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZSk7CiAJY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQogCQkmY3J0Y19zdGF0 ZS0+aHcuYWRqdXN0ZWRfbW9kZTsKIAl1MzIgbGluZXRpbWUsIGlwc19saW5ldGltZTsKQEAgLTMw ODMsOCArMzA4Myw4IEBAIHN0YXRpYyBib29sIGlsa192YWxpZGF0ZV9waXBlX3dtKGNvbnN0IHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIC8qIENvbXB1dGUgbmV3IHdhdGVybWFy a3MgZm9yIHRoZSBwaXBlICovCiBzdGF0aWMgaW50IGlsa19jb21wdXRlX3BpcGVfd20oc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJh c2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGludGVs X3BpcGVfd20gKnBpcGVfd207CiAJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKIAljb25zdCBz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwpAQCAtMzE2MiwxMSArMzE2Miwx MSBAQCBzdGF0aWMgaW50IGlsa19jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiAgKi8KIHN0YXRpYyBpbnQgaWxrX2NvbXB1dGVfaW50ZXJtZWRpYXRl X3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdzdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMobmV3c3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKG5ld3N0YXRlLT51 YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo aW50ZWxfY3J0Yy0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9waXBlX3dtICphID0gJm5ld3N0 YXRlLT53bS5pbGsuaW50ZXJtZWRpYXRlOwogCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmlu dGVsX3N0YXRlID0KLQkJdG9faW50ZWxfYXRvbWljX3N0YXRlKG5ld3N0YXRlLT5iYXNlLnN0YXRl KTsKKwkJdG9faW50ZWxfYXRvbWljX3N0YXRlKG5ld3N0YXRlLT51YXBpLnN0YXRlKTsKIAljb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkc3RhdGUgPQogCQlpbnRlbF9hdG9taWNfZ2V0 X29sZF9jcnRjX3N0YXRlKGludGVsX3N0YXRlLCBpbnRlbF9jcnRjKTsKIAljb25zdCBzdHJ1Y3Qg aW50ZWxfcGlwZV93bSAqYiA9ICZvbGRzdGF0ZS0+d20uaWxrLm9wdGltYWw7CkBAIC0zMTc4LDcg KzMxNzgsNyBAQCBzdGF0aWMgaW50IGlsa19jb21wdXRlX2ludGVybWVkaWF0ZV93bShzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqbmV3c3RhdGUpCiAJICogYW5kIGFmdGVyIHRoZSB2YmxhbmsuCiAJ ICovCiAJKmEgPSBuZXdzdGF0ZS0+d20uaWxrLm9wdGltYWw7Ci0JaWYgKCFuZXdzdGF0ZS0+aHcu YWN0aXZlIHx8IGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KCZuZXdzdGF0ZS0+YmFzZSkg fHwKKwlpZiAoIW5ld3N0YXRlLT5ody5hY3RpdmUgfHwgZHJtX2F0b21pY19jcnRjX25lZWRzX21v ZGVzZXQoJm5ld3N0YXRlLT51YXBpKSB8fAogCSAgICBpbnRlbF9zdGF0ZS0+c2tpcF9pbnRlcm1l ZGlhdGVfd20pCiAJCXJldHVybiAwOwogCkBAIC0zODU5LDkgKzM4NTksOSBAQCBza2xfZGRiX2dl dF9waXBlX2FsbG9jYXRpb25fbGltaXRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAkJCQkgICBzdHJ1Y3Qgc2tsX2RkYl9lbnRyeSAqYWxsb2MsIC8qIG91dCAqLwogCQkJCSAg IGludCAqbnVtX2FjdGl2ZSAvKiBvdXQgKi8pCiB7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlID0gY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT51YXBpLnN0YXRlOwogCXN0cnVjdCBpbnRlbF9hdG9taWNf c3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKLQlzdHJ1 Y3QgZHJtX2NydGMgKmZvcl9jcnRjID0gY3J0Y19zdGF0ZS0+YmFzZS5jcnRjOworCXN0cnVjdCBk cm1fY3J0YyAqZm9yX2NydGMgPSBjcnRjX3N0YXRlLT51YXBpLmNydGM7CiAJY29uc3Qgc3RydWN0 IGludGVsX2NydGMgKmNydGM7CiAJdTMyIHBpcGVfd2lkdGggPSAwLCB0b3RhbF93aWR0aCA9IDAs IHdpZHRoX2JlZm9yZV9waXBlID0gMDsKIAllbnVtIHBpcGUgZm9yX3BpcGUgPSB0b19pbnRlbF9j cnRjKGZvcl9jcnRjKS0+cGlwZTsKQEAgLTM5NDIsNyArMzk0Miw3IEBAIHN0YXRpYyB1bnNpZ25l ZCBpbnQKIHNrbF9jdXJzb3JfYWxsb2NhdGlvbihjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKIAkJICAgICAgaW50IG51bV9hY3RpdmUpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRl dik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0 YXRlLT51YXBpLmNydGMtPmRldik7CiAJaW50IGxldmVsLCBtYXhfbGV2ZWwgPSBpbGtfd21fbWF4 X2xldmVsKGRldl9wcml2KTsKIAlzdHJ1Y3Qgc2tsX3dtX2xldmVsIHdtID0ge307CiAJaW50IHJl dCwgbWluX2RkYl9hbGxvYyA9IDA7CkBAIC00MTMyLDcgKzQxMzIsNyBAQCBpbnQgc2tsX2NoZWNr X3BpcGVfbWF4X3BpeGVsX3JhdGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJCQkJ ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2NydGMtPmJhc2UuZGV2KTsKLQlz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOwor CXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IGNydGNfc3RhdGUtPnVhcGkuc3RhdGU7 CiAJY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKIAlzdHJ1Y3Qg aW50ZWxfcGxhbmUgKnBsYW5lOwogCWludCBjcnRjX2Nsb2NrLCBkb3RjbGs7CkBAIC00MjMzLDcg KzQyMzMsNyBAQCBza2xfZ2V0X3RvdGFsX3JlbGF0aXZlX2RhdGFfcmF0ZShzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgdTY0ICpwbGFuZV9kYXRhX3JhdGUsCiAJCQkJ IHU2NCAqdXZfcGxhbmVfZGF0YV9yYXRlKQogewotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSA9IGNydGNfc3RhdGUtPmJhc2Uuc3RhdGU7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlID0gY3J0Y19zdGF0ZS0+dWFwaS5zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBs YW5lOwogCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CiAJdTY0 IHRvdGFsX2RhdGFfcmF0ZSA9IDA7CkBAIC00MjY4LDcgKzQyNjgsNyBAQCBpY2xfZ2V0X3RvdGFs X3JlbGF0aXZlX2RhdGFfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK IAljb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwogCXU2NCB0b3Rh bF9kYXRhX3JhdGUgPSAwOwogCi0JaWYgKFdBUk5fT04oIWNydGNfc3RhdGUtPmJhc2Uuc3RhdGUp KQorCWlmIChXQVJOX09OKCFjcnRjX3N0YXRlLT51YXBpLnN0YXRlKSkKIAkJcmV0dXJuIDA7CiAK IAkvKiBDYWxjdWxhdGUgYW5kIGNhY2hlIGRhdGEgcmF0ZSBmb3IgZWFjaCBwbGFuZSAqLwpAQCAt NDMxMiw4ICs0MzEyLDggQEAgc3RhdGljIGludAogc2tsX2FsbG9jYXRlX3BpcGVfZGRiKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgICAgICBzdHJ1Y3Qgc2tsX2RkYl9h bGxvY2F0aW9uICpkZGIgLyogb3V0ICovKQogewotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSA9IGNydGNfc3RhdGUtPmJhc2Uuc3RhdGU7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjID0g Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjOworCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9 IGNydGNfc3RhdGUtPnVhcGkuc3RhdGU7CisJc3RydWN0IGRybV9jcnRjICpjcnRjID0gY3J0Y19z dGF0ZS0+dWFwaS5jcnRjOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY3J0Yy0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Yyk7CiAJc3RydWN0IHNrbF9kZGJfZW50cnkgKmFsbG9jID0gJmNydGNfc3Rh dGUtPndtLnNrbC5kZGI7CkBAIC00NjIwLDcgKzQ2MjAsNyBAQCBza2xfY29tcHV0ZV93bV9wYXJh bXMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgICAgIHUz MiBwbGFuZV9waXhlbF9yYXRlLCBzdHJ1Y3Qgc2tsX3dtX3BhcmFtcyAqd3AsCiAJCSAgICAgIGlu dCBjb2xvcl9wbGFuZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgaW50ZXJtX3Bi cGw7CiAKQEAgLTQ3NDEsNyArNDc0MSw3IEBAIHN0YXRpYyB2b2lkIHNrbF9jb21wdXRlX3BsYW5l X3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCSBjb25z dCBzdHJ1Y3Qgc2tsX3dtX2xldmVsICpyZXN1bHRfcHJldiwKIAkJCQkgc3RydWN0IHNrbF93bV9s ZXZlbCAqcmVzdWx0IC8qIG91dCAqLykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPnVhcGkuY3J0Yy0+ ZGV2KTsKIAl1MzIgbGF0ZW5jeSA9IGRldl9wcml2LT53bS5za2xfbGF0ZW5jeVtsZXZlbF07CiAJ dWludF9maXhlZF8xNl8xNl90IG1ldGhvZDEsIG1ldGhvZDI7CiAJdWludF9maXhlZF8xNl8xNl90 IHNlbGVjdGVkX3Jlc3VsdDsKQEAgLTQ4NjUsNyArNDg2NSw3IEBAIHNrbF9jb21wdXRlX3dtX2xl dmVscyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJICAgICAg Y29uc3Qgc3RydWN0IHNrbF93bV9wYXJhbXMgKndtX3BhcmFtcywKIAkJICAgICAgc3RydWN0IHNr bF93bV9sZXZlbCAqbGV2ZWxzKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYp OwogCWludCBsZXZlbCwgbWF4X2xldmVsID0gaWxrX3dtX21heF9sZXZlbChkZXZfcHJpdik7CiAJ c3RydWN0IHNrbF93bV9sZXZlbCAqcmVzdWx0X3ByZXYgPSAmbGV2ZWxzWzBdOwogCkBAIC00ODgy LDcgKzQ4ODIsNyBAQCBza2xfY29tcHV0ZV93bV9sZXZlbHMoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCiBzdGF0aWMgdTMyCiBza2xfY29tcHV0ZV9saW5ldGltZV93 bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOworCXN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IGNydGNfc3RhdGUtPnVhcGkuc3RhdGU7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+ZGV2KTsKIAl1 aW50X2ZpeGVkXzE2XzE2X3QgbGluZXRpbWVfdXM7CiAJdTMyIGxpbmV0aW1lX3dtOwpAQCAtNDkw MSw3ICs0OTAxLDcgQEAgc3RhdGljIHZvaWQgc2tsX2NvbXB1dGVfdHJhbnNpdGlvbl93bShjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgICAgICBjb25zdCBz dHJ1Y3Qgc2tsX3dtX3BhcmFtcyAqd3AsCiAJCQkJICAgICAgc3RydWN0IHNrbF9wbGFuZV93bSAq d20pCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ ZGV2OworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRl djsKIAljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRl dik7CiAJdTE2IHRyYW5zX21pbiwgdHJhbnNfeV90aWxlX21pbjsKIAljb25zdCB1MTYgdHJhbnNf YW1vdW50ID0gMTA7IC8qIFRoaXMgaXMgY29uZmlndXJhYmxlIGFtb3VudCAqLwpAQCAtNTA2MSw3 ICs1MDYxLDcgQEAgc3RhdGljIGludCBpY2xfYnVpbGRfcGxhbmVfd20oc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCiAKIHN0YXRpYyBpbnQgc2tsX2J1aWxkX3BpcGVfd20oc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51 YXBpLmNydGMtPmRldik7CiAJc3RydWN0IHNrbF9waXBlX3dtICpwaXBlX3dtID0gJmNydGNfc3Rh dGUtPndtLnNrbC5vcHRpbWFsOwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmU7CiAJY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKQEAgLTUyMzgsOCArNTIzOCw4 IEBAIHN0YXRpYyBpbnQKIHNrbF9kZGJfYWRkX2FmZmVjdGVkX3BsYW5lcyhjb25zdCBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiAJCQkgICAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUg KnN0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKG5ld19jcnRjX3N0YXRlLT5iYXNlLnN0YXRl KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3Rh dGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUgPSB0b19p bnRlbF9hdG9taWNfc3RhdGUobmV3X2NydGNfc3RhdGUtPnVhcGkuc3RhdGUpOworCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRj KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJh c2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwogCkBAIC01NTI0LDcgKzU1MjQs NyBAQCBzdGF0aWMgaW50IHNrbF93bV9hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlLAogCQkgKiBwb3dlciB3ZWxsIHRoZSBoYXJkd2FyZSBzdGF0ZSB3 aWxsIGdvIG91dCBvZiBzeW5jCiAJCSAqIHdpdGggdGhlIHNvZnR3YXJlIHN0YXRlLgogCQkgKi8K LQkJaWYgKCFkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUtPmJh c2UpICYmCisJCWlmICghZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoJm5ld19jcnRjX3N0 YXRlLT51YXBpKSAmJgogCQkgICAgc2tsX3BsYW5lX3dtX2VxdWFscyhkZXZfcHJpdiwKIAkJCQkJ Jm9sZF9jcnRjX3N0YXRlLT53bS5za2wub3B0aW1hbC5wbGFuZXNbcGxhbmVfaWRdLAogCQkJCQkm bmV3X2NydGNfc3RhdGUtPndtLnNrbC5vcHRpbWFsLnBsYW5lc1twbGFuZV9pZF0pKQpAQCAtNTU5 MSw3ICs1NTkxLDcgQEAgc2tsX2NvbXB1dGVfd20oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUpCiBzdGF0aWMgdm9pZCBza2xfYXRvbWljX3VwZGF0ZV9jcnRjX3dtKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKIAlzdHJ1Y3Qgc2tsX3Bp cGVfd20gKnBpcGVfd20gPSAmY3J0Y19zdGF0ZS0+d20uc2tsLm9wdGltYWw7CiAJZW51bSBwaXBl IHBpcGUgPSBjcnRjLT5waXBlOwpAQCAtNTYwNSw3ICs1NjA1LDcgQEAgc3RhdGljIHZvaWQgc2ts X2F0b21pY191cGRhdGVfY3J0Y193bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwK IHN0YXRpYyB2b2lkIHNrbF9pbml0aWFsX3dtKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0 YXRlLAogCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7Ci0Jc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0 Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUt PnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7CiAJc3RydWN0IHNrbF9kZGJfdmFsdWVzICpyZXN1bHRzID0gJnN0 YXRlLT53bV9yZXN1bHRzOwogCkBAIC01NjE0LDcgKzU2MTQsNyBAQCBzdGF0aWMgdm9pZCBza2xf aW5pdGlhbF93bShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAogCW11dGV4X2xv Y2soJmRldl9wcml2LT53bS53bV9tdXRleCk7CiAKLQlpZiAoY3J0Y19zdGF0ZS0+YmFzZS5hY3Rp dmVfY2hhbmdlZCkKKwlpZiAoY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmVfY2hhbmdlZCkKIAkJc2ts X2F0b21pY191cGRhdGVfY3J0Y193bShzdGF0ZSwgY3J0Y19zdGF0ZSk7CiAKIAltdXRleF91bmxv Y2soJmRldl9wcml2LT53bS53bV9tdXRleCk7CkBAIC01NjczLDggKzU2NzMsOCBAQCBzdGF0aWMg dm9pZCBpbGtfcHJvZ3JhbV93YXRlcm1hcmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIHN0YXRpYyB2b2lkIGlsa19pbml0aWFsX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7CisJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOwogCWNydGMtPndt LmFjdGl2ZS5pbGsgPSBjcnRjX3N0YXRlLT53bS5pbGsuaW50ZXJtZWRpYXRlOwpAQCAtNTY4NSw4 ICs1Njg1LDggQEAgc3RhdGljIHZvaWQgaWxrX2luaXRpYWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIHN0YXRpYyB2b2lkIGlsa19vcHRpbWl6ZV93YXRlcm1h cmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCSAgICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKLQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUt PnVhcGkuY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAogCWlmICghY3J0Y19zdGF0ZS0+d20ubmVlZF9w b3N0dmJsX3VwZGF0ZSkKIAkJcmV0dXJuOwotLSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=