From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v6 01/19] drm/msm/dpu: remove debugfs support for misr Date: Fri, 7 Sep 2018 17:24:09 -0700 Message-ID: <1536366267-22336-2-git-send-email-jsanka@codeaurora.org> References: <1536366267-22336-1-git-send-email-jsanka@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1536366267-22336-1-git-send-email-jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, Jeykumar Sankaran , jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org TUlTUiBzdXBwb3J0IGlzIHRoZSBkZWJ1ZyBmZWF0dXJlIHByZXNlbnQgaW4gU25hcGRyYWdvbiBj aGlwc2V0cy4KQXQgdGhlIGxheWVyIG1peGVyIGFuZCBpbnRlcmZhY2VzLCBNSVNSIGFsZ29yaXRo bSBjYW4gZ2VuZXJhdGUgQ1JDCnNpZ25hdHVyZXMgb2YgdGhlIHBpeGVsIGRhdGEgd2hpY2ggY2Fu IGJlIHVzZWQgZm9yIHZhbGlkYXRpbmcKdGhlIGZyYW1lcyBnZW5lcmF0ZWQuIFNpbmNlIHRoZXJl IGFyZSBubyBjbGllbnRzIGZvciB0aGlzIGZlYXR1cmUsCnN0cmlwIGRvd24gdGhlIHN1cHBvcnQg ZnJvbSB0aGUgZHJpdmVyLgoKY2hhbmdlcyBpbiB2NDoKCS0gY2hhbmdlZCBpbnRyb2R1Y2VkIGlu IHRoZSBzZXJpZXMKY2hhbmdlcyBpbiB2NToKCS0gdXBkYXRlIGNvbW1pdCB0ZXh0IHdpdGggdGhl IG5lZWQgZm9yIHRoZSBjaGFuZ2UoU2VhbikKY2hhbmdlcyBpbiB2NjoKCS0gbm9uZQoKU2lnbmVk LW9mZi1ieTogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVyb3JhLm9yZz4KUmV2aWV3 ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMgICAgICAgICAgIHwgMTM5IC0tLS0tLS0tLS0t LS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaCAgICAg ICAgICAgfCAgIDYgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIu YyAgICAgICAgfCAxMjcgLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5cy5oICAgfCAgIDYgLQogLi4uL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jICAgfCAgMjggLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19pbnRmLmMgICAgICAgIHwgIDI5IC0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfaW50Zi5oICAgICAgICB8ICAgNyAtLQog ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmMgICAgICAgICAgfCAgMjkg LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19sbS5oICAgICAgICAg IHwgICA3IC0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdXRpbC5jICAg ICAgICB8ICAgMyAtCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdXRpbC5o ICAgICAgICB8ICAgNiAtCiAxMSBmaWxlcyBjaGFuZ2VkLCAzODcgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKaW5kZXggZjBhNWU3Ny4uMWUwMzgy ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCkBAIC00Nyw4ICs0 Nyw2IEBACiAjZGVmaW5lIExFRlRfTUlYRVIgMAogI2RlZmluZSBSSUdIVF9NSVhFUiAxCiAKLSNk ZWZpbmUgTUlTUl9CVUZGX1NJWkUJCQkyNTYKLQogc3RhdGljIGlubGluZSBzdHJ1Y3QgZHB1X2tt cyAqX2RwdV9jcnRjX2dldF9rbXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogCXN0cnVjdCBt c21fZHJtX3ByaXZhdGUgKnByaXY7CkBAIC0xMjcyLDggKzEyNzAsNiBAQCBzdGF0aWMgdm9pZCBk cHVfY3J0Y19oYW5kbGVfcG93ZXJfZXZlbnQodTMyIGV2ZW50X3R5cGUsIHZvaWQgKmFyZykKIAlz dHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBhcmc7CiAJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YzsK IAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7Ci0Jc3RydWN0IGRwdV9jcnRjX21peGVyICpt OwotCXUzMiBpLCBtaXNyX3N0YXR1czsKIAogCWlmICghY3J0YykgewogCQlEUFVfRVJST1IoImlu dmFsaWQgY3J0Y1xuIik7CkBAIC0xMjk0LDI5ICsxMjkwLDggQEAgc3RhdGljIHZvaWQgZHB1X2Ny dGNfaGFuZGxlX3Bvd2VyX2V2ZW50KHUzMiBldmVudF90eXBlLCB2b2lkICphcmcpCiAKIAkJCWRw dV9lbmNvZGVyX3ZpcnRfcmVzdG9yZShlbmNvZGVyKTsKIAkJfQotCi0JCWZvciAoaSA9IDA7IGkg PCBkcHVfY3J0Yy0+bnVtX21peGVyczsgKytpKSB7Ci0JCQltID0gJmRwdV9jcnRjLT5taXhlcnNb aV07Ci0JCQlpZiAoIW0tPmh3X2xtIHx8ICFtLT5od19sbS0+b3BzLnNldHVwX21pc3IgfHwKLQkJ CQkJIWRwdV9jcnRjLT5taXNyX2VuYWJsZSkKLQkJCQljb250aW51ZTsKLQotCQkJbS0+aHdfbG0t Pm9wcy5zZXR1cF9taXNyKG0tPmh3X2xtLCB0cnVlLAotCQkJCQlkcHVfY3J0Yy0+bWlzcl9mcmFt ZV9jb3VudCk7Ci0JCX0KIAkJYnJlYWs7CiAJY2FzZSBEUFVfUE9XRVJfRVZFTlRfUFJFX0RJU0FC TEU6Ci0JCWZvciAoaSA9IDA7IGkgPCBkcHVfY3J0Yy0+bnVtX21peGVyczsgKytpKSB7Ci0JCQlt ID0gJmRwdV9jcnRjLT5taXhlcnNbaV07Ci0JCQlpZiAoIW0tPmh3X2xtIHx8ICFtLT5od19sbS0+ b3BzLmNvbGxlY3RfbWlzciB8fAotCQkJCQkhZHB1X2NydGMtPm1pc3JfZW5hYmxlKQotCQkJCWNv bnRpbnVlOwotCi0JCQltaXNyX3N0YXR1cyA9IG0tPmh3X2xtLT5vcHMuY29sbGVjdF9taXNyKG0t Pmh3X2xtKTsKLQkJCWRwdV9jcnRjLT5taXNyX2RhdGFbaV0gPSBtaXNyX3N0YXR1cyA/IG1pc3Jf c3RhdHVzIDoKLQkJCQkJCQlkcHVfY3J0Yy0+bWlzcl9kYXRhW2ldOwotCQl9Ci0JCWJyZWFrOwog CWNhc2UgRFBVX1BPV0VSX0VWRU5UX1BPU1RfRElTQUJMRToKIAkJLyoqCiAJCSAqIE5vdGhpbmcg dG8gZG8uIEFsbCB0aGUgcGxhbmVzIG9uIHRoZSBDUlRDIHdpbGwgYmUKQEAgLTE4NDYsMTEzICsx ODIxLDYgQEAgc3RhdGljIGludCBfZHB1X2RlYnVnZnNfc3RhdHVzX29wZW4oc3RydWN0IGlub2Rl ICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiAJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIF9k cHVfZGVidWdmc19zdGF0dXNfc2hvdywgaW5vZGUtPmlfcHJpdmF0ZSk7CiB9CiAKLXN0YXRpYyBz c2l6ZV90IF9kcHVfY3J0Y19taXNyX3NldHVwKHN0cnVjdCBmaWxlICpmaWxlLAotCQljb25zdCBj aGFyIF9fdXNlciAqdXNlcl9idWYsIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQotewotCXN0 cnVjdCBkcHVfY3J0YyAqZHB1X2NydGM7Ci0Jc3RydWN0IGRwdV9jcnRjX21peGVyICptOwotCWlu dCBpID0gMCwgcmM7Ci0JY2hhciBidWZbTUlTUl9CVUZGX1NJWkUgKyAxXTsKLQl1MzIgZnJhbWVf Y291bnQsIGVuYWJsZTsKLQlzaXplX3QgYnVmZl9jb3B5OwotCi0JaWYgKCFmaWxlIHx8ICFmaWxl LT5wcml2YXRlX2RhdGEpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JZHB1X2NydGMgPSBmaWxlLT5w cml2YXRlX2RhdGE7Ci0JYnVmZl9jb3B5ID0gbWluX3Qoc2l6ZV90LCBjb3VudCwgTUlTUl9CVUZG X1NJWkUpOwotCWlmIChjb3B5X2Zyb21fdXNlcihidWYsIHVzZXJfYnVmLCBidWZmX2NvcHkpKSB7 Ci0JCURQVV9FUlJPUigiYnVmZmVyIGNvcHkgZmFpbGVkXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7 Ci0JfQotCi0JYnVmW2J1ZmZfY29weV0gPSAwOyAvKiBlbmQgb2Ygc3RyaW5nICovCi0KLQlpZiAo c3NjYW5mKGJ1ZiwgIiV1ICV1IiwgJmVuYWJsZSwgJmZyYW1lX2NvdW50KSAhPSAyKQotCQlyZXR1 cm4gLUVJTlZBTDsKLQotCXJjID0gX2RwdV9jcnRjX3Bvd2VyX2VuYWJsZShkcHVfY3J0YywgdHJ1 ZSk7Ci0JaWYgKHJjKQotCQlyZXR1cm4gcmM7Ci0KLQltdXRleF9sb2NrKCZkcHVfY3J0Yy0+Y3J0 Y19sb2NrKTsKLQlkcHVfY3J0Yy0+bWlzcl9lbmFibGUgPSBlbmFibGU7Ci0JZHB1X2NydGMtPm1p c3JfZnJhbWVfY291bnQgPSBmcmFtZV9jb3VudDsKLQlmb3IgKGkgPSAwOyBpIDwgZHB1X2NydGMt Pm51bV9taXhlcnM7ICsraSkgewotCQlkcHVfY3J0Yy0+bWlzcl9kYXRhW2ldID0gMDsKLQkJbSA9 ICZkcHVfY3J0Yy0+bWl4ZXJzW2ldOwotCQlpZiAoIW0tPmh3X2xtIHx8ICFtLT5od19sbS0+b3Bz LnNldHVwX21pc3IpCi0JCQljb250aW51ZTsKLQotCQltLT5od19sbS0+b3BzLnNldHVwX21pc3Io bS0+aHdfbG0sIGVuYWJsZSwgZnJhbWVfY291bnQpOwotCX0KLQltdXRleF91bmxvY2soJmRwdV9j cnRjLT5jcnRjX2xvY2spOwotCV9kcHVfY3J0Y19wb3dlcl9lbmFibGUoZHB1X2NydGMsIGZhbHNl KTsKLQotCXJldHVybiBjb3VudDsKLX0KLQotc3RhdGljIHNzaXplX3QgX2RwdV9jcnRjX21pc3Jf cmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJY2hhciBfX3VzZXIgKnVzZXJfYnVmZiwgc2l6ZV90 IGNvdW50LCBsb2ZmX3QgKnBwb3MpCi17Ci0Jc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YzsKLQlz dHJ1Y3QgZHB1X2NydGNfbWl4ZXIgKm07Ci0JaW50IGkgPSAwLCByYzsKLQl1MzIgbWlzcl9zdGF0 dXM7Ci0Jc3NpemVfdCBsZW4gPSAwOwotCWNoYXIgYnVmW01JU1JfQlVGRl9TSVpFICsgMV0gPSB7 J1wwJ307Ci0KLQlpZiAoKnBwb3MpCi0JCXJldHVybiAwOwotCi0JaWYgKCFmaWxlIHx8ICFmaWxl LT5wcml2YXRlX2RhdGEpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JZHB1X2NydGMgPSBmaWxlLT5w cml2YXRlX2RhdGE7Ci0JcmMgPSBfZHB1X2NydGNfcG93ZXJfZW5hYmxlKGRwdV9jcnRjLCB0cnVl KTsKLQlpZiAocmMpCi0JCXJldHVybiByYzsKLQotCW11dGV4X2xvY2soJmRwdV9jcnRjLT5jcnRj X2xvY2spOwotCWlmICghZHB1X2NydGMtPm1pc3JfZW5hYmxlKSB7Ci0JCWxlbiArPSBzbnByaW50 ZihidWYgKyBsZW4sIE1JU1JfQlVGRl9TSVpFIC0gbGVuLAotCQkJImRpc2FibGVkXG4iKTsKLQkJ Z290byBidWZmX2NoZWNrOwotCX0KLQotCWZvciAoaSA9IDA7IGkgPCBkcHVfY3J0Yy0+bnVtX21p eGVyczsgKytpKSB7Ci0JCW0gPSAmZHB1X2NydGMtPm1peGVyc1tpXTsKLQkJaWYgKCFtLT5od19s bSB8fCAhbS0+aHdfbG0tPm9wcy5jb2xsZWN0X21pc3IpCi0JCQljb250aW51ZTsKLQotCQltaXNy X3N0YXR1cyA9IG0tPmh3X2xtLT5vcHMuY29sbGVjdF9taXNyKG0tPmh3X2xtKTsKLQkJZHB1X2Ny dGMtPm1pc3JfZGF0YVtpXSA9IG1pc3Jfc3RhdHVzID8gbWlzcl9zdGF0dXMgOgotCQkJCQkJCWRw dV9jcnRjLT5taXNyX2RhdGFbaV07Ci0JCWxlbiArPSBzbnByaW50ZihidWYgKyBsZW4sIE1JU1Jf QlVGRl9TSVpFIC0gbGVuLCAibG0gaWR4OiVkXG4iLAotCQkJCQltLT5od19sbS0+aWR4IC0gTE1f MCk7Ci0JCWxlbiArPSBzbnByaW50ZihidWYgKyBsZW4sIE1JU1JfQlVGRl9TSVpFIC0gbGVuLCAi MHgleFxuIiwKLQkJCQkJCQlkcHVfY3J0Yy0+bWlzcl9kYXRhW2ldKTsKLQl9Ci0KLWJ1ZmZfY2hl Y2s6Ci0JaWYgKGNvdW50IDw9IGxlbikgewotCQlsZW4gPSAwOwotCQlnb3RvIGVuZDsKLQl9Ci0K LQlpZiAoY29weV90b191c2VyKHVzZXJfYnVmZiwgYnVmLCBsZW4pKSB7Ci0JCWxlbiA9IC1FRkFV TFQ7Ci0JCWdvdG8gZW5kOwotCX0KLQotCSpwcG9zICs9IGxlbjsgICAvKiBpbmNyZWFzZSBvZmZz ZXQgKi8KLQotZW5kOgotCW11dGV4X3VubG9jaygmZHB1X2NydGMtPmNydGNfbG9jayk7Ci0JX2Rw dV9jcnRjX3Bvd2VyX2VuYWJsZShkcHVfY3J0YywgZmFsc2UpOwotCXJldHVybiBsZW47Ci19Ci0K ICNkZWZpbmUgREVGSU5FX0RQVV9ERUJVR0ZTX1NFUV9GT1BTKF9fcHJlZml4KSAgICAgICAgICAg ICAgICAgICAgICAgICAgXAogc3RhdGljIGludCBfX3ByZWZpeCAjIyBfb3BlbihzdHJ1Y3QgaW5v ZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkJXAogewkJCQkJCQkJCVwKQEAgLTIwMTQsMTEg KzE4ODIsNiBAQCBzdGF0aWMgaW50IF9kcHVfY3J0Y19pbml0X2RlYnVnZnMoc3RydWN0IGRybV9j cnRjICpjcnRjKQogCQkubGxzZWVrID0Jc2VxX2xzZWVrLAogCQkucmVsZWFzZSA9CXNpbmdsZV9y ZWxlYXNlLAogCX07Ci0Jc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZGVidWdm c19taXNyX2ZvcHMgPSB7Ci0JCS5vcGVuID0JCXNpbXBsZV9vcGVuLAotCQkucmVhZCA9CQlfZHB1 X2NydGNfbWlzcl9yZWFkLAotCQkud3JpdGUgPQlfZHB1X2NydGNfbWlzcl9zZXR1cCwKLQl9Owog CiAJaWYgKCFjcnRjKQogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTIwNDEsOCArMTkwNCw2IEBAIHN0 YXRpYyBpbnQgX2RwdV9jcnRjX2luaXRfZGVidWdmcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJ CQlkcHVfY3J0Yy0+ZGVidWdmc19yb290LAogCQkJJmRwdV9jcnRjLT5iYXNlLAogCQkJJmRwdV9j cnRjX2RlYnVnZnNfc3RhdGVfZm9wcyk7Ci0JZGVidWdmc19jcmVhdGVfZmlsZSgibWlzcl9kYXRh IiwgMDYwMCwgZHB1X2NydGMtPmRlYnVnZnNfcm9vdCwKLQkJCQkJZHB1X2NydGMsICZkZWJ1Z2Zz X21pc3JfZm9wcyk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfY3J0Yy5oCmluZGV4IGE4OTY3OTEuLjUzNDg0YjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2NydGMuaApAQCAtMTU2LDkgKzE1Niw2IEBAIHN0cnVjdCBkcHVfY3J0 Y19mcmFtZV9ldmVudCB7CiAgKiBAZXZlbnRfdGhyZWFkICA6IFBvaW50ZXIgdG8gZXZlbnQgaGFu ZGxlciB0aHJlYWQKICAqIEBldmVudF93b3JrZXIgIDogRXZlbnQgd29ya2VyIHF1ZXVlCiAgKiBA ZXZlbnRfbG9jayAgICA6IFNwaW5sb2NrIGFyb3VuZCBldmVudCBoYW5kbGluZyBjb2RlCi0gKiBA bWlzcl9lbmFibGUgICA6IGJvb2xlYW4gZW50cnkgaW5kaWNhdGVzIG1pc3IgZW5hYmxlL2Rpc2Fi bGUgc3RhdHVzLgotICogQG1pc3JfZnJhbWVfY291bnQgIDogbWlzciBmcmFtZSBjb3VudCBwcm92 aWRlZCBieSBjbGllbnQKLSAqIEBtaXNyX2RhdGEgICAgIDogc3RvcmUgbWlzciBkYXRhIGJlZm9y ZSB0dXJuaW5nIG9mZiB0aGUgY2xvY2tzLgogICogQHBoYW5kbGU6IFBvaW50ZXIgdG8gcG93ZXIg aGFuZGxlcgogICogQHBvd2VyX2V2ZW50ICAgOiByZWdpc3RlcmVkIHBvd2VyIGV2ZW50IGhhbmRs ZQogICogQGN1cl9wZXJmICAgICAgOiBjdXJyZW50IHBlcmZvcm1hbmNlIGNvbW1pdHRlZCB0byBj bG9jay9iYW5kd2lkdGggZHJpdmVyCkBAIC0yMDYsOSArMjAzLDYgQEAgc3RydWN0IGRwdV9jcnRj IHsKIAogCS8qIGZvciBoYW5kbGluZyBpbnRlcm5hbCBldmVudCB0aHJlYWQgKi8KIAlzcGlubG9j a190IGV2ZW50X2xvY2s7Ci0JYm9vbCBtaXNyX2VuYWJsZTsKLQl1MzIgbWlzcl9mcmFtZV9jb3Vu dDsKLQl1MzIgbWlzcl9kYXRhW0NSVENfRFVBTF9NSVhFUlNdOwogCiAJc3RydWN0IGRwdV9wb3dl cl9oYW5kbGUgKnBoYW5kbGU7CiAJc3RydWN0IGRwdV9wb3dlcl9ldmVudCAqcG93ZXJfZXZlbnQ7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5j IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwppbmRleCA1YjBl OTQ0Li45OTFiMjJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNv ZGVyLmMKQEAgLTY1LDggKzY1LDYgQEAKIAogI2RlZmluZSBNQVhfQ0hBTk5FTFNfUEVSX0VOQyAy CiAKLSNkZWZpbmUgTUlTUl9CVUZGX1NJWkUJCQkyNTYKLQogI2RlZmluZSBJRExFX1NIT1JUX1RJ TUVPVVQJMQogCiAjZGVmaW5lIE1BWF9WRElTUExBWV9TUExJVCAxMDgwCkBAIC0xNjEsOCArMTU5 LDYgQEAgZW51bSBkcHVfZW5jX3JjX3N0YXRlcyB7CiAgKiBAZnJhbWVfZG9uZV90aW1lcjoJCXdh dGNoZG9nIHRpbWVyIGZvciBmcmFtZSBkb25lIGV2ZW50CiAgKiBAdnN5bmNfZXZlbnRfdGltZXI6 CQl2c3luYyB0aW1lcgogICogQGRpc3BfaW5mbzoJCQlsb2NhbCBjb3B5IG9mIG1zbV9kaXNwbGF5 X2luZm8gc3RydWN0Ci0gKiBAbWlzcl9lbmFibGU6CQltaXNyIGVuYWJsZS9kaXNhYmxlIHN0YXR1 cwotICogQG1pc3JfZnJhbWVfY291bnQ6CQltaXNyIGZyYW1lIGNvdW50IGJlZm9yZSBzdGFydCBj YXB0dXJpbmcgdGhlIGRhdGEKICAqIEBpZGxlX3BjX3N1cHBvcnRlZDoJCWluZGljYXRlIGlmIGlk bGUgcG93ZXIgY29sbGFwcyBpcyBzdXBwb3J0ZWQKICAqIEByY19sb2NrOgkJCXJlc291cmNlIGNv bnRyb2wgbXV0ZXggbG9jayB0byBwcm90ZWN0CiAgKgkJCQl2aXJ0IGVuY29kZXIgb3ZlciB2YXJp b3VzIHN0YXRlIGNoYW5nZXMKQEAgLTIwMiw4ICsxOTgsNiBAQCBzdHJ1Y3QgZHB1X2VuY29kZXJf dmlydCB7CiAJc3RydWN0IHRpbWVyX2xpc3QgdnN5bmNfZXZlbnRfdGltZXI7CiAKIAlzdHJ1Y3Qg bXNtX2Rpc3BsYXlfaW5mbyBkaXNwX2luZm87Ci0JYm9vbCBtaXNyX2VuYWJsZTsKLQl1MzIgbWlz cl9mcmFtZV9jb3VudDsKIAogCWJvb2wgaWRsZV9wY19zdXBwb3J0ZWQ7CiAJc3RydWN0IG11dGV4 IHJjX2xvY2s7CkBAIC0xMTkzLDExICsxMTg3LDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJf dmlydF9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jKQogCQkJaWYgKHBoeXMtPm9w cy5lbmFibGUpCiAJCQkJcGh5cy0+b3BzLmVuYWJsZShwaHlzKTsKIAkJfQotCi0JCWlmIChkcHVf ZW5jLT5taXNyX2VuYWJsZSAmJiAoZHB1X2VuYy0+ZGlzcF9pbmZvLmNhcGFiaWxpdGllcyAmCi0J CSAgICAgTVNNX0RJU1BMQVlfQ0FQX1ZJRF9NT0RFKSAmJiBwaHlzLT5vcHMuc2V0dXBfbWlzcikK LQkJCXBoeXMtPm9wcy5zZXR1cF9taXNyKHBoeXMsIHRydWUsCi0JCQkJCQlkcHVfZW5jLT5taXNy X2ZyYW1lX2NvdW50KTsKIAl9CiAKIAlpZiAoZHB1X2VuYy0+Y3VyX21hc3Rlci0+b3BzLmVuYWJs ZSkKQEAgLTE5NDksMTEzICsxOTM4LDYgQEAgc3RhdGljIGludCBfZHB1X2VuY29kZXJfZGVidWdm c19zdGF0dXNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCXJldHVybiBzaW5nbGVfb3Blbihm aWxlLCBfZHB1X2VuY29kZXJfc3RhdHVzX3Nob3csIGlub2RlLT5pX3ByaXZhdGUpOwogfQogCi1z dGF0aWMgc3NpemVfdCBfZHB1X2VuY29kZXJfbWlzcl9zZXR1cChzdHJ1Y3QgZmlsZSAqZmlsZSwK LQkJY29uc3QgY2hhciBfX3VzZXIgKnVzZXJfYnVmLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBv cykKLXsKLQlzdHJ1Y3QgZHB1X2VuY29kZXJfdmlydCAqZHB1X2VuYzsKLQlpbnQgaSA9IDAsIHJj OwotCWNoYXIgYnVmW01JU1JfQlVGRl9TSVpFICsgMV07Ci0Jc2l6ZV90IGJ1ZmZfY29weTsKLQl1 MzIgZnJhbWVfY291bnQsIGVuYWJsZTsKLQotCWlmICghZmlsZSB8fCAhZmlsZS0+cHJpdmF0ZV9k YXRhKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWRwdV9lbmMgPSBmaWxlLT5wcml2YXRlX2RhdGE7 Ci0KLQlidWZmX2NvcHkgPSBtaW5fdChzaXplX3QsIGNvdW50LCBNSVNSX0JVRkZfU0laRSk7Ci0J aWYgKGNvcHlfZnJvbV91c2VyKGJ1ZiwgdXNlcl9idWYsIGJ1ZmZfY29weSkpCi0JCXJldHVybiAt RUlOVkFMOwotCi0JYnVmW2J1ZmZfY29weV0gPSAwOyAvKiBlbmQgb2Ygc3RyaW5nICovCi0KLQlp ZiAoc3NjYW5mKGJ1ZiwgIiV1ICV1IiwgJmVuYWJsZSwgJmZyYW1lX2NvdW50KSAhPSAyKQotCQly ZXR1cm4gLUVJTlZBTDsKLQotCXJjID0gX2RwdV9lbmNvZGVyX3Bvd2VyX2VuYWJsZShkcHVfZW5j LCB0cnVlKTsKLQlpZiAocmMpCi0JCXJldHVybiByYzsKLQotCW11dGV4X2xvY2soJmRwdV9lbmMt PmVuY19sb2NrKTsKLQlkcHVfZW5jLT5taXNyX2VuYWJsZSA9IGVuYWJsZTsKLQlkcHVfZW5jLT5t aXNyX2ZyYW1lX2NvdW50ID0gZnJhbWVfY291bnQ7Ci0JZm9yIChpID0gMDsgaSA8IGRwdV9lbmMt Pm51bV9waHlzX2VuY3M7IGkrKykgewotCQlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5cyA9 IGRwdV9lbmMtPnBoeXNfZW5jc1tpXTsKLQotCQlpZiAoIXBoeXMgfHwgIXBoeXMtPm9wcy5zZXR1 cF9taXNyKQotCQkJY29udGludWU7Ci0KLQkJcGh5cy0+b3BzLnNldHVwX21pc3IocGh5cywgZW5h YmxlLCBmcmFtZV9jb3VudCk7Ci0JfQotCW11dGV4X3VubG9jaygmZHB1X2VuYy0+ZW5jX2xvY2sp OwotCV9kcHVfZW5jb2Rlcl9wb3dlcl9lbmFibGUoZHB1X2VuYywgZmFsc2UpOwotCi0JcmV0dXJu IGNvdW50OwotfQotCi1zdGF0aWMgc3NpemVfdCBfZHB1X2VuY29kZXJfbWlzcl9yZWFkKHN0cnVj dCBmaWxlICpmaWxlLAotCQljaGFyIF9fdXNlciAqdXNlcl9idWZmLCBzaXplX3QgY291bnQsIGxv ZmZfdCAqcHBvcykKLXsKLQlzdHJ1Y3QgZHB1X2VuY29kZXJfdmlydCAqZHB1X2VuYzsKLQlpbnQg aSA9IDAsIGxlbiA9IDA7Ci0JY2hhciBidWZbTUlTUl9CVUZGX1NJWkUgKyAxXSA9IHsnXDAnfTsK LQlpbnQgcmM7Ci0KLQlpZiAoKnBwb3MpCi0JCXJldHVybiAwOwotCi0JaWYgKCFmaWxlIHx8ICFm aWxlLT5wcml2YXRlX2RhdGEpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JZHB1X2VuYyA9IGZpbGUt PnByaXZhdGVfZGF0YTsKLQotCXJjID0gX2RwdV9lbmNvZGVyX3Bvd2VyX2VuYWJsZShkcHVfZW5j LCB0cnVlKTsKLQlpZiAocmMpCi0JCXJldHVybiByYzsKLQotCW11dGV4X2xvY2soJmRwdV9lbmMt PmVuY19sb2NrKTsKLQlpZiAoIWRwdV9lbmMtPm1pc3JfZW5hYmxlKSB7Ci0JCWxlbiArPSBzbnBy aW50ZihidWYgKyBsZW4sIE1JU1JfQlVGRl9TSVpFIC0gbGVuLAotCQkJImRpc2FibGVkXG4iKTsK LQkJZ290byBidWZmX2NoZWNrOwotCX0gZWxzZSBpZiAoZHB1X2VuYy0+ZGlzcF9pbmZvLmNhcGFi aWxpdGllcyAmCi0JCQkJCQl+TVNNX0RJU1BMQVlfQ0FQX1ZJRF9NT0RFKSB7Ci0JCWxlbiArPSBz bnByaW50ZihidWYgKyBsZW4sIE1JU1JfQlVGRl9TSVpFIC0gbGVuLAotCQkJInVuc3VwcG9ydGVk XG4iKTsKLQkJZ290byBidWZmX2NoZWNrOwotCX0KLQotCWZvciAoaSA9IDA7IGkgPCBkcHVfZW5j LT5udW1fcGh5c19lbmNzOyBpKyspIHsKLQkJc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXMg PSBkcHVfZW5jLT5waHlzX2VuY3NbaV07Ci0KLQkJaWYgKCFwaHlzIHx8ICFwaHlzLT5vcHMuY29s bGVjdF9taXNyKQotCQkJY29udGludWU7Ci0KLQkJbGVuICs9IHNucHJpbnRmKGJ1ZiArIGxlbiwg TUlTUl9CVUZGX1NJWkUgLSBsZW4sCi0JCQkiSW50ZiBpZHg6JWRcbiIsIHBoeXMtPmludGZfaWR4 IC0gSU5URl8wKTsKLQkJbGVuICs9IHNucHJpbnRmKGJ1ZiArIGxlbiwgTUlTUl9CVUZGX1NJWkUg LSBsZW4sICIweCV4XG4iLAotCQkJCQlwaHlzLT5vcHMuY29sbGVjdF9taXNyKHBoeXMpKTsKLQl9 Ci0KLWJ1ZmZfY2hlY2s6Ci0JaWYgKGNvdW50IDw9IGxlbikgewotCQlsZW4gPSAwOwotCQlnb3Rv IGVuZDsKLQl9Ci0KLQlpZiAoY29weV90b191c2VyKHVzZXJfYnVmZiwgYnVmLCBsZW4pKSB7Ci0J CWxlbiA9IC1FRkFVTFQ7Ci0JCWdvdG8gZW5kOwotCX0KLQotCSpwcG9zICs9IGxlbjsgICAvKiBp bmNyZWFzZSBvZmZzZXQgKi8KLQotZW5kOgotCW11dGV4X3VubG9jaygmZHB1X2VuYy0+ZW5jX2xv Y2spOwotCV9kcHVfZW5jb2Rlcl9wb3dlcl9lbmFibGUoZHB1X2VuYywgZmFsc2UpOwotCXJldHVy biBsZW47Ci19Ci0KIHN0YXRpYyBpbnQgX2RwdV9lbmNvZGVyX2luaXRfZGVidWdmcyhzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmRybV9lbmMpCiB7CiAJc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgKmRwdV9l bmM7CkBAIC0yMDcwLDEyICsxOTUyLDYgQEAgc3RhdGljIGludCBfZHB1X2VuY29kZXJfaW5pdF9k ZWJ1Z2ZzKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYykKIAkJLnJlbGVhc2UgPQlzaW5nbGVf cmVsZWFzZSwKIAl9OwogCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZGVi dWdmc19taXNyX2ZvcHMgPSB7Ci0JCS5vcGVuID0gc2ltcGxlX29wZW4sCi0JCS5yZWFkID0gX2Rw dV9lbmNvZGVyX21pc3JfcmVhZCwKLQkJLndyaXRlID0gX2RwdV9lbmNvZGVyX21pc3Jfc2V0dXAs Ci0JfTsKLQogCWNoYXIgbmFtZVtEUFVfTkFNRV9TSVpFXTsKIAogCWlmICghZHJtX2VuYyB8fCAh ZHJtX2VuYy0+ZGV2IHx8ICFkcm1fZW5jLT5kZXYtPmRldl9wcml2YXRlKSB7CkBAIC0yMDk5LDkg KzE5NzUsNiBAQCBzdGF0aWMgaW50IF9kcHVfZW5jb2Rlcl9pbml0X2RlYnVnZnMoc3RydWN0IGRy bV9lbmNvZGVyICpkcm1fZW5jKQogCWRlYnVnZnNfY3JlYXRlX2ZpbGUoInN0YXR1cyIsIDA2MDAs CiAJCWRwdV9lbmMtPmRlYnVnZnNfcm9vdCwgZHB1X2VuYywgJmRlYnVnZnNfc3RhdHVzX2ZvcHMp OwogCi0JZGVidWdmc19jcmVhdGVfZmlsZSgibWlzcl9kYXRhIiwgMDYwMCwKLQkJZHB1X2VuYy0+ ZGVidWdmc19yb290LCBkcHVfZW5jLCAmZGVidWdmc19taXNyX2ZvcHMpOwotCiAJZm9yIChpID0g MDsgaSA8IGRwdV9lbmMtPm51bV9waHlzX2VuY3M7IGkrKykKIAkJaWYgKGRwdV9lbmMtPnBoeXNf ZW5jc1tpXSAmJgogCQkJCWRwdV9lbmMtPnBoeXNfZW5jc1tpXS0+b3BzLmxhdGVfcmVnaXN0ZXIp CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9w aHlzLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzLmgK aW5kZXggYzdkZjhhYS4uYjM5MTdlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5cy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9lbmNvZGVyX3BoeXMuaApAQCAtMTE0LDggKzExNCw2IEBAIHN0cnVjdCBkcHVf ZW5jb2Rlcl92aXJ0X29wcyB7CiAgKiBAaGFuZGxlX3Bvc3Rfa2lja29mZjoJRG8gYW55IHdvcmsg bmVjZXNzYXJ5IHBvc3Qta2lja29mZiB3b3JrCiAgKiBAdHJpZ2dlcl9zdGFydDoJCVByb2Nlc3Mg c3RhcnQgZXZlbnQgb24gcGh5c2ljYWwgZW5jb2RlcgogICogQG5lZWRzX3NpbmdsZV9mbHVzaDoJ CVdoZXRoZXIgZW5jb2RlciBzbGF2ZXMgbmVlZCB0byBiZSBmbHVzaGVkCi0gKiBAc2V0dXBfbWlz cjoJCVNldHMgdXAgTUlTUiwgZW5hYmxlIGFuZCBkaXNhYmxlcyBiYXNlZCBvbiBzeXNmcwotICog QGNvbGxlY3RfbWlzcjoJCUNvbGxlY3RzIE1JU1IgZGF0YSBvbiBmcmFtZSB1cGRhdGUKICAqIEBo d19yZXNldDoJCQlJc3N1ZSBIVyByZWNvdmVyeSBzdWNoIGFzIENUTCByZXNldCBhbmQgY2xlYXIK ICAqCQkJCURQVV9FTkNfRVJSX05FRURTX0hXX1JFU0VUIHN0YXRlCiAgKiBAaXJxX2NvbnRyb2w6 CQlIYW5kbGVyIHRvIGVuYWJsZS9kaXNhYmxlIGFsbCB0aGUgZW5jb2RlciBJUlFzCkBAIC0xNTQs MTAgKzE1Miw2IEBAIHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzX29wcyB7CiAJdm9pZCAoKmhhbmRs ZV9wb3N0X2tpY2tvZmYpKHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzX2VuYyk7CiAJdm9p ZCAoKnRyaWdnZXJfc3RhcnQpKHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzX2VuYyk7CiAJ Ym9vbCAoKm5lZWRzX3NpbmdsZV9mbHVzaCkoc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNf ZW5jKTsKLQotCXZvaWQgKCpzZXR1cF9taXNyKShzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5 c19lbmNzLAotCQkJCWJvb2wgZW5hYmxlLCB1MzIgZnJhbWVfY291bnQpOwotCXUzMiAoKmNvbGxl Y3RfbWlzcikoc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jKTsKIAl2b2lkICgqaHdf cmVzZXQpKHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzX2VuYyk7CiAJdm9pZCAoKmlycV9j b250cm9sKShzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5cywgYm9vbCBlbmFibGUpOwogCXZv aWQgKCpwcmVwYXJlX2lkbGVfcGMpKHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzX2VuYyk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9w aHlzX3ZpZC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5 c192aWQuYwppbmRleCAxNGZjN2MyLi42ZmMzZDNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMKQEAgLTc1NiwzMiArNzU2 LDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfcGh5c192aWRfaXJxX2NvbnRyb2woc3RydWN0 IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jLAogCX0KIH0KIAotc3RhdGljIHZvaWQgZHB1X2Vu Y29kZXJfcGh5c192aWRfc2V0dXBfbWlzcihzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5c19l bmMsCi0JCQkJCQlib29sIGVuYWJsZSwgdTMyIGZyYW1lX2NvdW50KQotewotCXN0cnVjdCBkcHVf ZW5jb2Rlcl9waHlzX3ZpZCAqdmlkX2VuYzsKLQotCWlmICghcGh5c19lbmMpCi0JCXJldHVybjsK LQl2aWRfZW5jID0gdG9fZHB1X2VuY29kZXJfcGh5c192aWQocGh5c19lbmMpOwotCi0JaWYgKHZp ZF9lbmMtPmh3X2ludGYgJiYgdmlkX2VuYy0+aHdfaW50Zi0+b3BzLnNldHVwX21pc3IpCi0JCXZp ZF9lbmMtPmh3X2ludGYtPm9wcy5zZXR1cF9taXNyKHZpZF9lbmMtPmh3X2ludGYsCi0JCQkJCQkJ ZW5hYmxlLCBmcmFtZV9jb3VudCk7Ci19Ci0KLXN0YXRpYyB1MzIgZHB1X2VuY29kZXJfcGh5c192 aWRfY29sbGVjdF9taXNyKHN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzX2VuYykKLXsKLQlz dHJ1Y3QgZHB1X2VuY29kZXJfcGh5c192aWQgKnZpZF9lbmM7Ci0KLQlpZiAoIXBoeXNfZW5jKQot CQlyZXR1cm4gMDsKLQl2aWRfZW5jID0gdG9fZHB1X2VuY29kZXJfcGh5c192aWQocGh5c19lbmMp OwotCi0JcmV0dXJuIHZpZF9lbmMtPmh3X2ludGYgJiYgdmlkX2VuYy0+aHdfaW50Zi0+b3BzLmNv bGxlY3RfbWlzciA/Ci0JCXZpZF9lbmMtPmh3X2ludGYtPm9wcy5jb2xsZWN0X21pc3IodmlkX2Vu Yy0+aHdfaW50ZikgOiAwOwotfQotCiBzdGF0aWMgaW50IGRwdV9lbmNvZGVyX3BoeXNfdmlkX2dl dF9saW5lX2NvdW50KAogCQlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5c19lbmMpCiB7CkBA IC04MTcsOCArNzkxLDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfcGh5c192aWRfaW5pdF9v cHMoc3RydWN0IGRwdV9lbmNvZGVyX3BoeXNfb3BzICpvcHMpCiAJb3BzLT5wcmVwYXJlX2Zvcl9r aWNrb2ZmID0gZHB1X2VuY29kZXJfcGh5c192aWRfcHJlcGFyZV9mb3Jfa2lja29mZjsKIAlvcHMt PmhhbmRsZV9wb3N0X2tpY2tvZmYgPSBkcHVfZW5jb2Rlcl9waHlzX3ZpZF9oYW5kbGVfcG9zdF9r aWNrb2ZmOwogCW9wcy0+bmVlZHNfc2luZ2xlX2ZsdXNoID0gZHB1X2VuY29kZXJfcGh5c192aWRf bmVlZHNfc2luZ2xlX2ZsdXNoOwotCW9wcy0+c2V0dXBfbWlzciA9IGRwdV9lbmNvZGVyX3BoeXNf dmlkX3NldHVwX21pc3I7Ci0Jb3BzLT5jb2xsZWN0X21pc3IgPSBkcHVfZW5jb2Rlcl9waHlzX3Zp ZF9jb2xsZWN0X21pc3I7CiAJb3BzLT5od19yZXNldCA9IGRwdV9lbmNvZGVyX2hlbHBlcl9od19y ZXNldDsKIAlvcHMtPmdldF9saW5lX2NvdW50ID0gZHB1X2VuY29kZXJfcGh5c192aWRfZ2V0X2xp bmVfY291bnQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfaHdfaW50Zi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2ludGYu YwppbmRleCBkMjgwZGY1Li45YzZiYmEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfaHdfaW50Zi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9od19pbnRmLmMKQEAgLTY1LDkgKzY1LDYgQEAKICNkZWZpbmUgICBJTlRGX0ZSQU1F X0NPVU5UICAgICAgICAgICAgICAweDBBQwogI2RlZmluZSAgIElOVEZfTElORV9DT1VOVCAgICAg ICAgICAgICAgIDB4MEIwCiAKLSNkZWZpbmUgSU5URl9NSVNSX0NUUkwJCQkweDE4MAotI2RlZmlu ZSBJTlRGX01JU1JfU0lHTkFUVVJFCQkweDE4NAotCiBzdGF0aWMgc3RydWN0IGRwdV9pbnRmX2Nm ZyAqX2ludGZfb2Zmc2V0KGVudW0gZHB1X2ludGYgaW50ZiwKIAkJc3RydWN0IGRwdV9tZHNzX2Nm ZyAqbSwKIAkJdm9pZCBfX2lvbWVtICphZGRyLApAQCAtMjQ2LDMwICsyNDMsNiBAQCBzdGF0aWMg dm9pZCBkcHVfaHdfaW50Zl9nZXRfc3RhdHVzKAogCX0KIH0KIAotc3RhdGljIHZvaWQgZHB1X2h3 X2ludGZfc2V0dXBfbWlzcihzdHJ1Y3QgZHB1X2h3X2ludGYgKmludGYsCi0JCQkJCQlib29sIGVu YWJsZSwgdTMyIGZyYW1lX2NvdW50KQotewotCXN0cnVjdCBkcHVfaHdfYmxrX3JlZ19tYXAgKmMg PSAmaW50Zi0+aHc7Ci0JdTMyIGNvbmZpZyA9IDA7Ci0KLQlEUFVfUkVHX1dSSVRFKGMsIElOVEZf TUlTUl9DVFJMLCBNSVNSX0NUUkxfU1RBVFVTX0NMRUFSKTsKLQkvKiBjbGVhciBtaXNyIGRhdGEg Ki8KLQl3bWIoKTsKLQotCWlmIChlbmFibGUpCi0JCWNvbmZpZyA9IChmcmFtZV9jb3VudCAmIE1J U1JfRlJBTUVfQ09VTlRfTUFTSykgfAotCQkJTUlTUl9DVFJMX0VOQUJMRSB8IElOVEZfTUlTUl9D VFJMX0ZSRUVfUlVOX01BU0s7Ci0KLQlEUFVfUkVHX1dSSVRFKGMsIElOVEZfTUlTUl9DVFJMLCBj b25maWcpOwotfQotCi1zdGF0aWMgdTMyIGRwdV9od19pbnRmX2NvbGxlY3RfbWlzcihzdHJ1Y3Qg ZHB1X2h3X2ludGYgKmludGYpCi17Ci0Jc3RydWN0IGRwdV9od19ibGtfcmVnX21hcCAqYyA9ICZp bnRmLT5odzsKLQotCXJldHVybiBEUFVfUkVHX1JFQUQoYywgSU5URl9NSVNSX1NJR05BVFVSRSk7 Ci19Ci0KIHN0YXRpYyB1MzIgZHB1X2h3X2ludGZfZ2V0X2xpbmVfY291bnQoc3RydWN0IGRwdV9o d19pbnRmICppbnRmKQogewogCXN0cnVjdCBkcHVfaHdfYmxrX3JlZ19tYXAgKmM7CkBAIC0yODks OCArMjYyLDYgQEAgc3RhdGljIHZvaWQgX3NldHVwX2ludGZfb3BzKHN0cnVjdCBkcHVfaHdfaW50 Zl9vcHMgKm9wcywKIAlvcHMtPnNldHVwX3ByZ19mZXRjaCAgPSBkcHVfaHdfaW50Zl9zZXR1cF9w cmdfZmV0Y2g7CiAJb3BzLT5nZXRfc3RhdHVzID0gZHB1X2h3X2ludGZfZ2V0X3N0YXR1czsKIAlv cHMtPmVuYWJsZV90aW1pbmcgPSBkcHVfaHdfaW50Zl9lbmFibGVfdGltaW5nX2VuZ2luZTsKLQlv cHMtPnNldHVwX21pc3IgPSBkcHVfaHdfaW50Zl9zZXR1cF9taXNyOwotCW9wcy0+Y29sbGVjdF9t aXNyID0gZHB1X2h3X2ludGZfY29sbGVjdF9taXNyOwogCW9wcy0+Z2V0X2xpbmVfY291bnQgPSBk cHVfaHdfaW50Zl9nZXRfbGluZV9jb3VudDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2ludGYuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od19pbnRmLmgKaW5kZXggYTc5ZDczNS4uM2I3N2RmNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2ludGYuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfaW50Zi5oCkBAIC01OSw4ICs1OSw2IEBAIHN0 cnVjdCBpbnRmX3N0YXR1cyB7CiAgKiBAIHNldHVwX3Byb2dfZmV0Y2ggOiBlbmFibGVzL2Rpc2Fi bGVzIHRoZSBwcm9ncmFtbWFibGUgZmV0Y2ggbG9naWMKICAqIEAgZW5hYmxlX3RpbWluZzogZW5h YmxlL2Rpc2FibGUgdGltaW5nIGVuZ2luZQogICogQCBnZXRfc3RhdHVzOiByZXR1cm5zIGlmIHRp bWluZyBlbmdpbmUgaXMgZW5hYmxlZCBvciBub3QKLSAqIEAgc2V0dXBfbWlzcjogZW5hYmxlcy9k aXNhYmxlcyBNSVNSIGluIEhXIHJlZ2lzdGVyCi0gKiBAIGNvbGxlY3RfbWlzcjogcmVhZHMgYW5k IHN0b3JlcyBNSVNSIGRhdGEgZnJvbSBIVyByZWdpc3RlcgogICogQCBnZXRfbGluZV9jb3VudDog cmVhZHMgY3VycmVudCB2ZXJ0aWNhbCBsaW5lIGNvdW50ZXIKICAqLwogc3RydWN0IGRwdV9od19p bnRmX29wcyB7CkBAIC03NywxMSArNzUsNiBAQCBzdHJ1Y3QgZHB1X2h3X2ludGZfb3BzIHsKIAl2 b2lkICgqZ2V0X3N0YXR1cykoc3RydWN0IGRwdV9od19pbnRmICppbnRmLAogCQkJc3RydWN0IGlu dGZfc3RhdHVzICpzdGF0dXMpOwogCi0Jdm9pZCAoKnNldHVwX21pc3IpKHN0cnVjdCBkcHVfaHdf aW50ZiAqaW50ZiwKLQkJCWJvb2wgZW5hYmxlLCB1MzIgZnJhbWVfY291bnQpOwotCi0JdTMyICgq Y29sbGVjdF9taXNyKShzdHJ1Y3QgZHB1X2h3X2ludGYgKmludGYpOwotCiAJdTMyICgqZ2V0X2xp bmVfY291bnQpKHN0cnVjdCBkcHVfaHdfaW50ZiAqaW50Zik7CiB9OwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfbG0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9od19sbS5jCmluZGV4IDRhYjcyYjAuLmFjYjhkYzggMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19sbS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19sbS5jCkBAIC0zNCw5ICszNCw2IEBA CiAjZGVmaW5lIExNX0JMRU5EMF9GR19BTFBIQSAgICAgICAgICAgICAgIDB4MDQKICNkZWZpbmUg TE1fQkxFTkQwX0JHX0FMUEhBICAgICAgICAgICAgICAgMHgwOAogCi0jZGVmaW5lIExNX01JU1Jf Q1RSTAkJCTB4MzEwCi0jZGVmaW5lIExNX01JU1JfU0lHTkFUVVJFCQkweDMxNAotCiBzdGF0aWMg c3RydWN0IGRwdV9sbV9jZmcgKl9sbV9vZmZzZXQoZW51bSBkcHVfbG0gbWl4ZXIsCiAJCXN0cnVj dCBkcHVfbWRzc19jZmcgKm0sCiAJCXZvaWQgX19pb21lbSAqYWRkciwKQEAgLTE3MSwzMCArMTY4 LDYgQEAgc3RhdGljIHZvaWQgZHB1X2h3X2xtX2djKHN0cnVjdCBkcHVfaHdfbWl4ZXIgKm1peGVy LAogewogfQogCi1zdGF0aWMgdm9pZCBkcHVfaHdfbG1fc2V0dXBfbWlzcihzdHJ1Y3QgZHB1X2h3 X21peGVyICpjdHgsCi0JCQkJYm9vbCBlbmFibGUsIHUzMiBmcmFtZV9jb3VudCkKLXsKLQlzdHJ1 Y3QgZHB1X2h3X2Jsa19yZWdfbWFwICpjID0gJmN0eC0+aHc7Ci0JdTMyIGNvbmZpZyA9IDA7Ci0K LQlEUFVfUkVHX1dSSVRFKGMsIExNX01JU1JfQ1RSTCwgTUlTUl9DVFJMX1NUQVRVU19DTEVBUik7 Ci0JLyogY2xlYXIgbWlzciBkYXRhICovCi0Jd21iKCk7Ci0KLQlpZiAoZW5hYmxlKQotCQljb25m aWcgPSAoZnJhbWVfY291bnQgJiBNSVNSX0ZSQU1FX0NPVU5UX01BU0spIHwKLQkJCU1JU1JfQ1RS TF9FTkFCTEUgfCBJTlRGX01JU1JfQ1RSTF9GUkVFX1JVTl9NQVNLOwotCi0JRFBVX1JFR19XUklU RShjLCBMTV9NSVNSX0NUUkwsIGNvbmZpZyk7Ci19Ci0KLXN0YXRpYyB1MzIgZHB1X2h3X2xtX2Nv bGxlY3RfbWlzcihzdHJ1Y3QgZHB1X2h3X21peGVyICpjdHgpCi17Ci0Jc3RydWN0IGRwdV9od19i bGtfcmVnX21hcCAqYyA9ICZjdHgtPmh3OwotCi0JcmV0dXJuIERQVV9SRUdfUkVBRChjLCBMTV9N SVNSX1NJR05BVFVSRSk7Ci19Ci0KIHN0YXRpYyB2b2lkIF9zZXR1cF9taXhlcl9vcHMoc3RydWN0 IGRwdV9tZHNzX2NmZyAqbSwKIAkJc3RydWN0IGRwdV9od19sbV9vcHMgKm9wcywKIAkJdW5zaWdu ZWQgbG9uZyBmZWF0dXJlcykKQEAgLTIwNyw4ICsxODAsNiBAQCBzdGF0aWMgdm9pZCBfc2V0dXBf bWl4ZXJfb3BzKHN0cnVjdCBkcHVfbWRzc19jZmcgKm0sCiAJb3BzLT5zZXR1cF9hbHBoYV9vdXQg PSBkcHVfaHdfbG1fc2V0dXBfY29sb3IzOwogCW9wcy0+c2V0dXBfYm9yZGVyX2NvbG9yID0gZHB1 X2h3X2xtX3NldHVwX2JvcmRlcl9jb2xvcjsKIAlvcHMtPnNldHVwX2djID0gZHB1X2h3X2xtX2dj OwotCW9wcy0+c2V0dXBfbWlzciA9IGRwdV9od19sbV9zZXR1cF9taXNyOwotCW9wcy0+Y29sbGVj dF9taXNyID0gZHB1X2h3X2xtX2NvbGxlY3RfbWlzcjsKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZHB1 X2h3X2Jsa19vcHMgZHB1X2h3X29wcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9od19sbS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2h3X2xtLmgKaW5kZXggZTI5ZTVkYS4uNWIwMzZhYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2xtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2h3X2xtLmgKQEAgLTY2LDEzICs2Niw2IEBAIHN0cnVjdCBkcHVfaHdf bG1fb3BzIHsKIAkgKi8KIAl2b2lkICgqc2V0dXBfZ2MpKHN0cnVjdCBkcHVfaHdfbWl4ZXIgKm1p eGVyLAogCQkJdm9pZCAqY2ZnKTsKLQotCS8qIHNldHVwX21pc3I6IGVuYWJsZXMvZGlzYWJsZXMg TUlTUiBpbiBIVyByZWdpc3RlciAqLwotCXZvaWQgKCpzZXR1cF9taXNyKShzdHJ1Y3QgZHB1X2h3 X21peGVyICpjdHgsCi0JCQlib29sIGVuYWJsZSwgdTMyIGZyYW1lX2NvdW50KTsKLQotCS8qIGNv bGxlY3RfbWlzcjogcmVhZHMgYW5kIHN0b3JlcyBNSVNSIGRhdGEgZnJvbSBIVyByZWdpc3RlciAq LwotCXUzMiAoKmNvbGxlY3RfbWlzcikoc3RydWN0IGRwdV9od19taXhlciAqY3R4KTsKIH07CiAK IHN0cnVjdCBkcHVfaHdfbWl4ZXIgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2h3X3V0aWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9od191dGlsLmMKaW5kZXggNGNhYmFlNC4uY2I1YzAxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3V0aWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfaHdfdXRpbC5jCkBAIC01MCw5ICs1MCw2IEBACiAjZGVmaW5lIFFT RUVEM19DTEtfQ1RSTDAgICAgICAgICAgICAgICAgICAgMHg1NAogI2RlZmluZSBRU0VFRDNfQ0xL X0NUUkwxICAgICAgICAgICAgICAgICAgIDB4NTgKICNkZWZpbmUgUVNFRUQzX0NMS19TVEFUVVMg ICAgICAgICAgICAgICAgICAweDVDCi0jZGVmaW5lIFFTRUVEM19NSVNSX0NUUkwgICAgICAgICAg ICAgICAgICAgMHg3MAotI2RlZmluZSBRU0VFRDNfTUlTUl9TSUdOQVRVUkVfMCAgICAgICAgICAg IDB4NzQKLSNkZWZpbmUgUVNFRUQzX01JU1JfU0lHTkFUVVJFXzEgICAgICAgICAgICAweDc4CiAj ZGVmaW5lIFFTRUVEM19QSEFTRV9JTklUX1lfSCAgICAgICAgICAgICAgMHg5MAogI2RlZmluZSBR U0VFRDNfUEhBU0VfSU5JVF9ZX1YgICAgICAgICAgICAgIDB4OTQKICNkZWZpbmUgUVNFRUQzX1BI QVNFX0lOSVRfVVZfSCAgICAgICAgICAgICAweDk4CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdXRpbC5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2h3X3V0aWwuaAppbmRleCAxMjQwZjUwLi5jYjAyMDQxIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdXRpbC5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od191dGlsLmgKQEAgLTMyNSwxMiArMzI1LDYgQEAg dm9pZCBkcHVfcmVnX3dyaXRlKHN0cnVjdCBkcHVfaHdfYmxrX3JlZ19tYXAgKmMsCiAjZGVmaW5l IERQVV9SRUdfV1JJVEUoYywgb2ZmLCB2YWwpIGRwdV9yZWdfd3JpdGUoYywgb2ZmLCB2YWwsICNv ZmYpCiAjZGVmaW5lIERQVV9SRUdfUkVBRChjLCBvZmYpIGRwdV9yZWdfcmVhZChjLCBvZmYpCiAK LSNkZWZpbmUgTUlTUl9GUkFNRV9DT1VOVF9NQVNLCQkweEZGCi0jZGVmaW5lIE1JU1JfQ1RSTF9F TkFCTEUJCUJJVCg4KQotI2RlZmluZSBNSVNSX0NUUkxfU1RBVFVTCQlCSVQoOSkKLSNkZWZpbmUg TUlTUl9DVFJMX1NUQVRVU19DTEVBUgkJQklUKDEwKQotI2RlZmluZSBJTlRGX01JU1JfQ1RSTF9G UkVFX1JVTl9NQVNLCUJJVCgzMSkKLQogdm9pZCAqZHB1X2h3X3V0aWxfZ2V0X2Rpcih2b2lkKTsK IAogdm9pZCBkcHVfaHdfc2V0dXBfc2NhbGVyMyhzdHJ1Y3QgZHB1X2h3X2Jsa19yZWdfbWFwICpj LAotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9m IHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUg UHJvamVjdAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K RnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==