From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 22/49] drm/amd/display: Set DSC before DIG front-end is connected to its back-end Date: Fri, 9 Aug 2019 17:37:15 -0400 Message-ID: <20190809213742.30301-23-sunpeng.li@amd.com> References: <20190809213742.30301-1-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809213742.30301-1-sunpeng.li-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Leo Li , Jun Lei , Nikola Cornij RnJvbTogTmlrb2xhIENvcm5paiA8bmlrb2xhLmNvcm5pakBhbWQuY29tPgoKW3doeV0KQXQgdGhl IHRpbWUgRElHIEZFIGlzIGNvbm5lY3RlZCB0byBpdHMgQkUsIHRoZSBjbG9ja3MgaW4gT1RHIGFy ZSBlbmFibGVkIGFuZApQSFkgd2lsbCBhbHNvIGJlIHNldCB1cC4gV2hlbiBEU0MgaGFzIHRvIGJl IHVzZWQgdG8gZml0IHRoZSBzdHJlYW0gaW50byB0aGUKYXZhaWxhYmxlIGJhbmR3aWR0aCwgd2l0 aG91dCBEU0MgYmVpbmcgc2V0IERJRyBjb3VsZCBnZXQgZXhwb3NlZCB0byB0aGUKaGlnZXIgYmFu ZHdpZHRoIGl0IChvciBsaW5rKSBjb3VsZCBoYW5kbGUuIFRoaXMgY2F1c2VzIHRoZSBIVyB0byAi cmVqZWN0Igp2aWRlbyBlbmFibGUgc2V0dXAgKHRoZSByZWdpc3RlciBzaG93cyB0aGF0IHZpZGVv IGVuYWJsZSB3YXMgYXR0ZW1wdGVkLCBidXQKdGhlIHN0YXR1cyBiaXQgc2hvd3MgaXQgYXMgZGlz YWJsZWQpLgoKW2hvd10KLSBTZXBhcmF0ZSBEU0Mgc2V0dXAgaW50byBEU0MgcmVnaXN0ZXIgY29u ZmlnIGFuZCBEU0MgUFBTIFNEUCBzZXR1cAoKLSBNb3ZlIG1vc3Qgb2YgdGhlIERTQyBzZXR1cCAo cmVnaXN0ZXIgY29uZmlnKSB0byBiZWZvcmUKICBkY24xMF9saW5rX2VuY29kZXJfY29ubmVjdF9k aWdfYmVfdG9fZmUoKSBpcyAgY2FsbGVkCgotIFNldCB1cCBEU0MgUFBTIFNEUCBhZnRlciBESUcg RkUgaXMgY29ubmVjdGVkIHRvIGl0cyBCRS4gVGhpcyBpcyBiZWNhdXNlCiAgc2V0dGluZyBEU0Mg UFBTIFNEUCBiZWZvcmUgdGhhdCBoYXMgbm8gZWZmZWN0LgoKU2lnbmVkLW9mZi1ieTogTmlrb2xh IENvcm5paiA8bmlrb2xhLmNvcm5pakBhbWQuY29tPgpSZXZpZXdlZC1ieTogSnVuIExlaSA8SnVu LkxlaUBhbWQuY29tPgpBY2tlZC1ieTogTGVvIExpIDxzdW5wZW5nLmxpQGFtZC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jIHwgIDIwICsrLS0K IC4uLi9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rX2h3c3MuYyAgICB8ICA3OCArKysr KysrKysrKy0tLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfZHNjLmMg IHwgMTAwICsrKysrKysrKystLS0tLS0tLQogLi4uL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfc3Ry ZWFtX2VuY29kZXIuYyAgIHwgIDI1ICsrKy0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9p bmMvZGNfbGlua19kcC5oICAgfCAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9pbmMvaHcvZHNjLmggICB8ICAgNCArLQogLi4uL2FtZC9kaXNwbGF5L2RjL2luYy9ody9zdHJl YW1fZW5jb2Rlci5oICAgIHwgIDEyICsrLQogNyBmaWxlcyBjaGFuZ2VkLCAxNTggaW5zZXJ0aW9u cygrKSwgODQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2NvcmUvZGNfbGluay5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2NvcmUvZGNfbGluay5jCmluZGV4IDU2YmViYTY1N2NhYy4uY2ExMmM2NmE0ZTA2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jCkBAIC0yNzI1LDIx ICsyNzI1LDI3IEBAIHZvaWQgY29yZV9saW5rX2VuYWJsZV9zdHJlYW0oCiAJCQkJCUNPTlRST0xM RVJfRFBfVEVTVF9QQVRURVJOX1ZJREVPTU9ERSwKIAkJCQkJQ09MT1JfREVQVEhfVU5ERUZJTkVE KTsKIAorI2lmZGVmIENPTkZJR19EUk1fQU1EX0RDX0RTQ19TVVBQT1JUCisJCWlmIChwaXBlX2N0 eC0+c3RyZWFtLT50aW1pbmcuZmxhZ3MuRFNDKSB7CisJCQlpZiAoZGNfaXNfZHBfc2lnbmFsKHBp cGVfY3R4LT5zdHJlYW0tPnNpZ25hbCkgfHwKKwkJCQkJZGNfaXNfdmlydHVhbF9zaWduYWwocGlw ZV9jdHgtPnN0cmVhbS0+c2lnbmFsKSkKKwkJCQlkcF9zZXRfZHNjX2VuYWJsZShwaXBlX2N0eCwg dHJ1ZSk7CisJCX0KKyNlbmRpZgogCQljb3JlX2RjLT5od3NzLmVuYWJsZV9zdHJlYW0ocGlwZV9j dHgpOwogCi0JCWlmIChwaXBlX2N0eC0+c3RyZWFtLT5zaWduYWwgPT0gU0lHTkFMX1RZUEVfRElT UExBWV9QT1JUX01TVCkKLQkJCWFsbG9jYXRlX21zdF9wYXlsb2FkKHBpcGVfY3R4KTsKLQogI2lm ZGVmIENPTkZJR19EUk1fQU1EX0RDX0RTQ19TVVBQT1JUCisJCS8qIFNldCBEUFMgUFBTIFNEUCAo QUtBICJpbmZvIGZyYW1lcyIpICovCiAJCWlmIChwaXBlX2N0eC0+c3RyZWFtLT50aW1pbmcuZmxh Z3MuRFNDKSB7CiAJCQlpZiAoZGNfaXNfZHBfc2lnbmFsKHBpcGVfY3R4LT5zdHJlYW0tPnNpZ25h bCkgfHwKIAkJCQkJZGNfaXNfdmlydHVhbF9zaWduYWwocGlwZV9jdHgtPnN0cmVhbS0+c2lnbmFs KSkKLQkJCQlkcF9zZXRfZHNjX2VuYWJsZShwaXBlX2N0eCwgdHJ1ZSk7Ci0JCQlwaXBlX2N0eC0+ c3RyZWFtX3Jlcy50Zy0+ZnVuY3MtPndhaXRfZm9yX3N0YXRlKAotCQkJCQlwaXBlX2N0eC0+c3Ry ZWFtX3Jlcy50ZywKLQkJCQkJQ1JUQ19TVEFURV9WQkxBTkspOworCQkJCWRwX3NldF9kc2NfcHBz X3NkcChwaXBlX2N0eCwgdHJ1ZSk7CiAJCX0KICNlbmRpZgorCisJCWlmIChwaXBlX2N0eC0+c3Ry ZWFtLT5zaWduYWwgPT0gU0lHTkFMX1RZUEVfRElTUExBWV9QT1JUX01TVCkKKwkJCWFsbG9jYXRl X21zdF9wYXlsb2FkKHBpcGVfY3R4KTsKKwogCQljb3JlX2RjLT5od3NzLnVuYmxhbmtfc3RyZWFt KHBpcGVfY3R4LAogCQkJJnBpcGVfY3R4LT5zdHJlYW0tPmxpbmstPmN1cl9saW5rX3NldHRpbmdz KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNf bGlua19od3NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5r X2h3c3MuYwppbmRleCBkYWFmZjczMTk0MTMuLmFmNjUwNzFiNmNmNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19od3NzLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19od3NzLmMKQEAgLTM2MSw5 ICszNjEsMTAgQEAgc3RhdGljIGJvb2wgZHBfc2V0X2RzY19vbl9yeChzdHJ1Y3QgcGlwZV9jdHgg KnBpcGVfY3R4LCBib29sIGVuYWJsZSkKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBUaGlzIGhh cyB0byBiZSBkb25lIGFmdGVyIERTQyB3YXMgZW5hYmxlZCBvbiBSWCBmaXJzdCwgaS5lLiBhZnRl ciBkcF9lbmFibGVfZHNjX29uX3J4KCkgaGFkIGJlZW4gY2FsbGVkCisvKiBUaGUgc3RyZWFtIHdp dGggdGhlc2Ugc2V0dGluZ3MgY2FuIGJlIHNlbnQgKHVuYmxhbmtlZCkgb25seSBhZnRlciBEU0Mg d2FzIGVuYWJsZWQgb24gUlggZmlyc3QsCisgKiBpLmUuIGFmdGVyIGRwX2VuYWJsZV9kc2Nfb25f cngoKSBoYWQgYmVlbiBjYWxsZWQKICAqLwotdm9pZCBzZXRfZHNjX29uX3N0cmVhbShzdHJ1Y3Qg cGlwZV9jdHggKnBpcGVfY3R4LCBib29sIGVuYWJsZSkKK3ZvaWQgZHBfc2V0X2RzY19vbl9zdHJl YW0oc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCwgYm9vbCBlbmFibGUpCiB7CiAJc3RydWN0IGRp c3BsYXlfc3RyZWFtX2NvbXByZXNzb3IgKmRzYyA9IHBpcGVfY3R4LT5zdHJlYW1fcmVzLmRzYzsK IAlzdHJ1Y3QgZGMgKmNvcmVfZGMgPSBwaXBlX2N0eC0+c3RyZWFtLT5jdHgtPmRjOwpAQCAtMzcx LDExICszNzIsOSBAQCB2b2lkIHNldF9kc2Nfb25fc3RyZWFtKHN0cnVjdCBwaXBlX2N0eCAqcGlw ZV9jdHgsIGJvb2wgZW5hYmxlKQogCXN0cnVjdCBwaXBlX2N0eCAqb2RtX3BpcGUgPSBkY19yZXNf Z2V0X29kbV9ib3R0b21fcGlwZShwaXBlX2N0eCk7CiAKIAlpZiAoZW5hYmxlKSB7Ci0JCS8qIFRP RE8gcHJvcGVyIGZ1bmN0aW9uICovCiAJCXN0cnVjdCBkc2NfY29uZmlnIGRzY19jZmc7CiAJCXN0 cnVjdCBkc2Nfb3B0Y19jb25maWcgZHNjX29wdGNfY2ZnOwogCQllbnVtIG9wdGNfZHNjX21vZGUg b3B0Y19kc2NfbW9kZTsKLQkJdWludDhfdCBkc2NfcGFja2VkX3Bwc1sxMjhdOwogCiAJCS8qIEVu YWJsZSBEU0MgaHcgYmxvY2sgKi8KIAkJZHNjX2NmZy5waWNfd2lkdGggPSBzdHJlYW0tPnRpbWlu Zy5oX2FkZHJlc3NhYmxlICsgc3RyZWFtLT50aW1pbmcuaF9ib3JkZXJfbGVmdCArIHN0cmVhbS0+ dGltaW5nLmhfYm9yZGVyX3JpZ2h0OwpAQCAtMzg0LDE5ICszODMsMjAgQEAgdm9pZCBzZXRfZHNj X29uX3N0cmVhbShzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4LCBib29sIGVuYWJsZSkKIAkJZHNj X2NmZy5jb2xvcl9kZXB0aCA9IHN0cmVhbS0+dGltaW5nLmRpc3BsYXlfY29sb3JfZGVwdGg7CiAJ CWRzY19jZmcuZGNfZHNjX2NmZyA9IHN0cmVhbS0+dGltaW5nLmRzY19jZmc7CiAKLQkJZHNjLT5m dW5jcy0+ZHNjX3NldF9jb25maWcoZHNjLCAmZHNjX2NmZywgJmRzY19vcHRjX2NmZywgJmRzY19w YWNrZWRfcHBzWzBdKTsKIAkJaWYgKG9kbV9waXBlKSB7CiAJCQlzdHJ1Y3QgZGlzcGxheV9zdHJl YW1fY29tcHJlc3NvciAqYm90X2RzYyA9IG9kbV9waXBlLT5zdHJlYW1fcmVzLmRzYzsKLQkJCXVp bnQ4X3QgZHNjX3BhY2tlZF9wcHNfb2RtWzEyOF07CiAKIAkJCWRzY19jZmcucGljX3dpZHRoIC89 IDI7CiAJCQlBU1NFUlQoZHNjX2NmZy5kY19kc2NfY2ZnLm51bV9zbGljZXNfaCAlIDIgPT0gMCk7 CiAJCQlkc2NfY2ZnLmRjX2RzY19jZmcubnVtX3NsaWNlc19oIC89IDI7Ci0JCQlkc2MtPmZ1bmNz LT5kc2Nfc2V0X2NvbmZpZyhkc2MsICZkc2NfY2ZnLCAmZHNjX29wdGNfY2ZnLCAmZHNjX3BhY2tl ZF9wcHNfb2RtWzBdKTsKLQkJCWJvdF9kc2MtPmZ1bmNzLT5kc2Nfc2V0X2NvbmZpZyhib3RfZHNj LCAmZHNjX2NmZywgJmRzY19vcHRjX2NmZywgJmRzY19wYWNrZWRfcHBzX29kbVswXSk7CisJCQlk c2MtPmZ1bmNzLT5kc2Nfc2V0X2NvbmZpZyhkc2MsICZkc2NfY2ZnLCAmZHNjX29wdGNfY2ZnKTsK KwkJCWJvdF9kc2MtPmZ1bmNzLT5kc2Nfc2V0X2NvbmZpZyhib3RfZHNjLCAmZHNjX2NmZywgJmRz Y19vcHRjX2NmZyk7CisJCQlkc2MtPmZ1bmNzLT5kc2NfZW5hYmxlKGRzYywgcGlwZV9jdHgtPnN0 cmVhbV9yZXMub3BwLT5pbnN0KTsKIAkJCWJvdF9kc2MtPmZ1bmNzLT5kc2NfZW5hYmxlKGJvdF9k c2MsIG9kbV9waXBlLT5zdHJlYW1fcmVzLm9wcC0+aW5zdCk7CisJCX0gZWxzZSB7CisJCQlkc2Mt PmZ1bmNzLT5kc2Nfc2V0X2NvbmZpZyhkc2MsICZkc2NfY2ZnLCAmZHNjX29wdGNfY2ZnKTsKKwkJ CWRzYy0+ZnVuY3MtPmRzY19lbmFibGUoZHNjLCBwaXBlX2N0eC0+c3RyZWFtX3Jlcy5vcHAtPmlu c3QpOwogCQl9Ci0JCWRzYy0+ZnVuY3MtPmRzY19lbmFibGUoZHNjLCBwaXBlX2N0eC0+c3RyZWFt X3Jlcy5vcHAtPmluc3QpOwogCiAJCW9wdGNfZHNjX21vZGUgPSBkc2Nfb3B0Y19jZmcuaXNfcGl4 ZWxfZm9ybWF0XzQ0NCA/IE9QVENfRFNDX0VOQUJMRURfNDQ0IDogT1BUQ19EU0NfRU5BQkxFRF9O QVRJVkVfU1VCU0FNUExFRDsKIApAQCAtNDA2LDggKzQwNiw5IEBAIHZvaWQgc2V0X2RzY19vbl9z dHJlYW0oc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCwgYm9vbCBlbmFibGUpCiAJCQlwaXBlX2N0 eC0+c3RyZWFtX3Jlcy5zdHJlYW1fZW5jLT5mdW5jcy0+ZHBfc2V0X2RzY19jb25maWcocGlwZV9j dHgtPnN0cmVhbV9yZXMuc3RyZWFtX2VuYywKIAkJCQkJCQkJCW9wdGNfZHNjX21vZGUsCiAJCQkJ CQkJCQlkc2Nfb3B0Y19jZmcuYnl0ZXNfcGVyX3BpeGVsLAotCQkJCQkJCQkJZHNjX29wdGNfY2Zn LnNsaWNlX3dpZHRoLAotCQkJCQkJCQkJJmRzY19wYWNrZWRfcHBzWzBdKTsKKwkJCQkJCQkJCWRz Y19vcHRjX2NmZy5zbGljZV93aWR0aCk7CisKKwkJCS8qIFBQUyBTRFAgaXMgc2V0IGVsc2V3aGVy ZSBiZWNhdXNlIGl0IGhhcyB0byBiZSBkb25lIGFmdGVyIERJRyBGRSBpcyBjb25uZWN0ZWQgdG8g RElHIEJFICovCiAKIAkJLyogRW5hYmxlIERTQyBpbiBPUFRDICovCiAJCXBpcGVfY3R4LT5zdHJl YW1fcmVzLnRnLT5mdW5jcy0+c2V0X2RzY19jb25maWcocGlwZV9jdHgtPnN0cmVhbV9yZXMudGcs CkBAIC00MjEsMTAgKzQyMiwxNCBAQCB2b2lkIHNldF9kc2Nfb25fc3RyZWFtKHN0cnVjdCBwaXBl X2N0eCAqcGlwZV9jdHgsIGJvb2wgZW5hYmxlKQogCQkJCU9QVENfRFNDX0RJU0FCTEVELCAwLCAw KTsKIAogCQkvKiBkaXNhYmxlIERTQyBpbiBzdHJlYW0gZW5jb2RlciAqLwotCQlpZiAoZGNfaXNf ZHBfc2lnbmFsKHN0cmVhbS0+c2lnbmFsKSAmJiAhSVNfRlBHQV9NQVhJTVVTX0RDKGNvcmVfZGMt PmN0eC0+ZGNlX2Vudmlyb25tZW50KSkKKwkJaWYgKGRjX2lzX2RwX3NpZ25hbChzdHJlYW0tPnNp Z25hbCkgJiYgIUlTX0ZQR0FfTUFYSU1VU19EQyhjb3JlX2RjLT5jdHgtPmRjZV9lbnZpcm9ubWVu dCkpIHsKIAkJCXBpcGVfY3R4LT5zdHJlYW1fcmVzLnN0cmVhbV9lbmMtPmZ1bmNzLT5kcF9zZXRf ZHNjX2NvbmZpZygKIAkJCQkJcGlwZV9jdHgtPnN0cmVhbV9yZXMuc3RyZWFtX2VuYywKLQkJCQkJ T1BUQ19EU0NfRElTQUJMRUQsIDAsIDAsIE5VTEwpOworCQkJCQlPUFRDX0RTQ19ESVNBQkxFRCwg MCwgMCk7CisKKwkJCXBpcGVfY3R4LT5zdHJlYW1fcmVzLnN0cmVhbV9lbmMtPmZ1bmNzLT5kcF9z ZXRfZHNjX3Bwc19pbmZvX3BhY2tldCgKKwkJCQkJcGlwZV9jdHgtPnN0cmVhbV9yZXMuc3RyZWFt X2VuYywgZmFsc2UsIE5VTEwpOworCQl9CiAKIAkJLyogZGlzYWJsZSBEU0MgYmxvY2sgKi8KIAkJ cGlwZV9jdHgtPnN0cmVhbV9yZXMuZHNjLT5mdW5jcy0+ZHNjX2Rpc2FibGUocGlwZV9jdHgtPnN0 cmVhbV9yZXMuZHNjKTsKQEAgLTQ0NSwxOCArNDUwLDU3IEBAIGJvb2wgZHBfc2V0X2RzY19lbmFi bGUoc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCwgYm9vbCBlbmFibGUpCiAKIAlpZiAoZW5hYmxl KSB7CiAJCWlmIChkcF9zZXRfZHNjX29uX3J4KHBpcGVfY3R4LCB0cnVlKSkgewotCQkJc2V0X2Rz Y19vbl9zdHJlYW0ocGlwZV9jdHgsIHRydWUpOworCQkJZHBfc2V0X2RzY19vbl9zdHJlYW0ocGlw ZV9jdHgsIHRydWUpOwogCQkJcmVzdWx0ID0gdHJ1ZTsKIAkJfQogCX0gZWxzZSB7CiAJCWRwX3Nl dF9kc2Nfb25fcngocGlwZV9jdHgsIGZhbHNlKTsKLQkJc2V0X2RzY19vbl9zdHJlYW0ocGlwZV9j dHgsIGZhbHNlKTsKKwkJZHBfc2V0X2RzY19vbl9zdHJlYW0ocGlwZV9jdHgsIGZhbHNlKTsKIAkJ cmVzdWx0ID0gdHJ1ZTsKIAl9CiBvdXQ6CiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorYm9vbCBkcF9z ZXRfZHNjX3Bwc19zZHAoc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCwgYm9vbCBlbmFibGUpCit7 CisJc3RydWN0IGRpc3BsYXlfc3RyZWFtX2NvbXByZXNzb3IgKmRzYyA9IHBpcGVfY3R4LT5zdHJl YW1fcmVzLmRzYzsKKwlzdHJ1Y3QgZGMgKmNvcmVfZGMgPSBwaXBlX2N0eC0+c3RyZWFtLT5jdHgt PmRjOworCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSA9IHBpcGVfY3R4LT5zdHJlYW07 CisKKwlpZiAoIXBpcGVfY3R4LT5zdHJlYW0tPnRpbWluZy5mbGFncy5EU0MgfHwgIWRzYykKKwkJ cmV0dXJuIGZhbHNlOworCisJaWYgKGVuYWJsZSkgeworCQlzdHJ1Y3QgZHNjX2NvbmZpZyBkc2Nf Y2ZnOworCQl1aW50OF90IGRzY19wYWNrZWRfcHBzWzEyOF07CisKKwkJLyogRW5hYmxlIERTQyBo dyBibG9jayAqLworCQlkc2NfY2ZnLnBpY193aWR0aCA9IHN0cmVhbS0+dGltaW5nLmhfYWRkcmVz c2FibGUgKyBzdHJlYW0tPnRpbWluZy5oX2JvcmRlcl9sZWZ0ICsgc3RyZWFtLT50aW1pbmcuaF9i b3JkZXJfcmlnaHQ7CisJCWRzY19jZmcucGljX2hlaWdodCA9IHN0cmVhbS0+dGltaW5nLnZfYWRk cmVzc2FibGUgKyBzdHJlYW0tPnRpbWluZy52X2JvcmRlcl90b3AgKyBzdHJlYW0tPnRpbWluZy52 X2JvcmRlcl9ib3R0b207CisJCWRzY19jZmcucGl4ZWxfZW5jb2RpbmcgPSBzdHJlYW0tPnRpbWlu Zy5waXhlbF9lbmNvZGluZzsKKwkJZHNjX2NmZy5jb2xvcl9kZXB0aCA9IHN0cmVhbS0+dGltaW5n LmRpc3BsYXlfY29sb3JfZGVwdGg7CisJCWRzY19jZmcuZGNfZHNjX2NmZyA9IHN0cmVhbS0+dGlt aW5nLmRzY19jZmc7CisKKwkJZHNjLT5mdW5jcy0+ZHNjX2dldF9wYWNrZWRfcHBzKGRzYywgJmRz Y19jZmcsICZkc2NfcGFja2VkX3Bwc1swXSk7CisJCWlmIChkY19pc19kcF9zaWduYWwoc3RyZWFt LT5zaWduYWwpICYmICFJU19GUEdBX01BWElNVVNfREMoY29yZV9kYy0+Y3R4LT5kY2VfZW52aXJv bm1lbnQpKQorCQkJcGlwZV9jdHgtPnN0cmVhbV9yZXMuc3RyZWFtX2VuYy0+ZnVuY3MtPmRwX3Nl dF9kc2NfcHBzX2luZm9fcGFja2V0KAorCQkJCQkJCQkJcGlwZV9jdHgtPnN0cmVhbV9yZXMuc3Ry ZWFtX2VuYywKKwkJCQkJCQkJCXRydWUsCisJCQkJCQkJCQkmZHNjX3BhY2tlZF9wcHNbMF0pOwor CisJfSBlbHNlIHsKKwkJLyogZGlzYWJsZSBEU0MgUFBTIGluIHN0cmVhbSBlbmNvZGVyICovCisJ CWlmIChkY19pc19kcF9zaWduYWwoc3RyZWFtLT5zaWduYWwpICYmICFJU19GUEdBX01BWElNVVNf REMoY29yZV9kYy0+Y3R4LT5kY2VfZW52aXJvbm1lbnQpKSB7CisJCQlwaXBlX2N0eC0+c3RyZWFt X3Jlcy5zdHJlYW1fZW5jLT5mdW5jcy0+ZHBfc2V0X2RzY19wcHNfaW5mb19wYWNrZXQoCisJCQkJ CQlwaXBlX2N0eC0+c3RyZWFtX3Jlcy5zdHJlYW1fZW5jLCBmYWxzZSwgTlVMTCk7CisJCX0KKwl9 CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworCiBib29sIGRwX3VwZGF0ZV9kc2NfY29uZmlnKHN0cnVj dCBwaXBlX2N0eCAqcGlwZV9jdHgpCiB7CiAJc3RydWN0IGRpc3BsYXlfc3RyZWFtX2NvbXByZXNz b3IgKmRzYyA9IHBpcGVfY3R4LT5zdHJlYW1fcmVzLmRzYzsKQEAgLTQ2Niw5ICs1MTAsOSBAQCBi b29sIGRwX3VwZGF0ZV9kc2NfY29uZmlnKHN0cnVjdCBwaXBlX2N0eCAqcGlwZV9jdHgpCiAJaWYg KCFkc2MpCiAJCXJldHVybiBmYWxzZTsKIAotCXNldF9kc2Nfb25fc3RyZWFtKHBpcGVfY3R4LCB0 cnVlKTsKKwlkcF9zZXRfZHNjX29uX3N0cmVhbShwaXBlX2N0eCwgdHJ1ZSk7CisJZHBfc2V0X2Rz Y19wcHNfc2RwKHBpcGVfY3R4LCB0cnVlKTsKIAlyZXR1cm4gdHJ1ZTsKIH0KLQogI2VuZGlmCiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9k c2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9kc2MuYwpp bmRleCBlODcwY2FhOGQ0ZmEuLmU0ZDE4NGNkZWE4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX2RzYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9kc2MuYwpAQCAtMjksNyArMjksNyBAQAogI2lu Y2x1ZGUgImRzYy9kc2NjX3R5cGVzLmgiCiAKIHN0YXRpYyB2b2lkIGRzY19sb2dfcHBzKHN0cnVj dCBkaXNwbGF5X3N0cmVhbV9jb21wcmVzc29yICpkc2MsIHN0cnVjdCBkcm1fZHNjX2NvbmZpZyAq cHBzKTsKLXN0YXRpYyBib29sIGRzY19wcmVwYXJlX2NvbmZpZyhzdHJ1Y3QgZGlzcGxheV9zdHJl YW1fY29tcHJlc3NvciAqZHNjLCBjb25zdCBzdHJ1Y3QgZHNjX2NvbmZpZyAqZHNjX2NmZywKK3N0 YXRpYyBib29sIGRzY19wcmVwYXJlX2NvbmZpZyhjb25zdCBzdHJ1Y3QgZHNjX2NvbmZpZyAqZHNj X2NmZywgc3RydWN0IGRzY19yZWdfdmFsdWVzICpkc2NfcmVnX3ZhbHMsCiAJCQlzdHJ1Y3QgZHNj X29wdGNfY29uZmlnICpkc2Nfb3B0Y19jZmcpOwogc3RhdGljIHZvaWQgZHNjX2luaXRfcmVnX3Zh bHVlcyhzdHJ1Y3QgZHNjX3JlZ192YWx1ZXMgKnJlZ192YWxzKTsKIHN0YXRpYyB2b2lkIGRzY191 cGRhdGVfZnJvbV9kc2NfcGFyYW1ldGVycyhzdHJ1Y3QgZHNjX3JlZ192YWx1ZXMgKnJlZ192YWxz LCBjb25zdCBzdHJ1Y3QgZHNjX3BhcmFtZXRlcnMgKmRzY19wYXJhbXMpOwpAQCAtNDIsNyArNDIs OCBAQCBzdGF0aWMgdm9pZCBkc2MyX2dldF9lbmNfY2FwcyhzdHJ1Y3QgZHNjX2VuY19jYXBzICpk c2NfZW5jX2NhcHMsIGludCBwaXhlbF9jbG9jawogc3RhdGljIHZvaWQgZHNjMl9yZWFkX3N0YXRl KHN0cnVjdCBkaXNwbGF5X3N0cmVhbV9jb21wcmVzc29yICpkc2MsIHN0cnVjdCBkY25fZHNjX3N0 YXRlICpzKTsKIHN0YXRpYyBib29sIGRzYzJfdmFsaWRhdGVfc3RyZWFtKHN0cnVjdCBkaXNwbGF5 X3N0cmVhbV9jb21wcmVzc29yICpkc2MsIGNvbnN0IHN0cnVjdCBkc2NfY29uZmlnICpkc2NfY2Zn KTsKIHN0YXRpYyB2b2lkIGRzYzJfc2V0X2NvbmZpZyhzdHJ1Y3QgZGlzcGxheV9zdHJlYW1fY29t cHJlc3NvciAqZHNjLCBjb25zdCBzdHJ1Y3QgZHNjX2NvbmZpZyAqZHNjX2NmZywKLQkJc3RydWN0 IGRzY19vcHRjX2NvbmZpZyAqZHNjX29wdGNfY2ZnLCB1aW50OF90ICpkc2NfcGFja2VkX3Bwcyk7 CisJCXN0cnVjdCBkc2Nfb3B0Y19jb25maWcgKmRzY19vcHRjX2NmZyk7CitzdGF0aWMgYm9vbCBk c2MyX2dldF9wYWNrZWRfcHBzKHN0cnVjdCBkaXNwbGF5X3N0cmVhbV9jb21wcmVzc29yICpkc2Ms IGNvbnN0IHN0cnVjdCBkc2NfY29uZmlnICpkc2NfY2ZnLCB1aW50OF90ICpkc2NfcGFja2VkX3Bw cyk7CiBzdGF0aWMgdm9pZCBkc2MyX2VuYWJsZShzdHJ1Y3QgZGlzcGxheV9zdHJlYW1fY29tcHJl c3NvciAqZHNjLCBpbnQgb3BwX3BpcGUpOwogc3RhdGljIHZvaWQgZHNjMl9kaXNhYmxlKHN0cnVj dCBkaXNwbGF5X3N0cmVhbV9jb21wcmVzc29yICpkc2MpOwogCkBAIC01MSw2ICs1Miw3IEBAIGNv bnN0IHN0cnVjdCBkc2NfZnVuY3MgZGNuMjBfZHNjX2Z1bmNzID0gewogCS5kc2NfcmVhZF9zdGF0 ZSA9IGRzYzJfcmVhZF9zdGF0ZSwKIAkuZHNjX3ZhbGlkYXRlX3N0cmVhbSA9IGRzYzJfdmFsaWRh dGVfc3RyZWFtLAogCS5kc2Nfc2V0X2NvbmZpZyA9IGRzYzJfc2V0X2NvbmZpZywKKwkuZHNjX2dl dF9wYWNrZWRfcHBzID0gZHNjMl9nZXRfcGFja2VkX3BwcywKIAkuZHNjX2VuYWJsZSA9IGRzYzJf ZW5hYmxlLAogCS5kc2NfZGlzYWJsZSA9IGRzYzJfZGlzYWJsZSwKIH07CkBAIC0xNjIsMTggKzE2 NCwxNyBAQCBzdGF0aWMgdm9pZCBkc2MyX3JlYWRfc3RhdGUoc3RydWN0IGRpc3BsYXlfc3RyZWFt X2NvbXByZXNzb3IgKmRzYywgc3RydWN0IGRjbl9kcwogc3RhdGljIGJvb2wgZHNjMl92YWxpZGF0 ZV9zdHJlYW0oc3RydWN0IGRpc3BsYXlfc3RyZWFtX2NvbXByZXNzb3IgKmRzYywgY29uc3Qgc3Ry dWN0IGRzY19jb25maWcgKmRzY19jZmcpCiB7CiAJc3RydWN0IGRzY19vcHRjX2NvbmZpZyBkc2Nf b3B0Y19jZmc7CisJc3RydWN0IGRjbjIwX2RzYyAqZHNjMjAgPSBUT19EQ04yMF9EU0MoZHNjKTsK IAotCWlmIChkc2NfY2ZnLT5waWNfd2lkdGggPiBUT19EQ04yMF9EU0MoZHNjKS0+bWF4X2ltYWdl X3dpZHRoKQorCWlmIChkc2NfY2ZnLT5waWNfd2lkdGggPiBkc2MyMC0+bWF4X2ltYWdlX3dpZHRo KQogCQlyZXR1cm4gZmFsc2U7CiAKLQlyZXR1cm4gZHNjX3ByZXBhcmVfY29uZmlnKGRzYywgZHNj X2NmZywgJmRzY19vcHRjX2NmZyk7CisJcmV0dXJuIGRzY19wcmVwYXJlX2NvbmZpZyhkc2NfY2Zn LCAmZHNjMjAtPnJlZ192YWxzLCAmZHNjX29wdGNfY2ZnKTsKIH0KIAogCi1zdGF0aWMgdm9pZCBk c2NfY29uZmlnX2xvZyhzdHJ1Y3QgZGlzcGxheV9zdHJlYW1fY29tcHJlc3NvciAqZHNjLAotCQlj b25zdCBzdHJ1Y3QgZHNjX2NvbmZpZyAqY29uZmlnKQorc3RhdGljIHZvaWQgZHNjX2NvbmZpZ19s b2coc3RydWN0IGRpc3BsYXlfc3RyZWFtX2NvbXByZXNzb3IgKmRzYywgY29uc3Qgc3RydWN0IGRz Y19jb25maWcgKmNvbmZpZykKIHsKLQlEQ19MT0dfRFNDKCJTZXR0aW5nIERTQyBDb25maWcgYXQg RFNDIGluc3QgJWQiLCBkc2MtPmluc3QpOwogCURDX0xPR19EU0MoIlxuXHRudW1fc2xpY2VzX2gg JWRcblx0bnVtX3NsaWNlc192ICVkXG5cdGJpdHNfcGVyX3BpeGVsICVkXG5cdGNvbG9yX2RlcHRo ICVkIiwKIAkJY29uZmlnLT5kY19kc2NfY2ZnLm51bV9zbGljZXNfaCwKIAkJY29uZmlnLT5kY19k c2NfY2ZnLm51bV9zbGljZXNfdiwKQEAgLTE4MiwyMCArMTgzLDM3IEBAIHN0YXRpYyB2b2lkIGRz Y19jb25maWdfbG9nKHN0cnVjdCBkaXNwbGF5X3N0cmVhbV9jb21wcmVzc29yICpkc2MsCiB9CiAK IHN0YXRpYyB2b2lkIGRzYzJfc2V0X2NvbmZpZyhzdHJ1Y3QgZGlzcGxheV9zdHJlYW1fY29tcHJl c3NvciAqZHNjLCBjb25zdCBzdHJ1Y3QgZHNjX2NvbmZpZyAqZHNjX2NmZywKLQkJc3RydWN0IGRz Y19vcHRjX2NvbmZpZyAqZHNjX29wdGNfY2ZnLCB1aW50OF90ICpkc2NfcGFja2VkX3BwcykKKwkJ c3RydWN0IGRzY19vcHRjX2NvbmZpZyAqZHNjX29wdGNfY2ZnKQogewogCWJvb2wgaXNfY29uZmln X29rOwogCXN0cnVjdCBkY24yMF9kc2MgKmRzYzIwID0gVE9fRENOMjBfRFNDKGRzYyk7CiAKKwlE Q19MT0dfRFNDKCJTZXR0aW5nIERTQyBDb25maWcgYXQgRFNDIGluc3QgJWQiLCBkc2MtPmluc3Qp OwogCWRzY19jb25maWdfbG9nKGRzYywgZHNjX2NmZyk7Ci0JaXNfY29uZmlnX29rID0gZHNjX3By ZXBhcmVfY29uZmlnKGRzYywgZHNjX2NmZywgZHNjX29wdGNfY2ZnKTsKKwlpc19jb25maWdfb2sg PSBkc2NfcHJlcGFyZV9jb25maWcoZHNjX2NmZywgJmRzYzIwLT5yZWdfdmFscywgZHNjX29wdGNf Y2ZnKTsKIAlBU1NFUlQoaXNfY29uZmlnX29rKTsKLQlkcm1fZHNjX3Bwc19wYXlsb2FkX3BhY2so KHN0cnVjdCBkcm1fZHNjX3BpY3R1cmVfcGFyYW1ldGVyX3NldCAqKWRzY19wYWNrZWRfcHBzLCAm ZHNjMjAtPnJlZ192YWxzLnBwcyk7CiAJZHNjX2xvZ19wcHMoZHNjLCAmZHNjMjAtPnJlZ192YWxz LnBwcyk7CiAJZHNjX3dyaXRlX3RvX3JlZ2lzdGVycyhkc2MsICZkc2MyMC0+cmVnX3ZhbHMpOwog fQogCiAKK3N0YXRpYyBib29sIGRzYzJfZ2V0X3BhY2tlZF9wcHMoc3RydWN0IGRpc3BsYXlfc3Ry ZWFtX2NvbXByZXNzb3IgKmRzYywgY29uc3Qgc3RydWN0IGRzY19jb25maWcgKmRzY19jZmcsIHVp bnQ4X3QgKmRzY19wYWNrZWRfcHBzKQoreworCWJvb2wgaXNfY29uZmlnX29rOworCXN0cnVjdCBk c2NfcmVnX3ZhbHVlcyBkc2NfcmVnX3ZhbHM7CisJc3RydWN0IGRzY19vcHRjX2NvbmZpZyBkc2Nf b3B0Y19jZmc7CisKKwlEQ19MT0dfRFNDKCJQYWNrZWQgRFNDIFBQUyBmb3IgRFNDIENvbmZpZzoi KTsKKwlkc2NfY29uZmlnX2xvZyhkc2MsIGRzY19jZmcpOworCWlzX2NvbmZpZ19vayA9IGRzY19w cmVwYXJlX2NvbmZpZyhkc2NfY2ZnLCAmZHNjX3JlZ192YWxzLCAmZHNjX29wdGNfY2ZnKTsKKwlB U1NFUlQoaXNfY29uZmlnX29rKTsKKwlkcm1fZHNjX3Bwc19wYXlsb2FkX3BhY2soKHN0cnVjdCBk cm1fZHNjX3BpY3R1cmVfcGFyYW1ldGVyX3NldCAqKWRzY19wYWNrZWRfcHBzLCAmZHNjX3JlZ192 YWxzLnBwcyk7CisJZHNjX2xvZ19wcHMoZHNjLCAmZHNjX3JlZ192YWxzLnBwcyk7CisKKwlyZXR1 cm4gaXNfY29uZmlnX29rOworfQorCisKIHN0YXRpYyB2b2lkIGRzYzJfZW5hYmxlKHN0cnVjdCBk aXNwbGF5X3N0cmVhbV9jb21wcmVzc29yICpkc2MsIGludCBvcHBfcGlwZSkKIHsKIAlzdHJ1Y3Qg ZGNuMjBfZHNjICpkc2MyMCA9IFRPX0RDTjIwX0RTQyhkc2MpOwpAQCAtMjgyLDEzICszMDAsMTEg QEAgc3RhdGljIHZvaWQgZHNjX2xvZ19wcHMoc3RydWN0IGRpc3BsYXlfc3RyZWFtX2NvbXByZXNz b3IgKmRzYywgc3RydWN0IGRybV9kc2NfY28KIAl9CiB9CiAKLXN0YXRpYyBib29sIGRzY19wcmVw YXJlX2NvbmZpZyhzdHJ1Y3QgZGlzcGxheV9zdHJlYW1fY29tcHJlc3NvciAqZHNjLCBjb25zdCBz dHJ1Y3QgZHNjX2NvbmZpZyAqZHNjX2NmZywKK3N0YXRpYyBib29sIGRzY19wcmVwYXJlX2NvbmZp Zyhjb25zdCBzdHJ1Y3QgZHNjX2NvbmZpZyAqZHNjX2NmZywgc3RydWN0IGRzY19yZWdfdmFsdWVz ICpkc2NfcmVnX3ZhbHMsCiAJCQlzdHJ1Y3QgZHNjX29wdGNfY29uZmlnICpkc2Nfb3B0Y19jZmcp CiB7CiAJc3RydWN0IGRzY19wYXJhbWV0ZXJzIGRzY19wYXJhbXM7CiAKLQlzdHJ1Y3QgZGNuMjBf ZHNjICpkc2MyMCA9IFRPX0RDTjIwX0RTQyhkc2MpOwotCiAJLyogVmFsaWRhdGUgaW5wdXQgcGFy YW1ldGVycyAqLwogCUFTU0VSVChkc2NfY2ZnLT5kY19kc2NfY2ZnLm51bV9zbGljZXNfaCk7CiAJ QVNTRVJUKGRzY19jZmctPmRjX2RzY19jZmcubnVtX3NsaWNlc192KTsKQEAgLTMxNSw1NCArMzMx LDU0IEBAIHN0YXRpYyBib29sIGRzY19wcmVwYXJlX2NvbmZpZyhzdHJ1Y3QgZGlzcGxheV9zdHJl YW1fY29tcHJlc3NvciAqZHNjLCBjb25zdCBzdHJ1CiAJCXJldHVybiBmYWxzZTsKIAl9CiAKLQlk c2NfaW5pdF9yZWdfdmFsdWVzKCZkc2MyMC0+cmVnX3ZhbHMpOworCWRzY19pbml0X3JlZ192YWx1 ZXMoZHNjX3JlZ192YWxzKTsKIAogCS8qIENvcHkgaW5wdXQgY29uZmlnICovCi0JZHNjMjAtPnJl Z192YWxzLnBpeGVsX2Zvcm1hdCA9IGRzY19kY19waXhlbF9lbmNvZGluZ190b19kc2NfcGl4ZWxf Zm9ybWF0KGRzY19jZmctPnBpeGVsX2VuY29kaW5nLCBkc2NfY2ZnLT5kY19kc2NfY2ZnLnljYmNy NDIyX3NpbXBsZSk7Ci0JZHNjMjAtPnJlZ192YWxzLm51bV9zbGljZXNfaCA9IGRzY19jZmctPmRj X2RzY19jZmcubnVtX3NsaWNlc19oOwotCWRzYzIwLT5yZWdfdmFscy5udW1fc2xpY2VzX3YgPSBk c2NfY2ZnLT5kY19kc2NfY2ZnLm51bV9zbGljZXNfdjsKLQlkc2MyMC0+cmVnX3ZhbHMucHBzLmRz Y192ZXJzaW9uX21pbm9yID0gZHNjX2NmZy0+ZGNfZHNjX2NmZy52ZXJzaW9uX21pbm9yOwotCWRz YzIwLT5yZWdfdmFscy5wcHMucGljX3dpZHRoID0gZHNjX2NmZy0+cGljX3dpZHRoOwotCWRzYzIw LT5yZWdfdmFscy5wcHMucGljX2hlaWdodCA9IGRzY19jZmctPnBpY19oZWlnaHQ7Ci0JZHNjMjAt PnJlZ192YWxzLnBwcy5iaXRzX3Blcl9jb21wb25lbnQgPSBkc2NfZGNfY29sb3JfZGVwdGhfdG9f ZHNjX2JpdHNfcGVyX2NvbXAoZHNjX2NmZy0+Y29sb3JfZGVwdGgpOwotCWRzYzIwLT5yZWdfdmFs cy5wcHMuYmxvY2tfcHJlZF9lbmFibGUgPSBkc2NfY2ZnLT5kY19kc2NfY2ZnLmJsb2NrX3ByZWRf ZW5hYmxlOwotCWRzYzIwLT5yZWdfdmFscy5wcHMubGluZV9idWZfZGVwdGggPSBkc2NfY2ZnLT5k Y19kc2NfY2ZnLmxpbmVidWZfZGVwdGg7Ci0JZHNjMjAtPnJlZ192YWxzLmFsdGVybmF0ZV9pY2hf ZW5jb2RpbmdfZW4gPSBkc2MyMC0+cmVnX3ZhbHMucHBzLmRzY192ZXJzaW9uX21pbm9yID09IDEg PyAwIDogMTsKKwlkc2NfcmVnX3ZhbHMtPnBpeGVsX2Zvcm1hdCA9IGRzY19kY19waXhlbF9lbmNv ZGluZ190b19kc2NfcGl4ZWxfZm9ybWF0KGRzY19jZmctPnBpeGVsX2VuY29kaW5nLCBkc2NfY2Zn LT5kY19kc2NfY2ZnLnljYmNyNDIyX3NpbXBsZSk7CisJZHNjX3JlZ192YWxzLT5udW1fc2xpY2Vz X2ggPSBkc2NfY2ZnLT5kY19kc2NfY2ZnLm51bV9zbGljZXNfaDsKKwlkc2NfcmVnX3ZhbHMtPm51 bV9zbGljZXNfdiA9IGRzY19jZmctPmRjX2RzY19jZmcubnVtX3NsaWNlc192OworCWRzY19yZWdf dmFscy0+cHBzLmRzY192ZXJzaW9uX21pbm9yID0gZHNjX2NmZy0+ZGNfZHNjX2NmZy52ZXJzaW9u X21pbm9yOworCWRzY19yZWdfdmFscy0+cHBzLnBpY193aWR0aCA9IGRzY19jZmctPnBpY193aWR0 aDsKKwlkc2NfcmVnX3ZhbHMtPnBwcy5waWNfaGVpZ2h0ID0gZHNjX2NmZy0+cGljX2hlaWdodDsK Kwlkc2NfcmVnX3ZhbHMtPnBwcy5iaXRzX3Blcl9jb21wb25lbnQgPSBkc2NfZGNfY29sb3JfZGVw dGhfdG9fZHNjX2JpdHNfcGVyX2NvbXAoZHNjX2NmZy0+Y29sb3JfZGVwdGgpOworCWRzY19yZWdf dmFscy0+cHBzLmJsb2NrX3ByZWRfZW5hYmxlID0gZHNjX2NmZy0+ZGNfZHNjX2NmZy5ibG9ja19w cmVkX2VuYWJsZTsKKwlkc2NfcmVnX3ZhbHMtPnBwcy5saW5lX2J1Zl9kZXB0aCA9IGRzY19jZmct PmRjX2RzY19jZmcubGluZWJ1Zl9kZXB0aDsKKwlkc2NfcmVnX3ZhbHMtPmFsdGVybmF0ZV9pY2hf ZW5jb2RpbmdfZW4gPSBkc2NfcmVnX3ZhbHMtPnBwcy5kc2NfdmVyc2lvbl9taW5vciA9PSAxID8g MCA6IDE7CiAKIAkvLyBUT0RPOiBpbiBhZGRpdGlvbiB0byB2YWxpZGF0aW5nIHNsaWNlIGhlaWdo dCAocGljIGhlaWdodCBtdXN0IGJlIGRpdmlzaWJsZSBieSBzbGljZSBoZWlnaHQpLAogCS8vIHNl ZSB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgc2FtZSBjb25kaXRpb24gZG9lc24ndCBhcHBseSBmb3Ig c2xpY2Vfd2lkdGgvcGljX3dpZHRoLgotCWRzYzIwLT5yZWdfdmFscy5wcHMuc2xpY2Vfd2lkdGgg PSBkc2NfY2ZnLT5waWNfd2lkdGggLyBkc2NfY2ZnLT5kY19kc2NfY2ZnLm51bV9zbGljZXNfaDsK LQlkc2MyMC0+cmVnX3ZhbHMucHBzLnNsaWNlX2hlaWdodCA9IGRzY19jZmctPnBpY19oZWlnaHQg LyBkc2NfY2ZnLT5kY19kc2NfY2ZnLm51bV9zbGljZXNfdjsKKwlkc2NfcmVnX3ZhbHMtPnBwcy5z bGljZV93aWR0aCA9IGRzY19jZmctPnBpY193aWR0aCAvIGRzY19jZmctPmRjX2RzY19jZmcubnVt X3NsaWNlc19oOworCWRzY19yZWdfdmFscy0+cHBzLnNsaWNlX2hlaWdodCA9IGRzY19jZmctPnBp Y19oZWlnaHQgLyBkc2NfY2ZnLT5kY19kc2NfY2ZnLm51bV9zbGljZXNfdjsKIAotCUFTU0VSVChk c2MyMC0+cmVnX3ZhbHMucHBzLnNsaWNlX2hlaWdodCAqIGRzY19jZmctPmRjX2RzY19jZmcubnVt X3NsaWNlc192ID09IGRzY19jZmctPnBpY19oZWlnaHQpOwotCWlmICghKGRzYzIwLT5yZWdfdmFs cy5wcHMuc2xpY2VfaGVpZ2h0ICogZHNjX2NmZy0+ZGNfZHNjX2NmZy5udW1fc2xpY2VzX3YgPT0g ZHNjX2NmZy0+cGljX2hlaWdodCkpIHsKKwlBU1NFUlQoZHNjX3JlZ192YWxzLT5wcHMuc2xpY2Vf aGVpZ2h0ICogZHNjX2NmZy0+ZGNfZHNjX2NmZy5udW1fc2xpY2VzX3YgPT0gZHNjX2NmZy0+cGlj X2hlaWdodCk7CisJaWYgKCEoZHNjX3JlZ192YWxzLT5wcHMuc2xpY2VfaGVpZ2h0ICogZHNjX2Nm Zy0+ZGNfZHNjX2NmZy5udW1fc2xpY2VzX3YgPT0gZHNjX2NmZy0+cGljX2hlaWdodCkpIHsKIAkJ ZG1fb3V0cHV0X3RvX2NvbnNvbGUoIiVzOiBwaXggaGVpZ2h0ICVkIG5vdCBkaXZpc2libGUgYnkg bnVtX3NsaWNlc192ICVkXG5cbiIsIF9fZnVuY19fLCBkc2NfY2ZnLT5waWNfaGVpZ2h0LCBkc2Nf Y2ZnLT5kY19kc2NfY2ZnLm51bV9zbGljZXNfdik7CiAJCXJldHVybiBmYWxzZTsKIAl9CiAKLQlk c2MyMC0+cmVnX3ZhbHMuYnBwX3gzMiA9IGRzY19jZmctPmRjX2RzY19jZmcuYml0c19wZXJfcGl4 ZWwgPDwgMTsKLQlpZiAoZHNjMjAtPnJlZ192YWxzLnBpeGVsX2Zvcm1hdCA9PSBEU0NfUElYRk1U X05BVElWRV9ZQ0JDUjQyMCB8fCBkc2MyMC0+cmVnX3ZhbHMucGl4ZWxfZm9ybWF0ID09IERTQ19Q SVhGTVRfTkFUSVZFX1lDQkNSNDIyKQotCQlkc2MyMC0+cmVnX3ZhbHMucHBzLmJpdHNfcGVyX3Bp eGVsID0gZHNjMjAtPnJlZ192YWxzLmJwcF94MzI7CisJZHNjX3JlZ192YWxzLT5icHBfeDMyID0g ZHNjX2NmZy0+ZGNfZHNjX2NmZy5iaXRzX3Blcl9waXhlbCA8PCAxOworCWlmIChkc2NfcmVnX3Zh bHMtPnBpeGVsX2Zvcm1hdCA9PSBEU0NfUElYRk1UX05BVElWRV9ZQ0JDUjQyMCB8fCBkc2NfcmVn X3ZhbHMtPnBpeGVsX2Zvcm1hdCA9PSBEU0NfUElYRk1UX05BVElWRV9ZQ0JDUjQyMikKKwkJZHNj X3JlZ192YWxzLT5wcHMuYml0c19wZXJfcGl4ZWwgPSBkc2NfcmVnX3ZhbHMtPmJwcF94MzI7CiAJ ZWxzZQotCQlkc2MyMC0+cmVnX3ZhbHMucHBzLmJpdHNfcGVyX3BpeGVsID0gZHNjMjAtPnJlZ192 YWxzLmJwcF94MzIgPj4gMTsKKwkJZHNjX3JlZ192YWxzLT5wcHMuYml0c19wZXJfcGl4ZWwgPSBk c2NfcmVnX3ZhbHMtPmJwcF94MzIgPj4gMTsKIAotCWRzYzIwLT5yZWdfdmFscy5wcHMuY29udmVy dF9yZ2IgPSBkc2MyMC0+cmVnX3ZhbHMucGl4ZWxfZm9ybWF0ID09IERTQ19QSVhGTVRfUkdCID8g MSA6IDA7Ci0JZHNjMjAtPnJlZ192YWxzLnBwcy5uYXRpdmVfNDIyID0gKGRzYzIwLT5yZWdfdmFs cy5waXhlbF9mb3JtYXQgPT0gRFNDX1BJWEZNVF9OQVRJVkVfWUNCQ1I0MjIpOwotCWRzYzIwLT5y ZWdfdmFscy5wcHMubmF0aXZlXzQyMCA9IChkc2MyMC0+cmVnX3ZhbHMucGl4ZWxfZm9ybWF0ID09 IERTQ19QSVhGTVRfTkFUSVZFX1lDQkNSNDIwKTsKLQlkc2MyMC0+cmVnX3ZhbHMucHBzLnNpbXBs ZV80MjIgPSAoZHNjMjAtPnJlZ192YWxzLnBpeGVsX2Zvcm1hdCA9PSBEU0NfUElYRk1UX1NJTVBM RV9ZQ0JDUjQyMik7CisJZHNjX3JlZ192YWxzLT5wcHMuY29udmVydF9yZ2IgPSBkc2NfcmVnX3Zh bHMtPnBpeGVsX2Zvcm1hdCA9PSBEU0NfUElYRk1UX1JHQiA/IDEgOiAwOworCWRzY19yZWdfdmFs cy0+cHBzLm5hdGl2ZV80MjIgPSAoZHNjX3JlZ192YWxzLT5waXhlbF9mb3JtYXQgPT0gRFNDX1BJ WEZNVF9OQVRJVkVfWUNCQ1I0MjIpOworCWRzY19yZWdfdmFscy0+cHBzLm5hdGl2ZV80MjAgPSAo ZHNjX3JlZ192YWxzLT5waXhlbF9mb3JtYXQgPT0gRFNDX1BJWEZNVF9OQVRJVkVfWUNCQ1I0MjAp OworCWRzY19yZWdfdmFscy0+cHBzLnNpbXBsZV80MjIgPSAoZHNjX3JlZ192YWxzLT5waXhlbF9m b3JtYXQgPT0gRFNDX1BJWEZNVF9TSU1QTEVfWUNCQ1I0MjIpOwogCi0JaWYgKGRzY2NfY29tcHV0 ZV9kc2NfcGFyYW1ldGVycygmZHNjMjAtPnJlZ192YWxzLnBwcywgJmRzY19wYXJhbXMpKSB7CisJ aWYgKGRzY2NfY29tcHV0ZV9kc2NfcGFyYW1ldGVycygmZHNjX3JlZ192YWxzLT5wcHMsICZkc2Nf cGFyYW1zKSkgewogCQlkbV9vdXRwdXRfdG9fY29uc29sZSgiJXM6IERTQyBjb25maWcgZmFpbGVk XG4iLCBfX2Z1bmNfXyk7CiAJCXJldHVybiBmYWxzZTsKIAl9CiAKLQlkc2NfdXBkYXRlX2Zyb21f ZHNjX3BhcmFtZXRlcnMoJmRzYzIwLT5yZWdfdmFscywgJmRzY19wYXJhbXMpOworCWRzY191cGRh dGVfZnJvbV9kc2NfcGFyYW1ldGVycyhkc2NfcmVnX3ZhbHMsICZkc2NfcGFyYW1zKTsKIAogCWRz Y19vcHRjX2NmZy0+Ynl0ZXNfcGVyX3BpeGVsID0gZHNjX3BhcmFtcy5ieXRlc19wZXJfcGl4ZWw7 Ci0JZHNjX29wdGNfY2ZnLT5zbGljZV93aWR0aCA9IGRzYzIwLT5yZWdfdmFscy5wcHMuc2xpY2Vf d2lkdGg7Ci0JZHNjX29wdGNfY2ZnLT5pc19waXhlbF9mb3JtYXRfNDQ0ID0gZHNjMjAtPnJlZ192 YWxzLnBpeGVsX2Zvcm1hdCA9PSBEU0NfUElYRk1UX1JHQiB8fAotCQkJCQlkc2MyMC0+cmVnX3Zh bHMucGl4ZWxfZm9ybWF0ID09IERTQ19QSVhGTVRfWUNCQ1I0NDQgfHwKLQkJCQkJZHNjMjAtPnJl Z192YWxzLnBpeGVsX2Zvcm1hdCA9PSBEU0NfUElYRk1UX1NJTVBMRV9ZQ0JDUjQyMjsKKwlkc2Nf b3B0Y19jZmctPnNsaWNlX3dpZHRoID0gZHNjX3JlZ192YWxzLT5wcHMuc2xpY2Vfd2lkdGg7CisJ ZHNjX29wdGNfY2ZnLT5pc19waXhlbF9mb3JtYXRfNDQ0ID0gZHNjX3JlZ192YWxzLT5waXhlbF9m b3JtYXQgPT0gRFNDX1BJWEZNVF9SR0IgfHwKKwkJCQkJZHNjX3JlZ192YWxzLT5waXhlbF9mb3Jt YXQgPT0gRFNDX1BJWEZNVF9ZQ0JDUjQ0NCB8fAorCQkJCQlkc2NfcmVnX3ZhbHMtPnBpeGVsX2Zv cm1hdCA9PSBEU0NfUElYRk1UX1NJTVBMRV9ZQ0JDUjQyMjsKIAogCXJldHVybiB0cnVlOwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3N0 cmVhbV9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNu MjBfc3RyZWFtX2VuY29kZXIuYwppbmRleCBhMmYxNTM4N2U5NDYuLjZkNTQ5NDJhYjk4YiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3N0cmVh bV9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2Rj bjIwX3N0cmVhbV9lbmNvZGVyLmMKQEAgLTIwNSw5ICsyMDUsOCBAQCBzdGF0aWMgdm9pZCBlbmMy X3N0cmVhbV9lbmNvZGVyX3N0b3BfaGRtaV9pbmZvX3BhY2tldHMoCiAKICNpZmRlZiBDT05GSUdf RFJNX0FNRF9EQ19EU0NfU1VQUE9SVAogCi0KIC8qIFVwZGF0ZSBHU1A3IFNEUCAxMjggYnl0ZSBs b25nICovCi1zdGF0aWMgdm9pZCBlbmMyX3NlbmRfZ3NwN18xMjhfaW5mb19wYWNrZXQoCitzdGF0 aWMgdm9pZCBlbmMyX3VwZGF0ZV9nc3A3XzEyOF9pbmZvX3BhY2tldCgKIAlzdHJ1Y3QgZGNuMTBf c3RyZWFtX2VuY29kZXIgKmVuYzEsCiAJY29uc3Qgc3RydWN0IGRjX2luZm9fcGFja2V0XzEyOCAq aW5mb19wYWNrZXQpCiB7CkBAIC0yNzUsOCArMjc0LDcgQEAgc3RhdGljIHZvaWQgZW5jMl9zZW5k X2dzcDdfMTI4X2luZm9fcGFja2V0KAogc3RhdGljIHZvaWQgZW5jMl9kcF9zZXRfZHNjX2NvbmZp ZyhzdHJ1Y3Qgc3RyZWFtX2VuY29kZXIgKmVuYywKIAkJCQkJZW51bSBvcHRjX2RzY19tb2RlIGRz Y19tb2RlLAogCQkJCQl1aW50MzJfdCBkc2NfYnl0ZXNfcGVyX3BpeGVsLAotCQkJCQl1aW50MzJf dCBkc2Nfc2xpY2Vfd2lkdGgsCi0JCQkJCXVpbnQ4X3QgKmRzY19wYWNrZWRfcHBzKQorCQkJCQl1 aW50MzJfdCBkc2Nfc2xpY2Vfd2lkdGgpCiB7CiAJc3RydWN0IGRjbjEwX3N0cmVhbV9lbmNvZGVy ICplbmMxID0gRENOMTBTVFJFTkNfRlJPTV9TVFJFTkMoZW5jKTsKIAl1aW50MzJfdCBkc2NfdmFs dWUgPSAwOwpAQCAtMjk0LDggKzI5MiwxNiBAQCBzdGF0aWMgdm9pZCBlbmMyX2RwX3NldF9kc2Nf Y29uZmlnKHN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5jLAogCiAJUkVHX1NFVChEUF9EU0NfQllU RVNfUEVSX1BJWEVMLCAwLAogCQlEUF9EU0NfQllURVNfUEVSX1BJWEVMLCBkc2NfYnl0ZXNfcGVy X3BpeGVsKTsKK30KKworCitzdGF0aWMgdm9pZCBlbmMyX2RwX3NldF9kc2NfcHBzX2luZm9fcGFj a2V0KHN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5jLAorCQkJCQlib29sIGVuYWJsZSwKKwkJCQkJ dWludDhfdCAqZHNjX3BhY2tlZF9wcHMpCit7CisJc3RydWN0IGRjbjEwX3N0cmVhbV9lbmNvZGVy ICplbmMxID0gRENOMTBTVFJFTkNfRlJPTV9TVFJFTkMoZW5jKTsKIAotCWlmIChkc2NfbW9kZSAh PSBPUFRDX0RTQ19ESVNBQkxFRCkgeworCWlmIChlbmFibGUpIHsKIAkJc3RydWN0IGRjX2luZm9f cGFja2V0XzEyOCBwcHNfc2RwOwogCiAJCUFTU0VSVChkc2NfcGFja2VkX3Bwcyk7CkBAIC0zMDcs NyArMzEzLDcgQEAgc3RhdGljIHZvaWQgZW5jMl9kcF9zZXRfZHNjX2NvbmZpZyhzdHJ1Y3Qgc3Ry ZWFtX2VuY29kZXIgKmVuYywKIAkJcHBzX3NkcC5oYjIgPSAxMjc7CiAJCXBwc19zZHAuaGIzID0g MDsKIAkJbWVtY3B5KCZwcHNfc2RwLnNiWzBdLCBkc2NfcGFja2VkX3Bwcywgc2l6ZW9mKHBwc19z ZHAuc2IpKTsKLQkJZW5jMl9zZW5kX2dzcDdfMTI4X2luZm9fcGFja2V0KGVuYzEsICZwcHNfc2Rw KTsKKwkJZW5jMl91cGRhdGVfZ3NwN18xMjhfaW5mb19wYWNrZXQoZW5jMSwgJnBwc19zZHApOwog CiAJCS8qIEVuYWJsZSBHZW5lcmljIFN0cmVhbSBQYWNrZXQgNyAoR1NQKSB0cmFuc21pc3Npb24g Ki8KIAkJLy9SRUdfVVBEQVRFKERQX1NFQ19DTlRMLApAQCAtMzM4LDkgKzM0NCw4IEBAIHN0YXRp YyB2b2lkIGVuYzJfZHBfc2V0X2RzY19jb25maWcoc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMs CiAJCVJFR19VUERBVEUoRFBfU0VDX0NOVEwyLCBEUF9TRUNfR1NQN19QUFMsIDApOwogCX0KIH0K LSNlbmRpZgogCi0jaWZkZWYgQ09ORklHX0RSTV9BTURfRENfRFNDX1NVUFBPUlQKKwogLyogdGhp cyBmdW5jdGlvbiByZWFkIGRzYyByZWxhdGVkIHJlZ2lzdGVyIGZpZWxkcyB0byBiZSBsb2dnZWQg bGF0ZXIgaW4gZGNuMTBfbG9nX2h3X3N0YXRlCiAgKiBpbnRvIGEgZGNuX2RzY19zdGF0ZSBzdHJ1 Y3QuCiAgKi8KQEAgLTU4MSwxMCArNTg2LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzdHJlYW1f ZW5jb2Rlcl9mdW5jcyBkY24yMF9zdHJfZW5jX2Z1bmNzID0gewogCS5kaWdfc291cmNlX290ZyA9 IGVuYzFfZGlnX3NvdXJjZV9vdGcsCiAjaWZkZWYgQ09ORklHX0RSTV9BTURfRENfRFNDX1NVUFBP UlQKIAkuZW5jX3JlYWRfc3RhdGUgPSBlbmMyX3JlYWRfc3RhdGUsCi0jZW5kaWYKLQotI2lmZGVm IENPTkZJR19EUk1fQU1EX0RDX0RTQ19TVVBQT1JUCiAJLmRwX3NldF9kc2NfY29uZmlnID0gZW5j Ml9kcF9zZXRfZHNjX2NvbmZpZywKKwkuZHBfc2V0X2RzY19wcHNfaW5mb19wYWNrZXQgPSBlbmMy X2RwX3NldF9kc2NfcHBzX2luZm9fcGFja2V0LAogI2VuZGlmCiAJLnNldF9keW5hbWljX21ldGFk YXRhID0gZW5jMl9zZXRfZHluYW1pY19tZXRhZGF0YSwKIAkuaGRtaV9yZXNldF9zdHJlYW1fYXR0 cmlidXRlID0gZW5jMV9yZXNldF9oZG1pX3N0cmVhbV9hdHRyaWJ1dGUsCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2RjX2xpbmtfZHAuaCBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvZGNfbGlua19kcC5oCmluZGV4IDJlZjIzOTYzZTFm Ny4uYjRlN2IwYzU2ZjgzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvaW5jL2RjX2xpbmtfZHAuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv aW5jL2RjX2xpbmtfZHAuaApAQCAtNjksNyArNjksOCBAQCB2b2lkIGRwX3NldF9wYW5lbF9tb2Rl KHN0cnVjdCBkY19saW5rICpsaW5rLCBlbnVtIGRwX3BhbmVsX21vZGUgcGFuZWxfbW9kZSk7CiB2 b2lkIGRwX3NldF9mZWNfcmVhZHkoc3RydWN0IGRjX2xpbmsgKmxpbmssIGJvb2wgcmVhZHkpOwog dm9pZCBkcF9zZXRfZmVjX2VuYWJsZShzdHJ1Y3QgZGNfbGluayAqbGluaywgYm9vbCBlbmFibGUp OwogYm9vbCBkcF9zZXRfZHNjX2VuYWJsZShzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4LCBib29s IGVuYWJsZSk7Ci12b2lkIHNldF9kc2Nfb25fc3RyZWFtKHN0cnVjdCBwaXBlX2N0eCAqcGlwZV9j dHgsIGJvb2wgZW5hYmxlKTsKK2Jvb2wgZHBfc2V0X2RzY19wcHNfc2RwKHN0cnVjdCBwaXBlX2N0 eCAqcGlwZV9jdHgsIGJvb2wgZW5hYmxlKTsKK3ZvaWQgZHBfc2V0X2RzY19vbl9zdHJlYW0oc3Ry dWN0IHBpcGVfY3R4ICpwaXBlX2N0eCwgYm9vbCBlbmFibGUpOwogYm9vbCBkcF91cGRhdGVfZHNj X2NvbmZpZyhzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4KTsKICNlbmRpZgogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2RzYy5oIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9kc2MuaAppbmRleCBjOTA1ZDAyMGI1OWUuLjFk ZGIxYzZmYTE0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2lu Yy9ody9kc2MuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2Rz Yy5oCkBAIC05Miw3ICs5Miw5IEBAIHN0cnVjdCBkc2NfZnVuY3MgewogCXZvaWQgKCpkc2NfcmVh ZF9zdGF0ZSkoc3RydWN0IGRpc3BsYXlfc3RyZWFtX2NvbXByZXNzb3IgKmRzYywgc3RydWN0IGRj bl9kc2Nfc3RhdGUgKnMpOwogCWJvb2wgKCpkc2NfdmFsaWRhdGVfc3RyZWFtKShzdHJ1Y3QgZGlz cGxheV9zdHJlYW1fY29tcHJlc3NvciAqZHNjLCBjb25zdCBzdHJ1Y3QgZHNjX2NvbmZpZyAqZHNj X2NmZyk7CiAJdm9pZCAoKmRzY19zZXRfY29uZmlnKShzdHJ1Y3QgZGlzcGxheV9zdHJlYW1fY29t cHJlc3NvciAqZHNjLCBjb25zdCBzdHJ1Y3QgZHNjX2NvbmZpZyAqZHNjX2NmZywKLQkJCXN0cnVj dCBkc2Nfb3B0Y19jb25maWcgKmRzY19vcHRjX2NmZywgdWludDhfdCAqZHNjX3BhY2tlZF9wcHMp OworCQkJc3RydWN0IGRzY19vcHRjX2NvbmZpZyAqZHNjX29wdGNfY2ZnKTsKKwlib29sICgqZHNj X2dldF9wYWNrZWRfcHBzKShzdHJ1Y3QgZGlzcGxheV9zdHJlYW1fY29tcHJlc3NvciAqZHNjLCBj b25zdCBzdHJ1Y3QgZHNjX2NvbmZpZyAqZHNjX2NmZywKKwkJCXVpbnQ4X3QgKmRzY19wYWNrZWRf cHBzKTsKIAl2b2lkICgqZHNjX2VuYWJsZSkoc3RydWN0IGRpc3BsYXlfc3RyZWFtX2NvbXByZXNz b3IgKmRzYywgaW50IG9wcF9waXBlKTsKIAl2b2lkICgqZHNjX2Rpc2FibGUpKHN0cnVjdCBkaXNw bGF5X3N0cmVhbV9jb21wcmVzc29yICpkc2MpOwogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvc3RyZWFtX2VuY29kZXIuaCBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvc3RyZWFtX2VuY29kZXIuaAppbmRleCAwNjdiYTZm YzA0YzEuLjhiYjNlM2Q1NmFjOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2luYy9ody9zdHJlYW1fZW5jb2Rlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9pbmMvaHcvc3RyZWFtX2VuY29kZXIuaApAQCAtMTIyLDkgKzEyMiw2IEBAIHN0 cnVjdCBlbmNfc3RhdGUgewogI2VuZGlmCiAKIHN0cnVjdCBzdHJlYW1fZW5jb2Rlcl9mdW5jcyB7 Ci0JI2lmZGVmIENPTkZJR19EUk1fQU1EX0RDX0RTQ19TVVBQT1JUCi0JCXZvaWQgKCplbmNfcmVh ZF9zdGF0ZSkoc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMsIHN0cnVjdCBlbmNfc3RhdGUgKnMp OwotCSNlbmRpZgogCXZvaWQgKCpkcF9zZXRfc3RyZWFtX2F0dHJpYnV0ZSkoCiAJCXN0cnVjdCBz dHJlYW1fZW5jb2RlciAqZW5jLAogCQlzdHJ1Y3QgZGNfY3J0Y190aW1pbmcgKmNydGNfdGltaW5n LApAQCAtMjE5LDEyICsyMTYsMTcgQEAgc3RydWN0IHN0cmVhbV9lbmNvZGVyX2Z1bmNzIHsKIAog I2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOMl8wKQogI2lmZGVmIENPTkZJR19EUk1f QU1EX0RDX0RTQ19TVVBQT1JUCisJdm9pZCAoKmVuY19yZWFkX3N0YXRlKShzdHJ1Y3Qgc3RyZWFt X2VuY29kZXIgKmVuYywgc3RydWN0IGVuY19zdGF0ZSAqcyk7CisKIAl2b2lkICgqZHBfc2V0X2Rz Y19jb25maWcpKAogCQkJc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMsCiAJCQllbnVtIG9wdGNf ZHNjX21vZGUgZHNjX21vZGUsCiAJCQl1aW50MzJfdCBkc2NfYnl0ZXNfcGVyX3BpeGVsLAotCQkJ dWludDMyX3QgZHNjX3NsaWNlX3dpZHRoLAotCQkJdWludDhfdCAqZHNjX3BhY2tlZF9wcHMpOwor CQkJdWludDMyX3QgZHNjX3NsaWNlX3dpZHRoKTsKKworCXZvaWQgKCpkcF9zZXRfZHNjX3Bwc19p bmZvX3BhY2tldCkoc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMsCisJCQkJYm9vbCBlbmFibGUs CisJCQkJdWludDhfdCAqZHNjX3BhY2tlZF9wcHMpOwogI2VuZGlmCiAKIAl2b2lkICgqc2V0X2R5 bmFtaWNfbWV0YWRhdGEpKHN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5jLAotLSAKMi4yMi4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1h aWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=