From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH] drm/i915: Remove all ->config dereferences from intel_hdmi Date: Tue, 22 Nov 2016 13:38:51 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id B3C616E276 for ; Tue, 22 Nov 2016 12:38:54 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org V2UgY2FuIG5vdyBvYnRhaW4gdGhlIHJlbGV2YW50IGNydGNfc3RhdGUvY29ubl9zdGF0ZSBmcm9t IHRoZQpyZWxldmFudCBjYWxsYmFja3MsIHdoaWNoIG1lYW5zIGFsbCB0aGUgLT5jb25maWcgYWNj ZXNzZXMKY2FuIGJlIHJlbW92ZWQgYW5kIHRoZSBjb2RlIGNsZWFuZWQgdXAuCgpBbHNvIGZpeGVz IHRoZSBmb2xsb3dpbmcgV0FSTl9PTiwgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIHRvIGl0ZXJhdGUK YXRvbWljIGNvbm5lY3RvcnMgYW55IG1vcmU6CgpbIDE1NjIuOTgxNzY4XSAtLS0tLS0tLS0tLS1b IGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWyAxNTYyLjk4MTgyMF0gV0FSTklORzogQ1BVOiAxIFBJ RDogODY2NyBhdCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmM6NTczIGludGVsX2hk bWlfc2V0X2djcF9pbmZvZnJhbWUrMHgyMjUvMHgyMzAgW2k5MTVdClsgMTU2Mi45ODE4MjVdIFdB Uk5fT04oIWRybV9tb2Rlc2V0X2lzX2xvY2tlZCgmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9u X211dGV4KSkKWyAxNTYyLjk4MTgyN10gTW9kdWxlcyBsaW5rZWQgaW46ClsgMTU2Mi45ODE4MzBd ICB2Z2VtIGNvcmV0ZW1wIGNyY3QxMGRpZl9wY2xtdWwgY3JjMzJfcGNsbXVsIHNuZF9oZGFfY29k ZWNfaGRtaSBnaGFzaF9jbG11bG5pX2ludGVsIHNuZF9oZGFfY29kZWNfcmVhbHRlayBzbmRfaGRh X2NvZGVjX2dlbmVyaWMgc25kX2hkYV9pbnRlbCBzbmRfaGRhX2NvZGVjIHNuZF9od2RlcCBzbmRf aGRhX2NvcmUgc25kX3BjbSBscGNfaWNoIGkyY19kZXNpZ253YXJlX3BsYXRmb3JtIGkyY19kZXNp Z253YXJlX2NvcmUgaTkxNSByODE2OSBtaWkgc2RoY2lfYWNwaSBpMmNfaGlkIHNkaGNpIG1tY19j b3JlIFtsYXN0IHVubG9hZGVkOiB2Z2VtXQpbIDE1NjIuOTgxODc0XSBDUFU6IDEgUElEOiA4NjY3 IENvbW06IGt3b3JrZXIvdTQ6MCBUYWludGVkOiBHICAgICBVICAgICAgICAgIDQuOS4wLXJjNi1D SS1DSV9EUk1fNDcrICMxClsgMTU2Mi45ODE5MjVdIFdvcmtxdWV1ZTogZXZlbnRzX3VuYm91bmQg aW50ZWxfYXRvbWljX2NvbW1pdF93b3JrIFtpOTE1XQpbIDE1NjIuOTgxOTMyXSAgZmZmZmM5MDAw MDEwZmFhMCBmZmZmZmZmZjgxNDJlNDE1IGZmZmZjOTAwMDAxMGZhZjAgMDAwMDAwMDAwMDAwMDAw MApbIDE1NjIuOTgxOTQwXSAgZmZmZmM5MDAwMDEwZmFlMCBmZmZmZmZmZjgxMDdlNWM2IDAwMDAw MjNkODE4MTgyODIgZmZmZjg4MDEzMDgwODAwOApbIDE1NjIuOTgxOTQ4XSAgZmZmZjg4MDEzMDhl ODAwMCAwMDAwMDAwMDAwMWUxMTc4IGZmZmY4ODAxMmY2YTQ1NDggZmZmZjg4MDEzMDgwOTA2OApb IDE1NjIuOTgxOTU1XSBDYWxsIFRyYWNlOgpbIDE1NjIuOTgxOTYzXSAgWzxmZmZmZmZmZjgxNDJl NDE1Pl0gZHVtcF9zdGFjaysweDY3LzB4OTIKWyAxNTYyLjk4MTk2OV0gIFs8ZmZmZmZmZmY4MTA3 ZTVjNj5dIF9fd2FybisweGM2LzB4ZTAKWyAxNTYyLjk4MTk3NF0gIFs8ZmZmZmZmZmY4MTA3ZTYy YT5dIHdhcm5fc2xvd3BhdGhfZm10KzB4NGEvMHg1MApbIDE1NjIuOTgxOTgwXSAgWzxmZmZmZmZm ZjgxMGVkNmIwPl0gPyByY3VfcmVhZF9sb2NrX3NjaGVkX2hlbGQrMHg3MC8weDgwClsgMTU2Mi45 ODIwMjVdICBbPGZmZmZmZmZmYTAxNzZjYjU+XSBpbnRlbF9oZG1pX3NldF9nY3BfaW5mb2ZyYW1l KzB4MjI1LzB4MjMwIFtpOTE1XQpbIDE1NjIuOTgyMDcyXSAgWzxmZmZmZmZmZmEwMTc4OTM3Pl0g dmx2X3NldF9pbmZvZnJhbWVzKzB4ZDcvMHgxYTAgW2k5MTVdClsgMTU2Mi45ODIxMTddICBbPGZm ZmZmZmZmYTAxNzc3MTA+XSB2bHZfaGRtaV9wcmVfZW5hYmxlKzB4NTAvMHg4MCBbaTkxNV0KWyAx NTYyLjk4MjE2NF0gIFs8ZmZmZmZmZmZhMDEzMmY4Mz5dIGludGVsX2VuY29kZXJzX3ByZV9lbmFi bGUuaXNyYS45KzB4NjMvMHg4MCBbaTkxNV0KWyAxNTYyLjk4MjIxM10gIFs8ZmZmZmZmZmZhMDE0 NGVhYz5dIHZhbGxleXZpZXdfY3J0Y19lbmFibGUrMHhlYy8weDIwMCBbaTkxNV0KWyAxNTYyLjk4 MjI1OF0gIFs8ZmZmZmZmZmZhMDE0MTZmOT5dIGludGVsX3VwZGF0ZV9jcnRjKzB4NDkvMHhlMCBb aTkxNV0KWyAxNTYyLjk4MjMwNF0gIFs8ZmZmZmZmZmZhMDE0MTdlZT5dIGludGVsX3VwZGF0ZV9j cnRjcysweDVlLzB4ODAgW2k5MTVdClsgMTU2Mi45ODIzNTBdICBbPGZmZmZmZmZmYTAxNDFmMjY+ XSBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwrMHgzMTYvMHhmZDAgW2k5MTVdClsgMTU2Mi45ODIz OThdICBbPGZmZmZmZmZmYTAxNDMxNGQ+XSBpbnRlbF9hdG9taWNfY29tbWl0X3dvcmsrMHhkLzB4 MTAgW2k5MTVdClsgMTU2Mi45ODI0MDRdICBbPGZmZmZmZmZmODEwOWMzNWM+XSBwcm9jZXNzX29u ZV93b3JrKzB4MWVjLzB4NmIwClsgMTU2Mi45ODI0MDhdICBbPGZmZmZmZmZmODEwOWMyZDY+XSA/ IHByb2Nlc3Nfb25lX3dvcmsrMHgxNjYvMHg2YjAKWyAxNTYyLjk4MjQxM10gIFs8ZmZmZmZmZmY4 MTA5Yzg2OT5dIHdvcmtlcl90aHJlYWQrMHg0OS8weDQ5MApbIDE1NjIuOTgyNDMyXSAgWzxmZmZm ZmZmZjgxMDljODIwPl0gPyBwcm9jZXNzX29uZV93b3JrKzB4NmIwLzB4NmIwClsgMTU2Mi45ODI0 MzZdICBbPGZmZmZmZmZmODEwYTJiOGI+XSBrdGhyZWFkKzB4ZWIvMHgxMTAKWyAxNTYyLjk4MjQ0 MV0gIFs8ZmZmZmZmZmY4MTBhMmFhMD5dID8ga3RocmVhZF9wYXJrKzB4NjAvMHg2MApbIDE1NjIu OTgyNDQ2XSAgWzxmZmZmZmZmZjgxODE4Y2U3Pl0gcmV0X2Zyb21fZm9yaysweDI3LzB4NDAKWyAx NTYyLjk4MjQ1MF0gLS0tWyBlbmQgdHJhY2UgNzk0MmMyMzU1ZjAzNjI1NSBdLS0tCgpUZXN0Y2Fz ZToga21zX2F0b21pY190cmFuc2l0aW9uLjF4LW1vZGVzZXQtdHJhbnNpdGlvbnMtbm9uYmxvY2tp bmcKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IDEwZWM5ZDRiN2Q0 NS4uMGQ2ODBkYWJhYzc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwpAQCAtMTcwMSw3ICsx NzAxLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAKIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2hk bWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJICAgICAgYm9vbCBoYXNfaGRt aV9zaW5rLAotCQkJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2Rl LAorCQkJCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAor CQkJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlLAog CQkJCSAgICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsKQogewogCXN0cnVjdCBpbnRl bF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOwpA QCAtMTcyMSw3ICsxNzIyLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRt aShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCWludGVsX2hkbWktPnNldF9pbmZv ZnJhbWVzKGRybV9lbmNvZGVyLAogCQkJCSAgIGhhc19oZG1pX3NpbmssCi0JCQkJICAgYWRqdXN0 ZWRfbW9kZSk7CisJCQkJICAgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CiB9CiAKIHN0YXRpYyB2 b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNv ZGVyLApAQCAtMTc0Miw4ICsxNzQzLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFi bGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCiAJfQogCWlmICh0eXBlID09 IElOVEVMX09VVFBVVF9IRE1JKSB7CiAJCWludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoaW50ZWxf ZW5jb2RlciwKLQkJCQkJICBjcnRjLT5jb25maWctPmhhc19oZG1pX3NpbmssCi0JCQkJCSAgJmNy dGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLAorCQkJCQkgIHBpcGVfY29uZmlnLT5oYXNf aGRtaV9zaW5rLAorCQkJCQkgIHBpcGVfY29uZmlnLCBjb25uX3N0YXRlLAogCQkJCQkgIGNydGMt PmNvbmZpZy0+c2hhcmVkX2RwbGwpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5k ZXggY2QxMzJjMjE2YTY3Li4xNzMzYTFhZmMwYzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o CkBAIC04NDAsMTEgKzg0MCwxMyBAQCBzdHJ1Y3QgaW50ZWxfaGRtaSB7CiAJZW51bSBoZG1pX3Bp Y3R1cmVfYXNwZWN0IGFzcGVjdF9yYXRpbzsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICphdHRh Y2hlZF9jb25uZWN0b3I7CiAJdm9pZCAoKndyaXRlX2luZm9mcmFtZSkoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAorCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUs CiAJCQkJZW51bSBoZG1pX2luZm9mcmFtZV90eXBlIHR5cGUsCiAJCQkJY29uc3Qgdm9pZCAqZnJh bWUsIHNzaXplX3QgbGVuKTsKIAl2b2lkICgqc2V0X2luZm9mcmFtZXMpKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKIAkJCSAgICAgICBib29sIGVuYWJsZSwKLQkJCSAgICAgICBjb25zdCBz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSk7CisJCQkgICAgICAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCisJCQkgICAgICAgY29uc3Qgc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpOwogCWJvb2wgKCppbmZvZnJhbWVf ZW5hYmxlZCkoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMKaW5kZXggZmI4OGUzMmUyNWEzLi5iOWJhZDk1YmY4ZmUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9oZG1pLmMKQEAgLTEzMyw2ICsxMzMsNyBAQCBoc3dfZGlwX2RhdGFfcmVnKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIH0KIAogc3RhdGljIHZvaWQgZzR4X3dyaXRlX2lu Zm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCisJCQkJY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJZW51bSBoZG1pX2luZm9mcmFtZV90eXBl IHR5cGUsCiAJCQkJY29uc3Qgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewpAQCAtMTg3LDEz ICsxODgsMTQgQEAgc3RhdGljIGJvb2wgZzR4X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKIH0KIAogc3RhdGljIHZvaWQgaWJ4X3dyaXRlX2luZm9mcmFtZShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCisJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJZW51bSBoZG1pX2luZm9mcmFtZV90eXBlIHR5cGUsCiAJ CQkJY29uc3Qgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewogCWNvbnN0IHVpbnQzMl90ICpk YXRhID0gZnJhbWU7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0Jc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwor CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0 Yy0+cGlwZSk7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwogCWludCBpOwpAQCAtMjQ2LDEz ICsyNDgsMTQgQEAgc3RhdGljIGJvb2wgaWJ4X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKIH0KIAogc3RhdGljIHZvaWQgY3B0X3dyaXRlX2luZm9mcmFtZShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCisJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJZW51bSBoZG1pX2luZm9mcmFtZV90eXBlIHR5cGUsCiAJ CQkJY29uc3Qgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewogCWNvbnN0IHVpbnQzMl90ICpk YXRhID0gZnJhbWU7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0Jc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwor CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0 Yy0+cGlwZSk7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChyZWcpOwogCWludCBpOwpAQCAtMzAzLDEz ICszMDYsMTQgQEAgc3RhdGljIGJvb2wgY3B0X2luZm9mcmFtZV9lbmFibGVkKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKIH0KIAogc3RhdGljIHZvaWQgdmx2X3dyaXRlX2luZm9mcmFtZShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCisJCQkJY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJZW51bSBoZG1pX2luZm9mcmFtZV90eXBlIHR5cGUsCiAJ CQkJY29uc3Qgdm9pZCAqZnJhbWUsIHNzaXplX3QgbGVuKQogewogCWNvbnN0IHVpbnQzMl90ICpk YXRhID0gZnJhbWU7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Ci0Jc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwor CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOwogCWk5MTVfcmVnX3QgcmVnID0gVkxWX1RWSURFT19ESVBfQ1RMKGludGVs X2NydGMtPnBpcGUpOwogCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsKIAlpbnQgaTsKQEAgLTM2 MSwxNCArMzY1LDE0IEBAIHN0YXRpYyBib29sIHZsdl9pbmZvZnJhbWVfZW5hYmxlZChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCiB9CiAKIHN0YXRpYyB2b2lkIGhzd193cml0ZV9pbmZvZnJh bWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAorCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCWVudW0gaGRtaV9pbmZvZnJhbWVfdHlwZSB0eXBl LAogCQkJCWNvbnN0IHZvaWQgKmZyYW1lLCBzc2l6ZV90IGxlbikKIHsKIAljb25zdCB1aW50MzJf dCAqZGF0YSA9IGZyYW1lOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5jcnRj KTsKLQllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBpbnRlbF9jcnRjLT5jb25maWct PmNwdV90cmFuc2NvZGVyOworCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGNydGNf c3RhdGUtPmNwdV90cmFuc2NvZGVyOwogCWk5MTVfcmVnX3QgY3RsX3JlZyA9IEhTV19UVklERU9f RElQX0NUTChjcHVfdHJhbnNjb2Rlcik7CiAJaTkxNV9yZWdfdCBkYXRhX3JlZzsKIAlpbnQgaTsK QEAgLTQyNSw2ICs0MjksNyBAQCBzdGF0aWMgYm9vbCBoc3dfaW5mb2ZyYW1lX2VuYWJsZWQoc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogICogYnl0ZXMgYnkgb25lLgogICovCiBzdGF0aWMg dm9pZCBpbnRlbF93cml0ZV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAor CQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJICB1 bmlvbiBoZG1pX2luZm9mcmFtZSAqZnJhbWUpCiB7CiAJc3RydWN0IGludGVsX2hkbWkgKmludGVs X2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKQEAgLTQ0MywyNiArNDQ4LDI1IEBA IHN0YXRpYyB2b2lkIGludGVsX3dyaXRlX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCiAJYnVmZmVyWzNdID0gMDsKIAlsZW4rKzsKIAotCWludGVsX2hkbWktPndyaXRlX2lu Zm9mcmFtZShlbmNvZGVyLCBmcmFtZS0+YW55LnR5cGUsIGJ1ZmZlciwgbGVuKTsKKwlpbnRlbF9o ZG1pLT53cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgZnJhbWUtPmFueS50eXBl LCBidWZmZXIsIGxlbik7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X2F2aV9pbmZv ZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAotCQkJCQkgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCisJCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0g ZW5jX3RvX2ludGVsX2hkbWkoZW5jb2Rlcik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwogCXVuaW9uIGhkbWlfaW5mb2ZyYW1l IGZyYW1lOwogCWludCByZXQ7CiAKIAlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksCi0JCQkJCQkgICAgICAgYWRqdXN0ZWRfbW9kZSk7CisJ CQkJCQkgICAgICAgJmNzdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlKTsKIAlpZiAocmV0IDwgMCkg ewogCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7CiAJCXJldHVy bjsKIAl9CiAKIAlpZiAoaW50ZWxfaGRtaS0+cmdiX3F1YW50X3JhbmdlX3NlbGVjdGFibGUpIHsK LQkJaWYgKGludGVsX2NydGMtPmNvbmZpZy0+bGltaXRlZF9jb2xvcl9yYW5nZSkKKwkJaWYgKGNz dGF0ZS0+bGltaXRlZF9jb2xvcl9yYW5nZSkKIAkJCWZyYW1lLmF2aS5xdWFudGl6YXRpb25fcmFu Z2UgPQogCQkJCUhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0xJTUlURUQ7CiAJCWVsc2UKQEAgLTQ3 MCwxMCArNDc0LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkJCUhETUlfUVVBTlRJWkFUSU9OX1JBTkdF X0ZVTEw7CiAJfQogCi0JaW50ZWxfd3JpdGVfaW5mb2ZyYW1lKGVuY29kZXIsICZmcmFtZSk7CisJ aW50ZWxfd3JpdGVfaW5mb2ZyYW1lKGVuY29kZXIsIGNzdGF0ZSwgJmZyYW1lKTsKIH0KIAotc3Rh dGljIHZvaWQgaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIpCitzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1lKHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKKwkJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQogewogCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwogCWludCBy ZXQ7CkBAIC00ODYsMjcgKzQ5MSwyOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9zcGRf aW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAogCWZyYW1lLnNwZC5zZGkg PSBIRE1JX1NQRF9TRElfUEM7CiAKLQlpbnRlbF93cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgJmZy YW1lKTsKKwlpbnRlbF93cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSwgJmZyYW1l KTsKIH0KIAogc3RhdGljIHZvaWQKIGludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKLQkJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICphZGp1c3RlZF9tb2RlKQorCQkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCiB7CiAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7CiAJaW50 IHJldDsKIAogCXJldCA9IGRybV9oZG1pX3ZlbmRvcl9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLnZlbmRvci5oZG1pLAotCQkJCQkJCSAgYWRqdXN0ZWRfbW9kZSk7CisJCQkJCQkJ ICAmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0 dXJuOwogCi0JaW50ZWxfd3JpdGVfaW5mb2ZyYW1lKGVuY29kZXIsICZmcmFtZSk7CisJaW50ZWxf d3JpdGVfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUsICZmcmFtZSk7CiB9CiAKIHN0YXRp YyB2b2lkIGc0eF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJ CQkgICAgICAgYm9vbCBlbmFibGUsCi0JCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmFkanVzdGVkX21vZGUpCisJCQkgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5kZXYpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmlu dGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIpOwpAQCAtNTYwLDI4ICs1NjYs MTYgQEAgc3RhdGljIHZvaWQgZzR4X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKIAlJOTE1X1dSSVRFKHJlZywgdmFsKTsKIAlQT1NUSU5HX1JFQUQocmVnKTsKIAot CWludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoZW5jb2RlciwgYWRqdXN0ZWRfbW9kZSk7Ci0J aW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVyKTsKLQlpbnRlbF9oZG1pX3NldF9o ZG1pX2luZm9mcmFtZShlbmNvZGVyLCBhZGp1c3RlZF9tb2RlKTsKKwlpbnRlbF9oZG1pX3NldF9h dmlfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUpOworCWludGVsX2hkbWlfc2V0X3NwZF9p bmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7CisJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZv ZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7CiB9CiAKLXN0YXRpYyBib29sIGhkbWlfc2lua19p c19kZWVwX2NvbG9yKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKK3N0YXRpYyBib29sIGhk bWlfc2lua19pc19kZWVwX2NvbG9yKGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpj b25uX3N0YXRlKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7Ci0J c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKLQotCVdBUk5fT04oIWRybV9tb2Rlc2V0 X2lzX2xvY2tlZCgmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KSk7CisJc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGNvbm5fc3RhdGUtPmNvbm5lY3RvcjsKIAotCS8q Ci0JICogSERNSSBjbG9uaW5nIGlzIG9ubHkgc3VwcG9ydGVkIG9uIGc0eCB3aGljaCBkb2Vzbid0 Ci0JICogc3VwcG9ydCBkZWVwIGNvbG9yIG9yIEdDUCBpbmZvZnJhbWVzIGFueXdheSBzbyBubwot CSAqIG5lZWQgdG8gd29ycnkgYWJvdXQgbXVsdGlwbGUgSERNSSBzaW5rcyBoZXJlLgotCSAqLwot CWxpc3RfZm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCAmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0 b3JfbGlzdCwgaGVhZCkKLQkJaWYgKGNvbm5lY3Rvci0+ZW5jb2RlciA9PSBlbmNvZGVyKQotCQkJ cmV0dXJuIGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJwYyA+IDg7Ci0KLQlyZXR1cm4gZmFsc2U7 CisJcmV0dXJuIGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJwYyA+IDg7CiB9CiAKIC8qCkBAIC02 MjcsMTUgKzYyMSwxNyBAQCBzdGF0aWMgYm9vbCBnY3BfZGVmYXVsdF9waGFzZV9wb3NzaWJsZShp bnQgcGlwZV9icHAsCiAJCSBtb2RlLT5jcnRjX2h0b3RhbC8yICUgcGl4ZWxzX3Blcl9ncm91cCA9 PSAwKTsKIH0KIAotc3RhdGljIGJvb2wgaW50ZWxfaGRtaV9zZXRfZ2NwX2luZm9mcmFtZShzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCitzdGF0aWMgYm9vbCBpbnRlbF9oZG1pX3NldF9nY3Bf aW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKKwkJCQkJIGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCisJCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0Yyhjc3RhdGUtPmJhc2UuY3J0Yyk7CiAJaTkxNV9yZWdfdCByZWc7CiAJ dTMyIHZhbCA9IDA7CiAKIAlpZiAoSEFTX0RESShkZXZfcHJpdikpCi0JCXJlZyA9IEhTV19UVklE RU9fRElQX0dDUChjcnRjLT5jb25maWctPmNwdV90cmFuc2NvZGVyKTsKKwkJcmVnID0gSFNXX1RW SURFT19ESVBfR0NQKGNzdGF0ZS0+Y3B1X3RyYW5zY29kZXIpOwogCWVsc2UgaWYgKElTX1ZBTExF WVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQogCQlyZWcgPSBWTFZf VFZJREVPX0RJUF9HQ1AoY3J0Yy0+cGlwZSk7CiAJZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXZf cHJpdikpCkBAIC02NDQsMTIgKzY0MCwxMiBAQCBzdGF0aWMgYm9vbCBpbnRlbF9oZG1pX3NldF9n Y3BfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAkJcmV0dXJuIGZhbHNl OwogCiAJLyogSW5kaWNhdGUgY29sb3IgZGVwdGggd2hlbmV2ZXIgdGhlIHNpbmsgc3VwcG9ydHMg ZGVlcCBjb2xvciAqLwotCWlmIChoZG1pX3NpbmtfaXNfZGVlcF9jb2xvcihlbmNvZGVyKSkKKwlp ZiAoaGRtaV9zaW5rX2lzX2RlZXBfY29sb3IoY29ubl9zdGF0ZSkpCiAJCXZhbCB8PSBHQ1BfQ09M T1JfSU5ESUNBVElPTjsKIAogCS8qIEVuYWJsZSBkZWZhdWx0X3BoYXNlIHdoZW5ldmVyIHRoZSBk aXNwbGF5IG1vZGUgaXMgc3VpdGFibHkgYWxpZ25lZCAqLwotCWlmIChnY3BfZGVmYXVsdF9waGFz ZV9wb3NzaWJsZShjcnRjLT5jb25maWctPnBpcGVfYnBwLAotCQkJCSAgICAgICAmY3J0Yy0+Y29u ZmlnLT5iYXNlLmFkanVzdGVkX21vZGUpKQorCWlmIChnY3BfZGVmYXVsdF9waGFzZV9wb3NzaWJs ZShjc3RhdGUtPnBpcGVfYnBwLAorCQkJCSAgICAgICAmY3N0YXRlLT5iYXNlLmFkanVzdGVkX21v ZGUpKQogCQl2YWwgfD0gR0NQX0RFRkFVTFRfUEhBU0VfRU5BQkxFOwogCiAJSTkxNV9XUklURShy ZWcsIHZhbCk7CkBAIC02NTksMTAgKzY1NSwxMSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9oZG1pX3Nl dF9nY3BfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAogc3RhdGljIHZv aWQgaWJ4X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJCSAg ICAgICBib29sIGVuYWJsZSwKLQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqYWRqdXN0ZWRfbW9kZSkKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGVuY29kZXItPmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwogCXN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIp OwogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gJmludGVsX2RpZ19wb3J0LT5oZG1p OwogCWk5MTVfcmVnX3QgcmVnID0gVFZJREVPX0RJUF9DVEwoaW50ZWxfY3J0Yy0+cGlwZSk7CkBA IC02OTgsMjMgKzY5NSwyNCBAQCBzdGF0aWMgdm9pZCBpYnhfc2V0X2luZm9mcmFtZXMoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkgVklERU9fRElQX0VOQUJMRV9WRU5ET1IgfCBWSURF T19ESVBfRU5BQkxFX0dBTVVUIHwKIAkJIFZJREVPX0RJUF9FTkFCTEVfU1BEIHwgVklERU9fRElQ X0VOQUJMRV9HQ1ApOwogCi0JaWYgKGludGVsX2hkbWlfc2V0X2djcF9pbmZvZnJhbWUoZW5jb2Rl cikpCisJaWYgKGludGVsX2hkbWlfc2V0X2djcF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0 ZSwgY29ubl9zdGF0ZSkpCiAJCXZhbCB8PSBWSURFT19ESVBfRU5BQkxFX0dDUDsKIAogCUk5MTVf V1JJVEUocmVnLCB2YWwpOwogCVBPU1RJTkdfUkVBRChyZWcpOwogCi0JaW50ZWxfaGRtaV9zZXRf YXZpX2luZm9mcmFtZShlbmNvZGVyLCBhZGp1c3RlZF9tb2RlKTsKLQlpbnRlbF9oZG1pX3NldF9z cGRfaW5mb2ZyYW1lKGVuY29kZXIpOwotCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVu Y29kZXIsIGFkanVzdGVkX21vZGUpOworCWludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoZW5j b2RlciwgY3J0Y19zdGF0ZSk7CisJaW50ZWxfaGRtaV9zZXRfc3BkX2luZm9mcmFtZShlbmNvZGVy LCBjcnRjX3N0YXRlKTsKKwlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVyLCBj cnRjX3N0YXRlKTsKIH0KIAogc3RhdGljIHZvaWQgY3B0X3NldF9pbmZvZnJhbWVzKHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICAgICBib29sIGVuYWJsZSwKLQkJCSAgICAgICBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKKwkJCSAgICAgICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCSAgICAgICBjb25z dCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmRldik7Ci0Jc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwor CXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRl LT5iYXNlLmNydGMpOwogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2lu dGVsX2hkbWkoZW5jb2Rlcik7CiAJaTkxNV9yZWdfdCByZWcgPSBUVklERU9fRElQX0NUTChpbnRl bF9jcnRjLT5waXBlKTsKIAl1MzIgdmFsID0gSTkxNV9SRUFEKHJlZyk7CkBAIC03NDAsMjQgKzcz OCwyNSBAQCBzdGF0aWMgdm9pZCBjcHRfc2V0X2luZm9mcmFtZXMoc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyLAogCXZhbCAmPSB+KFZJREVPX0RJUF9FTkFCTEVfVkVORE9SIHwgVklERU9fRElQ X0VOQUJMRV9HQU1VVCB8CiAJCSBWSURFT19ESVBfRU5BQkxFX1NQRCB8IFZJREVPX0RJUF9FTkFC TEVfR0NQKTsKIAotCWlmIChpbnRlbF9oZG1pX3NldF9nY3BfaW5mb2ZyYW1lKGVuY29kZXIpKQor CWlmIChpbnRlbF9oZG1pX3NldF9nY3BfaW5mb2ZyYW1lKGVuY29kZXIsIGNydGNfc3RhdGUsIGNv bm5fc3RhdGUpKQogCQl2YWwgfD0gVklERU9fRElQX0VOQUJMRV9HQ1A7CiAKIAlJOTE1X1dSSVRF KHJlZywgdmFsKTsKIAlQT1NUSU5HX1JFQUQocmVnKTsKIAotCWludGVsX2hkbWlfc2V0X2F2aV9p bmZvZnJhbWUoZW5jb2RlciwgYWRqdXN0ZWRfbW9kZSk7Ci0JaW50ZWxfaGRtaV9zZXRfc3BkX2lu Zm9mcmFtZShlbmNvZGVyKTsKLQlpbnRlbF9oZG1pX3NldF9oZG1pX2luZm9mcmFtZShlbmNvZGVy LCBhZGp1c3RlZF9tb2RlKTsKKwlpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIs IGNydGNfc3RhdGUpOworCWludGVsX2hkbWlfc2V0X3NwZF9pbmZvZnJhbWUoZW5jb2RlciwgY3J0 Y19zdGF0ZSk7CisJaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19z dGF0ZSk7CiB9CiAKIHN0YXRpYyB2b2lkIHZsdl9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCiAJCQkgICAgICAgYm9vbCBlbmFibGUsCi0JCQkgICAgICAgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCisJCQkgICAgICAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCisJCQkgICAgICAgY29uc3Qgc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5kZXYpOwogCXN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KGVuY29kZXIp OwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVy LT5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMo Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9 IGVuY190b19pbnRlbF9oZG1pKGVuY29kZXIpOwogCWk5MTVfcmVnX3QgcmVnID0gVkxWX1RWSURF T19ESVBfQ1RMKGludGVsX2NydGMtPnBpcGUpOwogCXUzMiB2YWwgPSBJOTE1X1JFQUQocmVnKTsK QEAgLTc5MiwyNSArNzkxLDI1IEBAIHN0YXRpYyB2b2lkIHZsdl9zZXRfaW5mb2ZyYW1lcyhzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJCSBWSURFT19ESVBfRU5BQkxFX1ZFTkRPUiB8IFZJ REVPX0RJUF9FTkFCTEVfR0FNVVQgfAogCQkgVklERU9fRElQX0VOQUJMRV9TUEQgfCBWSURFT19E SVBfRU5BQkxFX0dDUCk7CiAKLQlpZiAoaW50ZWxfaGRtaV9zZXRfZ2NwX2luZm9mcmFtZShlbmNv ZGVyKSkKKwlpZiAoaW50ZWxfaGRtaV9zZXRfZ2NwX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0 YXRlLCBjb25uX3N0YXRlKSkKIAkJdmFsIHw9IFZJREVPX0RJUF9FTkFCTEVfR0NQOwogCiAJSTkx NV9XUklURShyZWcsIHZhbCk7CiAJUE9TVElOR19SRUFEKHJlZyk7CiAKLQlpbnRlbF9oZG1pX3Nl dF9hdmlfaW5mb2ZyYW1lKGVuY29kZXIsIGFkanVzdGVkX21vZGUpOwotCWludGVsX2hkbWlfc2V0 X3NwZF9pbmZvZnJhbWUoZW5jb2Rlcik7Ci0JaW50ZWxfaGRtaV9zZXRfaGRtaV9pbmZvZnJhbWUo ZW5jb2RlciwgYWRqdXN0ZWRfbW9kZSk7CisJaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShl bmNvZGVyLCBjcnRjX3N0YXRlKTsKKwlpbnRlbF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1lKGVuY29k ZXIsIGNydGNfc3RhdGUpOworCWludGVsX2hkbWlfc2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIs IGNydGNfc3RhdGUpOwogfQogCiBzdGF0aWMgdm9pZCBoc3dfc2V0X2luZm9mcmFtZXMoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgIGJvb2wgZW5hYmxlLAotCQkJICAgICAg IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQorCQkJICAgICAg IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAorCQkJICAgICAgIGNv bnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+ZGV2KTsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+Y3J0Yyk7 CiAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNv ZGVyKTsKLQlpOTE1X3JlZ190IHJlZyA9IEhTV19UVklERU9fRElQX0NUTChpbnRlbF9jcnRjLT5j b25maWctPmNwdV90cmFuc2NvZGVyKTsKKwlpOTE1X3JlZ190IHJlZyA9IEhTV19UVklERU9fRElQ X0NUTChjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2Rlcik7CiAJdTMyIHZhbCA9IEk5MTVfUkVBRChy ZWcpOwogCiAJYXNzZXJ0X2hkbWlfcG9ydF9kaXNhYmxlZChpbnRlbF9oZG1pKTsKQEAgLTgyNSwx NSArODI0LDE1IEBAIHN0YXRpYyB2b2lkIGhzd19zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCiAJCXJldHVybjsKIAl9CiAKLQlpZiAoaW50ZWxfaGRtaV9zZXRfZ2Nw X2luZm9mcmFtZShlbmNvZGVyKSkKKwlpZiAoaW50ZWxfaGRtaV9zZXRfZ2NwX2luZm9mcmFtZShl bmNvZGVyLCBjcnRjX3N0YXRlLCBjb25uX3N0YXRlKSkKIAkJdmFsIHw9IFZJREVPX0RJUF9FTkFC TEVfR0NQX0hTVzsKIAogCUk5MTVfV1JJVEUocmVnLCB2YWwpOwogCVBPU1RJTkdfUkVBRChyZWcp OwogCi0JaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShlbmNvZGVyLCBhZGp1c3RlZF9tb2Rl KTsKLQlpbnRlbF9oZG1pX3NldF9zcGRfaW5mb2ZyYW1lKGVuY29kZXIpOwotCWludGVsX2hkbWlf c2V0X2hkbWlfaW5mb2ZyYW1lKGVuY29kZXIsIGFkanVzdGVkX21vZGUpOworCWludGVsX2hkbWlf c2V0X2F2aV9pbmZvZnJhbWUoZW5jb2RlciwgY3J0Y19zdGF0ZSk7CisJaW50ZWxfaGRtaV9zZXRf c3BkX2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKKwlpbnRlbF9oZG1pX3NldF9oZG1p X2luZm9mcmFtZShlbmNvZGVyLCBjcnRjX3N0YXRlKTsKIH0KIAogdm9pZCBpbnRlbF9kcF9kdWFs X21vZGVfc2V0X3RtZHNfb3V0cHV0KHN0cnVjdCBpbnRlbF9oZG1pICpoZG1pLCBib29sIGVuYWJs ZSkKQEAgLTg1MiwzMSArODUxLDMyIEBAIHZvaWQgaW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRz X291dHB1dChzdHJ1Y3QgaW50ZWxfaGRtaSAqaGRtaSwgYm9vbCBlbmFibGUpCiAJCQkJCSBhZGFw dGVyLCBlbmFibGUpOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3ByZXBhcmUoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIpCitzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3ByZXBhcmUo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMo ZW5jb2Rlci0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxf aGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5iYXNlKTsKLQljb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZjcnRjLT5jb25maWctPmJhc2UuYWRq dXN0ZWRfbW9kZTsKKwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9k ZSA9ICZjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7CiAJdTMyIGhkbWlfdmFsOwogCiAJ aW50ZWxfZHBfZHVhbF9tb2RlX3NldF90bWRzX291dHB1dChpbnRlbF9oZG1pLCB0cnVlKTsKIAog CWhkbWlfdmFsID0gU0RWT19FTkNPRElOR19IRE1JOwotCWlmICghSEFTX1BDSF9TUExJVChkZXZf cHJpdikgJiYgY3J0Yy0+Y29uZmlnLT5saW1pdGVkX2NvbG9yX3JhbmdlKQorCWlmICghSEFTX1BD SF9TUExJVChkZXZfcHJpdikgJiYgY3J0Y19zdGF0ZS0+bGltaXRlZF9jb2xvcl9yYW5nZSkKIAkJ aGRtaV92YWwgfD0gSERNSV9DT0xPUl9SQU5HRV8xNl8yMzU7CiAJaWYgKGFkanVzdGVkX21vZGUt PmZsYWdzICYgRFJNX01PREVfRkxBR19QVlNZTkMpCiAJCWhkbWlfdmFsIHw9IFNEVk9fVlNZTkNf QUNUSVZFX0hJR0g7CiAJaWYgKGFkanVzdGVkX21vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19Q SFNZTkMpCiAJCWhkbWlfdmFsIHw9IFNEVk9fSFNZTkNfQUNUSVZFX0hJR0g7CiAKLQlpZiAoY3J0 Yy0+Y29uZmlnLT5waXBlX2JwcCA+IDI0KQorCWlmIChjcnRjX3N0YXRlLT5waXBlX2JwcCA+IDI0 KQogCQloZG1pX3ZhbCB8PSBIRE1JX0NPTE9SX0ZPUk1BVF8xMmJwYzsKIAllbHNlCiAJCWhkbWlf dmFsIHw9IFNEVk9fQ09MT1JfRk9STUFUXzhicGM7CiAKLQlpZiAoY3J0Yy0+Y29uZmlnLT5oYXNf aGRtaV9zaW5rKQorCWlmIChjcnRjX3N0YXRlLT5oYXNfaGRtaV9zaW5rKQogCQloZG1pX3ZhbCB8 PSBIRE1JX01PREVfU0VMRUNUX0hETUk7CiAKIAlpZiAoSEFTX1BDSF9DUFQoZGV2X3ByaXYpKQpA QCAtOTc5LDkgKzk3OSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9oZG1pX2F1ZGlvKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqcGlwZV9jb25maWcsCiAJCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpj b25uX3N0YXRlKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0Yyhl bmNvZGVyLT5iYXNlLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhwaXBlX2NvbmZpZy0+YmFzZS5jcnRjKTsKIAotCVdBUk5fT04oIWNydGMtPmNvbmZpZy0+ aGFzX2hkbWlfc2luayk7CisJV0FSTl9PTighcGlwZV9jb25maWctPmhhc19oZG1pX3NpbmspOwog CURSTV9ERUJVR19EUklWRVIoIkVuYWJsaW5nIEhETUkgYXVkaW8gb24gcGlwZSAlY1xuIiwKIAkJ CSBwaXBlX25hbWUoY3J0Yy0+cGlwZSkpOwogCWludGVsX2F1ZGlvX2NvZGVjX2VuYWJsZShlbmNv ZGVyLCBwaXBlX2NvbmZpZywgY29ubl9zdGF0ZSk7CkBAIC0xMDE1LDE0ICsxMDE1LDEzIEBAIHN0 YXRpYyB2b2lkIGlieF9lbmFibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwK IHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCXN0cnVjdCBpbnRl bF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwogCXN0cnVj dCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoJmVuY29kZXItPmJh c2UpOwogCXUzMiB0ZW1wOwogCiAJdGVtcCA9IEk5MTVfUkVBRChpbnRlbF9oZG1pLT5oZG1pX3Jl Zyk7CiAKIAl0ZW1wIHw9IFNEVk9fRU5BQkxFOwotCWlmIChjcnRjLT5jb25maWctPmhhc19hdWRp bykKKwlpZiAocGlwZV9jb25maWctPmhhc19hdWRpbykKIAkJdGVtcCB8PSBTRFZPX0FVRElPX0VO QUJMRTsKIAogCS8qCkBAIC0xMDY2LDcgKzEwNjUsNyBAQCBzdGF0aWMgdm9pZCBjcHRfZW5hYmxl X2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7CiAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9 IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7CiAJc3RydWN0IGludGVsX2hk bWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7CiAJZW51 bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwogCXUzMiB0ZW1wOwpAQCAtMTEyOCw3ICsxMTI3LDcg QEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0 IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFz ZSk7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJh c2UuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG9sZF9j cnRjX3N0YXRlLT5iYXNlLmNydGMpOwogCXUzMiB0ZW1wOwogCiAJdGVtcCA9IEk5MTVfUkVBRChp bnRlbF9oZG1pLT5oZG1pX3JlZyk7CkBAIC0xMTcwLDcgKzExNjksNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCWludGVs X3NldF9wY2hfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIFBJUEVfQSwgdHJ1ZSk7 CiAJfQogCi0JaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMoJmVuY29kZXItPmJhc2UsIGZhbHNl LCBOVUxMKTsKKwlpbnRlbF9oZG1pLT5zZXRfaW5mb2ZyYW1lcygmZW5jb2Rlci0+YmFzZSwgZmFs c2UsIG9sZF9jcnRjX3N0YXRlLCBvbGRfY29ubl9zdGF0ZSk7CiAKIAlpbnRlbF9kcF9kdWFsX21v ZGVfc2V0X3RtZHNfb3V0cHV0KGludGVsX2hkbWksIGZhbHNlKTsKIH0KQEAgLTE2NDIsMTMgKzE2 NDEsMTIgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogCQkJCSAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5f c3RhdGUpCiB7CiAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxf aGRtaSgmZW5jb2Rlci0+YmFzZSk7Ci0JY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFk anVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKIAotCWludGVs X2hkbWlfcHJlcGFyZShlbmNvZGVyKTsKKwlpbnRlbF9oZG1pX3ByZXBhcmUoZW5jb2RlciwgcGlw ZV9jb25maWcpOwogCiAJaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMoJmVuY29kZXItPmJhc2Us CiAJCQkJICAgcGlwZV9jb25maWctPmhhc19oZG1pX3NpbmssCi0JCQkJICAgYWRqdXN0ZWRfbW9k ZSk7CisJCQkJICAgcGlwZV9jb25maWcsIGNvbm5fc3RhdGUpOwogfQogCiBzdGF0aWMgdm9pZCB2 bHZfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLApAQCAtMTY1 OSw3ICsxNjU3LDYgQEAgc3RhdGljIHZvaWQgdmx2X2hkbWlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9ICZk cG9ydC0+aGRtaTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwotCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmln LT5iYXNlLmFkanVzdGVkX21vZGU7CiAKIAl2bHZfcGh5X3ByZV9lbmNvZGVyX2VuYWJsZShlbmNv ZGVyKTsKIApAQCAtMTY2OSw3ICsxNjY2LDcgQEAgc3RhdGljIHZvaWQgdmx2X2hkbWlfcHJlX2Vu YWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCWludGVsX2hkbWktPnNldF9p bmZvZnJhbWVzKCZlbmNvZGVyLT5iYXNlLAogCQkJCSAgIHBpcGVfY29uZmlnLT5oYXNfaGRtaV9z aW5rLAotCQkJCSAgIGFkanVzdGVkX21vZGUpOworCQkJCSAgIHBpcGVfY29uZmlnLCBjb25uX3N0 YXRlKTsKIAogCWc0eF9lbmFibGVfaGRtaShlbmNvZGVyLCBwaXBlX2NvbmZpZywgY29ubl9zdGF0 ZSk7CiAKQEAgLTE2ODAsNyArMTY3Nyw3IEBAIHN0YXRpYyB2b2lkIHZsdl9oZG1pX3ByZV9wbGxf ZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpjb25uX3N0YXRlKQogewotCWludGVsX2hkbWlfcHJlcGFyZShlbmNvZGVyKTsKKwlp bnRlbF9oZG1pX3ByZXBhcmUoZW5jb2RlciwgcGlwZV9jb25maWcpOwogCiAJdmx2X3BoeV9wcmVf cGxsX2VuYWJsZShlbmNvZGVyKTsKIH0KQEAgLTE2ODksNyArMTY4Niw3IEBAIHN0YXRpYyB2b2lk IGNodl9oZG1pX3ByZV9wbGxfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAog CQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJCQkJICAgIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewotCWludGVsX2hkbWlfcHJl cGFyZShlbmNvZGVyKTsKKwlpbnRlbF9oZG1pX3ByZXBhcmUoZW5jb2RlciwgcGlwZV9jb25maWcp OwogCiAJY2h2X3BoeV9wcmVfcGxsX2VuYWJsZShlbmNvZGVyKTsKIH0KQEAgLTE3MzIsOSArMTcy OSw2IEBAIHN0YXRpYyB2b2lkIGNodl9oZG1pX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSAmZHBvcnQtPmhk bWk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKLQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9Ci0JCXRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRj KTsKLQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZpbnRl bF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKIAogCWNodl9waHlfcHJlX2VuY29k ZXJfZW5hYmxlKGVuY29kZXIpOwogCkBAIC0xNzQzLDggKzE3MzcsOCBAQCBzdGF0aWMgdm9pZCBj aHZfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWNodl9z ZXRfcGh5X3NpZ25hbF9sZXZlbChlbmNvZGVyLCAxMjgsIDEwMiwgZmFsc2UpOwogCiAJaW50ZWxf aGRtaS0+c2V0X2luZm9mcmFtZXMoJmVuY29kZXItPmJhc2UsCi0JCQkJICAgaW50ZWxfY3J0Yy0+ Y29uZmlnLT5oYXNfaGRtaV9zaW5rLAotCQkJCSAgIGFkanVzdGVkX21vZGUpOworCQkJCSAgIHBp cGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rLAorCQkJCSAgIHBpcGVfY29uZmlnLCBjb25uX3N0YXRl KTsKIAogCWc0eF9lbmFibGVfaGRtaShlbmNvZGVyLCBwaXBlX2NvbmZpZywgY29ubl9zdGF0ZSk7 CiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=