From: Jordan Crouse Subject: [PATCH 09/11] drm/msm/dpu: Debugfs related cleanups Date: Thu, 18 Oct 2018 13:58:34 -0600 Message-ID: <20181018195836.15885-10-jcrouse@codeaurora.org> References: <20181018195836.15885-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181018195836.15885-1-jcrouse-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: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org RG8gc29tZSBjbGVhbnVwcyB0byB0aGUgY29kZSByZWxhdGVkIHRvIGRlYnVnZnMgZmlsZXMgZnJv bSBhY3Jvc3MKdGhlIERQVSBkcml2ZXIgaW5jbHVkaW5nIHJlbW92aW5nIGRlc3Ryb3kgZnVuY3Rp b25zLAp0d2Vla3MgdG8gdGhlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucywgcmVtb3ZhbCBvZiB1 bnVzZWQKc3RhdGljIGlubGluZSBzdHVicyBhbmQgc2tpcHBpbmcgdW5uZWVkZWQgbnVsbCBjaGVj a3MuCgpTaWduZWQtb2ZmLWJ5OiBKb3JkYW4gQ3JvdXNlIDxqY3JvdXNlQGNvZGVhdXJvcmEub3Jn PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX2lycS5jICB8IDMw ICsrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9pcnEu aCAgfCAgOSArLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9wZXJm LmMgfCAxNyAtLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5j ICAgICAgfCAzMCArKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2VuY29kZXIuYyAgIHwgMzEgKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfa21zLmMgICAgICAgfCA1MCArKysrLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmggICAgICAgfCAgMSAtCiBkcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfbWRzcy5jICAgICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMgICAgIHwgMTggKystLS0tLQogZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X3ZiaWYuYyAgICAgIHwgMTEgKy0tLQogZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X3ZiaWYuaCAgICAgIHwgMTUgKy0tLS0tCiAxMSBmaWxlcyBj aGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAxODIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfaXJxLmMgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9pcnEuYwppbmRleCBmNjYwNzBjYjJmNDIuLmYx ODhjNzhkZDczNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2NvcmVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVf aXJxLmMKQEAgLTMwNywxMCArMzA3LDggQEAgc3RhdGljIGludCBkcHVfZGVidWdmc19jb3JlX2ly cV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdikKIAl1bnNpZ25lZCBsb25nIGlycV9m bGFnczsKIAlpbnQgaSwgaXJxX2NvdW50LCBlbmFibGVfY291bnQsIGNiX2NvdW50OwogCi0JaWYg KCFpcnFfb2JqIHx8ICFpcnFfb2JqLT5lbmFibGVfY291bnRzIHx8ICFpcnFfb2JqLT5pcnFfY2Jf dGJsKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBwYXJhbWV0ZXJzXG4iKTsKKwlpZiAoV0FSTl9P TighaXJxX29iai0+ZW5hYmxlX2NvdW50cyB8fCAhaXJxX29iai0+aXJxX2NiX3RibCkpCiAJCXJl dHVybiAwOwotCX0KIAogCWZvciAoaSA9IDA7IGkgPCBpcnFfb2JqLT50b3RhbF9pcnFzOyBpKysp IHsKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmlycV9vYmotPmNiX2xvY2ssIGlycV9mbGFncyk7CkBA IC0zMzEsMzEgKzMyOSwxMSBAQCBzdGF0aWMgaW50IGRwdV9kZWJ1Z2ZzX2NvcmVfaXJxX3Nob3co c3RydWN0IHNlcV9maWxlICpzLCB2b2lkICp2KQogCiBERUZJTkVfU0hPV19BVFRSSUJVVEUoZHB1 X2RlYnVnZnNfY29yZV9pcnEpOwogCi1pbnQgZHB1X2RlYnVnZnNfY29yZV9pcnFfaW5pdChzdHJ1 Y3QgZHB1X2ttcyAqZHB1X2ttcywKLQkJc3RydWN0IGRlbnRyeSAqcGFyZW50KQotewotCWRwdV9r bXMtPmlycV9vYmouZGVidWdmc19maWxlID0gZGVidWdmc19jcmVhdGVfZmlsZSgiY29yZV9pcnEi LCAwNjAwLAotCQkJcGFyZW50LCAmZHB1X2ttcy0+aXJxX29iaiwKLQkJCSZkcHVfZGVidWdmc19j b3JlX2lycV9mb3BzKTsKLQotCXJldHVybiAwOwotfQotCi12b2lkIGRwdV9kZWJ1Z2ZzX2NvcmVf aXJxX2Rlc3Ryb3koc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMpCi17Ci0JZGVidWdmc19yZW1vdmUo ZHB1X2ttcy0+aXJxX29iai5kZWJ1Z2ZzX2ZpbGUpOwotCWRwdV9rbXMtPmlycV9vYmouZGVidWdm c19maWxlID0gTlVMTDsKLX0KLQotI2Vsc2UKLWludCBkcHVfZGVidWdmc19jb3JlX2lycV9pbml0 KHN0cnVjdCBkcHVfa21zICpkcHVfa21zLAordm9pZCBkcHVfZGVidWdmc19jb3JlX2lycV9pbml0 KHN0cnVjdCBkcHVfa21zICpkcHVfa21zLAogCQlzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQpCiB7Ci0J cmV0dXJuIDA7Ci19Ci0KLXZvaWQgZHB1X2RlYnVnZnNfY29yZV9pcnFfZGVzdHJveShzdHJ1Y3Qg ZHB1X2ttcyAqZHB1X2ttcykKLXsKKwlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJjb3JlX2lycSIsIDA2 MDAsIHBhcmVudCwgJmRwdV9rbXMtPmlycV9vYmosCisJCSZkcHVfZGVidWdmc19jb3JlX2lycV9m b3BzKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY29yZV9pcnEuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j b3JlX2lycS5oCmluZGV4IDg4NGY3N2ZhM2ViNi4uZTkwMTVhMmIyM2ZlIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9pcnEuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9pcnEuaApAQCAtMTMyLDE1ICsxMzIsOCBA QCBpbnQgZHB1X2NvcmVfaXJxX3VucmVnaXN0ZXJfY2FsbGJhY2soCiAgKiBkcHVfZGVidWdmc19j b3JlX2lycV9pbml0IC0gcmVnaXN0ZXIgY29yZSBpcnEgZGVidWdmcwogICogQGRwdV9rbXM6IHBv aW50ZXIgdG8ga21zCiAgKiBAcGFyZW50OiBkZWJ1Z2ZzIGRpcmVjdG9yeSByb290Ci0gKiBAUmV0 dXJuOiAwIG9uIHN1Y2Nlc3MKICAqLwotaW50IGRwdV9kZWJ1Z2ZzX2NvcmVfaXJxX2luaXQoc3Ry dWN0IGRwdV9rbXMgKmRwdV9rbXMsCit2b2lkIGRwdV9kZWJ1Z2ZzX2NvcmVfaXJxX2luaXQoc3Ry dWN0IGRwdV9rbXMgKmRwdV9rbXMsCiAJCXN0cnVjdCBkZW50cnkgKnBhcmVudCk7CiAKLS8qKgot ICogZHB1X2RlYnVnZnNfY29yZV9pcnFfZGVzdHJveSAtIGRlcmVnaXN0ZXIgY29yZSBpcnEgZGVi dWdmcwotICogQGRwdV9rbXM6IHBvaW50ZXIgdG8ga21zCi0gKi8KLXZvaWQgZHB1X2RlYnVnZnNf Y29yZV9pcnFfZGVzdHJveShzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcyk7Ci0KICNlbmRpZiAvKiBf X0RQVV9DT1JFX0lSUV9IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9jb3JlX3BlcmYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9jb3JlX3BlcmYuYwppbmRleCBlNjhjY2I3YTg5OGEuLjdiYzg4N2VkOWQ3NCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX3BlcmYuYwpAQCAtNTI0LDEyICs1 MjQsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBkcHVfY29yZV9wZXJm X21vZGVfZm9wcyA9IHsKIAkud3JpdGUgPSBfZHB1X2NvcmVfcGVyZl9tb2RlX3dyaXRlLAogfTsK IAotc3RhdGljIHZvaWQgZHB1X2NvcmVfcGVyZl9kZWJ1Z2ZzX2Rlc3Ryb3koc3RydWN0IGRwdV9j b3JlX3BlcmYgKnBlcmYpCi17Ci0JZGVidWdmc19yZW1vdmVfcmVjdXJzaXZlKHBlcmYtPmRlYnVn ZnNfcm9vdCk7Ci0JcGVyZi0+ZGVidWdmc19yb290ID0gTlVMTDsKLX0KLQogaW50IGRwdV9jb3Jl X3BlcmZfZGVidWdmc19pbml0KHN0cnVjdCBkcHVfY29yZV9wZXJmICpwZXJmLAogCQlzdHJ1Y3Qg ZGVudHJ5ICpwYXJlbnQpCiB7CkBAIC01NzgsMTYgKzU3Miw2IEBAIGludCBkcHVfY29yZV9wZXJm X2RlYnVnZnNfaW5pdChzdHJ1Y3QgZHB1X2NvcmVfcGVyZiAqcGVyZiwKIAogCXJldHVybiAwOwog fQotI2Vsc2UKLXN0YXRpYyB2b2lkIGRwdV9jb3JlX3BlcmZfZGVidWdmc19kZXN0cm95KHN0cnVj dCBkcHVfY29yZV9wZXJmICpwZXJmKQotewotfQotCi1pbnQgZHB1X2NvcmVfcGVyZl9kZWJ1Z2Zz X2luaXQoc3RydWN0IGRwdV9jb3JlX3BlcmYgKnBlcmYsCi0JCXN0cnVjdCBkZW50cnkgKnBhcmVu dCkKLXsKLQlyZXR1cm4gMDsKLX0KICNlbmRpZgogCiB2b2lkIGRwdV9jb3JlX3BlcmZfZGVzdHJv eShzdHJ1Y3QgZHB1X2NvcmVfcGVyZiAqcGVyZikKQEAgLTU5Nyw3ICs1ODEsNiBAQCB2b2lkIGRw dV9jb3JlX3BlcmZfZGVzdHJveShzdHJ1Y3QgZHB1X2NvcmVfcGVyZiAqcGVyZikKIAkJcmV0dXJu OwogCX0KIAotCWRwdV9jb3JlX3BlcmZfZGVidWdmc19kZXN0cm95KHBlcmYpOwogCXBlcmYtPm1h eF9jb3JlX2Nsa19yYXRlID0gMDsKIAlwZXJmLT5jb3JlX2NsayA9IE5VTEw7CiAJcGVyZi0+cGhh bmRsZSA9IE5VTEw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwppbmRl eCBhOGFhNTliOGNhZWIuLjg5MDk5NDEwNmUzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY3J0Yy5jCkBAIC0xMjQ2LDkgKzEyNDYsNiBAQCBzdGF0aWMgaW50IGRwdV9jcnRj X2RlYnVnZnNfc3RhdHVzX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQogCiAJ aW50IGksIG91dF93aWR0aDsKIAotCWlmICghcyB8fCAhcy0+cHJpdmF0ZSkKLQkJcmV0dXJuIC1F SU5WQUw7Ci0KIAlkcHVfY3J0YyA9IHMtPnByaXZhdGU7CiAJY3J0YyA9ICZkcHVfY3J0Yy0+YmFz ZTsKIApAQCAtMTM3OCwxNCArMTM3NSw3IEBAIERFRklORV9TSE9XX0FUVFJJQlVURShkcHVfY3J0 Y19kZWJ1Z2ZzX3N0YXRlKTsKIAogc3RhdGljIGludCBfZHB1X2NydGNfaW5pdF9kZWJ1Z2ZzKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjOwotCXN0 cnVjdCBkcHVfa21zICpkcHVfa21zOwotCi0JaWYgKCFjcnRjKQotCQlyZXR1cm4gLUVJTlZBTDsK LQlkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwotCi0JZHB1X2ttcyA9IF9kcHVfY3J0Y19n ZXRfa21zKGNydGMpOworCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0b19kcHVfY3J0Yyhj cnRjKTsKIAogCWRwdV9jcnRjLT5kZWJ1Z2ZzX3Jvb3QgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIoZHB1 X2NydGMtPm5hbWUsCiAJCQljcnRjLT5kZXYtPnByaW1hcnktPmRlYnVnZnNfcm9vdCk7CkBAIC0x NDAzLDI1ICsxMzkzLDExIEBAIHN0YXRpYyBpbnQgX2RwdV9jcnRjX2luaXRfZGVidWdmcyhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiAKIAlyZXR1cm4gMDsKIH0KLQotc3RhdGljIHZvaWQgX2RwdV9j cnRjX2Rlc3Ryb3lfZGVidWdmcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCi17Ci0Jc3RydWN0IGRw dV9jcnRjICpkcHVfY3J0YzsKLQotCWlmICghY3J0YykKLQkJcmV0dXJuOwotCWRwdV9jcnRjID0g dG9fZHB1X2NydGMoY3J0Yyk7Ci0JZGVidWdmc19yZW1vdmVfcmVjdXJzaXZlKGRwdV9jcnRjLT5k ZWJ1Z2ZzX3Jvb3QpOwotfQogI2Vsc2UKIHN0YXRpYyBpbnQgX2RwdV9jcnRjX2luaXRfZGVidWdm cyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJcmV0dXJuIDA7CiB9Ci0KLXN0YXRpYyB2b2lk IF9kcHVfY3J0Y19kZXN0cm95X2RlYnVnZnMoc3RydWN0IGRybV9jcnRjICpjcnRjKQotewotfQog I2VuZGlmIC8qIENPTkZJR19ERUJVR19GUyAqLwogCiBzdGF0aWMgaW50IGRwdV9jcnRjX2xhdGVf cmVnaXN0ZXIoc3RydWN0IGRybV9jcnRjICpjcnRjKQpAQCAtMTQzMSw3ICsxNDA3LDkgQEAgc3Rh dGljIGludCBkcHVfY3J0Y19sYXRlX3JlZ2lzdGVyKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAog c3RhdGljIHZvaWQgZHB1X2NydGNfZWFybHlfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpCiB7Ci0JX2RwdV9jcnRjX2Rlc3Ryb3lfZGVidWdmcyhjcnRjKTsKKwlzdHJ1Y3QgZHB1X2Ny dGMgKmRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7CisKKwlkZWJ1Z2ZzX3JlbW92ZV9yZWN1 cnNpdmUoZHB1X2NydGMtPmRlYnVnZnNfcm9vdCk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2NydGNfZnVuY3MgZHB1X2NydGNfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2VuY29kZXIuYwppbmRleCA1NTU5ZTVkNDAxNDIuLjI4MTE4NjBmMjY4OCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCkBAIC0xODM4 LDE0ICsxODM4LDkgQEAgdm9pZCBkcHVfZW5jb2Rlcl9wcmVwYXJlX2NvbW1pdChzdHJ1Y3QgZHJt X2VuY29kZXIgKmRybV9lbmMpCiAjaWZkZWYgQ09ORklHX0RFQlVHX0ZTCiBzdGF0aWMgaW50IGRw dV9lbmNvZGVyX3N0YXR1c19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKIHsK LQlzdHJ1Y3QgZHB1X2VuY29kZXJfdmlydCAqZHB1X2VuYzsKKwlzdHJ1Y3QgZHB1X2VuY29kZXJf dmlydCAqZHB1X2VuYyA9IHMtPnByaXZhdGU7CiAJaW50IGk7CiAKLQlpZiAoIXMgfHwgIXMtPnBy aXZhdGUpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JZHB1X2VuYyA9IHMtPnByaXZhdGU7Ci0KIAlt dXRleF9sb2NrKCZkcHVfZW5jLT5lbmNfbG9jayk7CiAJZm9yIChpID0gMDsgaSA8IGRwdV9lbmMt Pm51bV9waHlzX2VuY3M7IGkrKykgewogCQlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5cyA9 IGRwdV9lbmMtPnBoeXNfZW5jc1tpXTsKQEAgLTE4NzksMTggKzE4NzQsMTcgQEAgREVGSU5FX1NI T1dfQVRUUklCVVRFKGRwdV9lbmNvZGVyX3N0YXR1cyk7CiAKIHN0YXRpYyBpbnQgX2RwdV9lbmNv ZGVyX2luaXRfZGVidWdmcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMpCiB7Ci0Jc3RydWN0 IGRwdV9lbmNvZGVyX3ZpcnQgKmRwdV9lbmM7CisJc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgKmRw dV9lbmMgPSB0b19kcHVfZW5jb2Rlcl92aXJ0KGRybV9lbmMpOwogCXN0cnVjdCBtc21fZHJtX3By aXZhdGUgKnByaXY7CiAJc3RydWN0IGRwdV9rbXMgKmRwdV9rbXM7CiAJaW50IGk7CiAJY2hhciBu YW1lW0RQVV9OQU1FX1NJWkVdOwogCi0JaWYgKCFkcm1fZW5jIHx8ICFkcm1fZW5jLT5kZXYgfHwg IWRybV9lbmMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKKwlpZiAoIWRybV9lbmMtPmRldiB8fCAhZHJt X2VuYy0+ZGV2LT5kZXZfcHJpdmF0ZSkgewogCQlEUFVfRVJST1IoImludmFsaWQgZW5jb2RlciBv ciBrbXNcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlkcHVfZW5jID0gdG9fZHB1X2Vu Y29kZXJfdmlydChkcm1fZW5jKTsKIAlwcml2ID0gZHJtX2VuYy0+ZGV2LT5kZXZfcHJpdmF0ZTsK IAlkcHVfa21zID0gdG9fZHB1X2ttcyhwcml2LT5rbXMpOwogCkBAIC0xOTE1LDI2ICsxOTA5LDEx IEBAIHN0YXRpYyBpbnQgX2RwdV9lbmNvZGVyX2luaXRfZGVidWdmcyhzdHJ1Y3QgZHJtX2VuY29k ZXIgKmRybV9lbmMpCiAKIAlyZXR1cm4gMDsKIH0KLQotc3RhdGljIHZvaWQgX2RwdV9lbmNvZGVy X2Rlc3Ryb3lfZGVidWdmcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMpCi17Ci0Jc3RydWN0 IGRwdV9lbmNvZGVyX3ZpcnQgKmRwdV9lbmM7Ci0KLQlpZiAoIWRybV9lbmMpCi0JCXJldHVybjsK LQotCWRwdV9lbmMgPSB0b19kcHVfZW5jb2Rlcl92aXJ0KGRybV9lbmMpOwotCWRlYnVnZnNfcmVt b3ZlX3JlY3Vyc2l2ZShkcHVfZW5jLT5kZWJ1Z2ZzX3Jvb3QpOwotfQogI2Vsc2UKIHN0YXRpYyBp bnQgX2RwdV9lbmNvZGVyX2luaXRfZGVidWdmcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMp CiB7CiAJcmV0dXJuIDA7CiB9Ci0KLXN0YXRpYyB2b2lkIF9kcHVfZW5jb2Rlcl9kZXN0cm95X2Rl YnVnZnMoc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jKQotewotfQogI2VuZGlmCiAKIHN0YXRp YyBpbnQgZHB1X2VuY29kZXJfbGF0ZV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIpCkBAIC0xOTQ0LDcgKzE5MjMsOSBAQCBzdGF0aWMgaW50IGRwdV9lbmNvZGVyX2xhdGVfcmVn aXN0ZXIoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCiBzdGF0aWMgdm9pZCBkcHVfZW5j b2Rlcl9lYXJseV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKLQlf ZHB1X2VuY29kZXJfZGVzdHJveV9kZWJ1Z2ZzKGVuY29kZXIpOworCXN0cnVjdCBkcHVfZW5jb2Rl cl92aXJ0ICpkcHVfZW5jID0gdG9fZHB1X2VuY29kZXJfdmlydChlbmNvZGVyKTsKKworCWRlYnVn ZnNfcmVtb3ZlX3JlY3Vyc2l2ZShkcHVfZW5jLT5kZWJ1Z2ZzX3Jvb3QpOwogfQogCiBzdGF0aWMg aW50IGRwdV9lbmNvZGVyX3ZpcnRfYWRkX3BoeXNfZW5jcygKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9rbXMuYwppbmRleCAyYTkxODgxMDQ4YzguLjAxYmUzMDU3NThjNSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwpAQCAtODEsNyArODEsNyBAQCBzdGF0 aWMgaW50IF9kcHVfZGFuZ2VyX3NpZ25hbF9zdGF0dXMoc3RydWN0IHNlcV9maWxlICpzLAogCXN0 cnVjdCBkcHVfZGFuZ2VyX3NhZmVfc3RhdHVzIHN0YXR1czsKIAlpbnQgaTsKIAotCWlmICgha21z IHx8ICFrbXMtPmRldiB8fCAha21zLT5kZXYtPmRldl9wcml2YXRlIHx8ICFrbXMtPmh3X21kcCkg eworCWlmICgha21zLT5kZXYgfHwgIWttcy0+ZGV2LT5kZXZfcHJpdmF0ZSB8fCAha21zLT5od19t ZHApIHsKIAkJRFBVX0VSUk9SKCJpbnZhbGlkIGFyZyhzKVxuIik7CiAJCXJldHVybiAwOwogCX0K QEAgLTEyNSw0NiArMTI1LDMxIEBAIHN0YXRpYyBpbnQgZHB1X2RlYnVnZnNfc2FmZV9zdGF0c19z aG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdikKIH0KIERFRklORV9TSE9XX0FUVFJJQlVU RShkcHVfZGVidWdmc19zYWZlX3N0YXRzKTsKIAotc3RhdGljIHZvaWQgZHB1X2RlYnVnZnNfZGFu Z2VyX2Rlc3Ryb3koc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMpCi17Ci0JZGVidWdmc19yZW1vdmVf cmVjdXJzaXZlKGRwdV9rbXMtPmRlYnVnZnNfZGFuZ2VyKTsKLQlkcHVfa21zLT5kZWJ1Z2ZzX2Rh bmdlciA9IE5VTEw7Ci19Ci0KLXN0YXRpYyBpbnQgZHB1X2RlYnVnZnNfZGFuZ2VyX2luaXQoc3Ry dWN0IGRwdV9rbXMgKmRwdV9rbXMsCitzdGF0aWMgdm9pZCBkcHVfZGVidWdmc19kYW5nZXJfaW5p dChzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcywKIAkJc3RydWN0IGRlbnRyeSAqcGFyZW50KQogewog CWRwdV9rbXMtPmRlYnVnZnNfZGFuZ2VyID0gZGVidWdmc19jcmVhdGVfZGlyKCJkYW5nZXIiLAog CQkJcGFyZW50KTsKIAlpZiAoIWRwdV9rbXMtPmRlYnVnZnNfZGFuZ2VyKSB7CiAJCURQVV9FUlJP UigiZmFpbGVkIHRvIGNyZWF0ZSBkYW5nZXIgZGVidWdmc1xuIik7Ci0JCXJldHVybiAtRUlOVkFM OwogCX0KIAogCWRlYnVnZnNfY3JlYXRlX2ZpbGUoImRhbmdlcl9zdGF0dXMiLCAwNjAwLCBkcHVf a21zLT5kZWJ1Z2ZzX2RhbmdlciwKIAkJCWRwdV9rbXMsICZkcHVfZGVidWdmc19kYW5nZXJfc3Rh dHNfZm9wcyk7CiAJZGVidWdmc19jcmVhdGVfZmlsZSgic2FmZV9zdGF0dXMiLCAwNjAwLCBkcHVf a21zLT5kZWJ1Z2ZzX2RhbmdlciwKIAkJCWRwdV9rbXMsICZkcHVfZGVidWdmc19zYWZlX3N0YXRz X2ZvcHMpOwotCi0JcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgZHB1X2RlYnVnZnNfcmVnc2V0 MzJfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCiB7Ci0Jc3RydWN0IGRwdV9k ZWJ1Z2ZzX3JlZ3NldDMyICpyZWdzZXQ7Ci0Jc3RydWN0IGRwdV9rbXMgKmRwdV9rbXM7CisJc3Ry dWN0IGRwdV9kZWJ1Z2ZzX3JlZ3NldDMyICpyZWdzZXQgPSBzLT5wcml2YXRlOworCXN0cnVjdCBk cHVfa21zICpkcHVfa21zID0gcmVnc2V0LT5kcHVfa21zOwogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXY7CiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKIAl2b2lkIF9faW9tZW0gKmJhc2U7 CiAJdWludDMyX3QgaSwgYWRkcjsKIAotCWlmICghcyB8fCAhcy0+cHJpdmF0ZSkKLQkJcmV0dXJu IDA7Ci0KLQlyZWdzZXQgPSBzLT5wcml2YXRlOwotCi0JZHB1X2ttcyA9IHJlZ3NldC0+ZHB1X2tt czsKLQlpZiAoIWRwdV9rbXMgfHwgIWRwdV9rbXMtPm1taW8pCisJaWYgKCFkcHVfa21zLT5tbWlv KQogCQlyZXR1cm4gMDsKIAogCWRldiA9IGRwdV9rbXMtPmRldjsKQEAgLTIzMSw3ICsyMTYsNyBA QCBzdGF0aWMgaW50IF9kcHVfZGVidWdmc19pbml0KHN0cnVjdCBkcHVfa21zICpkcHVfa21zKQog CiAJcCA9IGRwdV9od191dGlsX2dldF9sb2dfbWFza19wdHIoKTsKIAotCWlmICghZHB1X2ttcyB8 fCAhcCkKKwlpZiAoIXApCiAJCXJldHVybiAtRUlOVkFMOwogCiAJZHB1X2ttcy0+ZGVidWdmc19y b290ID0gZGVidWdmc19jcmVhdGVfZGlyKCJkZWJ1ZyIsCkBAIC0yNDUsOSArMjMwLDkgQEAgc3Rh dGljIGludCBfZHB1X2RlYnVnZnNfaW5pdChzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcykKIAkvKiBh bGxvdyByb290IHRvIGJlIE5VTEwgKi8KIAlkZWJ1Z2ZzX2NyZWF0ZV94MzIoRFBVX0RFQlVHRlNf SFdNQVNLTkFNRSwgMDYwMCwgZHB1X2ttcy0+ZGVidWdmc19yb290LCBwKTsKIAotCSh2b2lkKSBk cHVfZGVidWdmc19kYW5nZXJfaW5pdChkcHVfa21zLCBkcHVfa21zLT5kZWJ1Z2ZzX3Jvb3QpOwot CSh2b2lkKSBkcHVfZGVidWdmc192YmlmX2luaXQoZHB1X2ttcywgZHB1X2ttcy0+ZGVidWdmc19y b290KTsKLQkodm9pZCkgZHB1X2RlYnVnZnNfY29yZV9pcnFfaW5pdChkcHVfa21zLCBkcHVfa21z LT5kZWJ1Z2ZzX3Jvb3QpOworCWRwdV9kZWJ1Z2ZzX2Rhbmdlcl9pbml0KGRwdV9rbXMsIGRwdV9r bXMtPmRlYnVnZnNfcm9vdCk7CisJZHB1X2RlYnVnZnNfdmJpZl9pbml0KGRwdV9rbXMsIGRwdV9r bXMtPmRlYnVnZnNfcm9vdCk7CisJZHB1X2RlYnVnZnNfY29yZV9pcnFfaW5pdChkcHVfa21zLCBk cHVfa21zLT5kZWJ1Z2ZzX3Jvb3QpOwogCiAJcmMgPSBkcHVfY29yZV9wZXJmX2RlYnVnZnNfaW5p dCgmZHB1X2ttcy0+cGVyZiwgZHB1X2ttcy0+ZGVidWdmc19yb290KTsKIAlpZiAocmMpIHsKQEAg LTI1NywyMSArMjQyLDYgQEAgc3RhdGljIGludCBfZHB1X2RlYnVnZnNfaW5pdChzdHJ1Y3QgZHB1 X2ttcyAqZHB1X2ttcykKIAogCXJldHVybiAwOwogfQotCi1zdGF0aWMgdm9pZCBfZHB1X2RlYnVn ZnNfZGVzdHJveShzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcykKLXsKLQkvKiBkb24ndCBuZWVkIHRv IE5VTEwgY2hlY2sgZGVidWdmc19yb290ICovCi0JaWYgKGRwdV9rbXMpIHsKLQkJZHB1X2RlYnVn ZnNfdmJpZl9kZXN0cm95KGRwdV9rbXMpOwotCQlkcHVfZGVidWdmc19kYW5nZXJfZGVzdHJveShk cHVfa21zKTsKLQkJZHB1X2RlYnVnZnNfY29yZV9pcnFfZGVzdHJveShkcHVfa21zKTsKLQkJZGVi dWdmc19yZW1vdmVfcmVjdXJzaXZlKGRwdV9rbXMtPmRlYnVnZnNfcm9vdCk7Ci0JfQotfQotI2Vs c2UKLXN0YXRpYyB2b2lkIF9kcHVfZGVidWdmc19kZXN0cm95KHN0cnVjdCBkcHVfa21zICpkcHVf a21zKQotewotfQogI2VuZGlmCiAKIHN0YXRpYyBpbnQgZHB1X2ttc19lbmFibGVfdmJsYW5rKHN0 cnVjdCBtc21fa21zICprbXMsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKQEAgLTYyNiw3ICs1OTYs NyBAQCBzdGF0aWMgdm9pZCBfZHB1X2ttc19od19kZXN0cm95KHN0cnVjdCBkcHVfa21zICpkcHVf a21zKQogCQkJCSZkcHVfa21zLT5waGFuZGxlLCBkcHVfa21zLT5wb3dlcl9ldmVudCk7CiAKIAkv KiBzYWZlIHRvIGNhbGwgdGhlc2UgbW9yZSB0aGFuIG9uY2UgZHVyaW5nIHNodXRkb3duICovCi0J X2RwdV9kZWJ1Z2ZzX2Rlc3Ryb3koZHB1X2ttcyk7CisJZGVidWdmc19yZW1vdmVfcmVjdXJzaXZl KGRwdV9rbXMtPmRlYnVnZnNfcm9vdCk7CiAJX2RwdV9rbXNfbW11X2Rlc3Ryb3koZHB1X2ttcyk7 CiAKIAlpZiAoZHB1X2ttcy0+Y2F0YWxvZykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2ttcy5oCmluZGV4IGU3NTM5Yzk4NzBlNC4uMzNlZDU3Nzk2ODdmIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oCkBAIC0xMDIsNyArMTAyLDYgQEAgc3RydWN0IGRw dV9pcnEgewogCWF0b21pY190ICplbmFibGVfY291bnRzOwogCWF0b21pY190ICppcnFfY291bnRz OwogCXNwaW5sb2NrX3QgY2JfbG9jazsKLQlzdHJ1Y3QgZGVudHJ5ICpkZWJ1Z2ZzX2ZpbGU7CiB9 OwogCiBzdHJ1Y3QgZHB1X2ttcyB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfbWRzcy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X21k c3MuYwppbmRleCAxOWFiZjcxOTgxMWEuLjVlY2MyNmZkYzMyOCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X21kc3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfbWRzcy5jCkBAIC0xMjAsMTMgKzEyMCwxMiBAQCBzdGF0aWMgaW50 IF9kcHVfbWRzc19pcnFfZG9tYWluX2FkZChzdHJ1Y3QgZHB1X21kc3MgKmRwdV9tZHNzKQogCXJl dHVybiAwOwogfQogCi1zdGF0aWMgaW50IF9kcHVfbWRzc19pcnFfZG9tYWluX2Zpbmkoc3RydWN0 IGRwdV9tZHNzICpkcHVfbWRzcykKK3N0YXRpYyB2b2lkIF9kcHVfbWRzc19pcnFfZG9tYWluX2Zp bmkoc3RydWN0IGRwdV9tZHNzICpkcHVfbWRzcykKIHsKIAlpZiAoZHB1X21kc3MtPmlycV9jb250 cm9sbGVyLmRvbWFpbikgewogCQlpcnFfZG9tYWluX3JlbW92ZShkcHVfbWRzcy0+aXJxX2NvbnRy b2xsZXIuZG9tYWluKTsKIAkJZHB1X21kc3MtPmlycV9jb250cm9sbGVyLmRvbWFpbiA9IE5VTEw7 CiAJfQotCXJldHVybiAwOwogfQogc3RhdGljIGludCBkcHVfbWRzc19lbmFibGUoc3RydWN0IG1z bV9tZHNzICptZHNzKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUu YwppbmRleCA5OGQ4MzE1ZjYyNWQuLjNjNTU4MGM3NTU4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X3BsYW5lLmMKQEAgLTE0NTEsMjUgKzE0NTEsMTEgQEAgc3RhdGljIGlu dCBfZHB1X3BsYW5lX2luaXRfZGVidWdmcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIAogCXJl dHVybiAwOwogfQotCi1zdGF0aWMgdm9pZCBfZHB1X3BsYW5lX2Rlc3Ryb3lfZGVidWdmcyhzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSkKLXsKLQlzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1OwotCi0JaWYg KCFwbGFuZSkKLQkJcmV0dXJuOwotCXBkcHUgPSB0b19kcHVfcGxhbmUocGxhbmUpOwotCi0JZGVi dWdmc19yZW1vdmVfcmVjdXJzaXZlKHBkcHUtPmRlYnVnZnNfcm9vdCk7Ci19CiAjZWxzZQogc3Rh dGljIGludCBfZHB1X3BsYW5lX2luaXRfZGVidWdmcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkK IHsKIAlyZXR1cm4gMDsKIH0KLXN0YXRpYyB2b2lkIF9kcHVfcGxhbmVfZGVzdHJveV9kZWJ1Z2Zz KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQotewotfQogI2VuZGlmCiAKIHN0YXRpYyBpbnQgZHB1 X3BsYW5lX2xhdGVfcmVnaXN0ZXIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCkBAIC0xNDc5LDcg KzE0NjUsOSBAQCBzdGF0aWMgaW50IGRwdV9wbGFuZV9sYXRlX3JlZ2lzdGVyKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lKQogCiBzdGF0aWMgdm9pZCBkcHVfcGxhbmVfZWFybHlfdW5yZWdpc3Rlcihz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIHsKLQlfZHB1X3BsYW5lX2Rlc3Ryb3lfZGVidWdmcyhw bGFuZSk7CisJc3RydWN0IGRwdV9wbGFuZSAqcGRwdSA9IHRvX2RwdV9wbGFuZShwbGFuZSk7CisK KwlkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUocGRwdS0+ZGVidWdmc19yb290KTsKIH0KIAogc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgZHB1X3BsYW5lX2Z1bmNzID0gewpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3ZiaWYuYyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV92YmlmLmMKaW5kZXggZmY1MDkxZDI1NTVkLi45 OGQ4ZmFmNjgwNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV92YmlmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3ZiaWYuYwpA QCAtMzEwLDEzICszMTAsOCBAQCB2b2lkIGRwdV92YmlmX2luaXRfbWVtdHlwZXMoc3RydWN0IGRw dV9rbXMgKmRwdV9rbXMpCiB9CiAKICNpZmRlZiBDT05GSUdfREVCVUdfRlMKLXZvaWQgZHB1X2Rl YnVnZnNfdmJpZl9kZXN0cm95KHN0cnVjdCBkcHVfa21zICpkcHVfa21zKQotewotCWRlYnVnZnNf cmVtb3ZlX3JlY3Vyc2l2ZShkcHVfa21zLT5kZWJ1Z2ZzX3ZiaWYpOwotCWRwdV9rbXMtPmRlYnVn ZnNfdmJpZiA9IE5VTEw7Ci19CiAKLWludCBkcHVfZGVidWdmc192YmlmX2luaXQoc3RydWN0IGRw dV9rbXMgKmRwdV9rbXMsIHN0cnVjdCBkZW50cnkgKmRlYnVnZnNfcm9vdCkKK3ZvaWQgZHB1X2Rl YnVnZnNfdmJpZl9pbml0KHN0cnVjdCBkcHVfa21zICpkcHVfa21zLCBzdHJ1Y3QgZGVudHJ5ICpk ZWJ1Z2ZzX3Jvb3QpCiB7CiAJY2hhciB2YmlmX25hbWVbMzJdOwogCXN0cnVjdCBkZW50cnkgKmRl YnVnZnNfdmJpZjsKQEAgLTMyNSw3ICszMjAsNyBAQCBpbnQgZHB1X2RlYnVnZnNfdmJpZl9pbml0 KHN0cnVjdCBkcHVfa21zICpkcHVfa21zLCBzdHJ1Y3QgZGVudHJ5ICpkZWJ1Z2ZzX3Jvb3QpCiAJ ZHB1X2ttcy0+ZGVidWdmc192YmlmID0gZGVidWdmc19jcmVhdGVfZGlyKCJ2YmlmIiwgZGVidWdm c19yb290KTsKIAlpZiAoIWRwdV9rbXMtPmRlYnVnZnNfdmJpZikgewogCQlEUFVfRVJST1IoImZh aWxlZCB0byBjcmVhdGUgdmJpZiBkZWJ1Z2ZzXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7CisJCXJl dHVybjsKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgZHB1X2ttcy0+Y2F0YWxvZy0+dmJpZl9jb3Vu dDsgaSsrKSB7CkBAIC0zNzYsNyArMzcxLDUgQEAgaW50IGRwdV9kZWJ1Z2ZzX3ZiaWZfaW5pdChz dHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcywgc3RydWN0IGRlbnRyeSAqZGVidWdmc19yb290KQogCQkJ CQkodTMyICopJmNmZy0+b3RfbGltaXQpOwogCQl9CiAJfQotCi0JcmV0dXJuIDA7CiB9CiAjZW5k aWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV92YmlmLmgg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfdmJpZi5oCmluZGV4IGYxN2FmNTJk YmJkNS4uNjM1Njg3NmQ3YTY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfdmJpZi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV92 YmlmLmgKQEAgLTc4LDE3ICs3OCw2IEBAIHZvaWQgZHB1X3ZiaWZfY2xlYXJfZXJyb3JzKHN0cnVj dCBkcHVfa21zICpkcHVfa21zKTsKICAqLwogdm9pZCBkcHVfdmJpZl9pbml0X21lbXR5cGVzKHN0 cnVjdCBkcHVfa21zICpkcHVfa21zKTsKIAotI2lmZGVmIENPTkZJR19ERUJVR19GUwotaW50IGRw dV9kZWJ1Z2ZzX3ZiaWZfaW5pdChzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcywgc3RydWN0IGRlbnRy eSAqZGVidWdmc19yb290KTsKLXZvaWQgZHB1X2RlYnVnZnNfdmJpZl9kZXN0cm95KHN0cnVjdCBk cHVfa21zICpkcHVfa21zKTsKLSNlbHNlCi1zdGF0aWMgaW5saW5lIGludCBkcHVfZGVidWdmc192 YmlmX2luaXQoc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMsCi0JCXN0cnVjdCBkZW50cnkgKmRlYnVn ZnNfcm9vdCkKLXsKLQlyZXR1cm4gMDsKLX0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkcHVfZGVidWdm c192YmlmX2Rlc3Ryb3koc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMpCi17Ci19Ci0jZW5kaWYKK3Zv aWQgZHB1X2RlYnVnZnNfdmJpZl9pbml0KHN0cnVjdCBkcHVfa21zICpkcHVfa21zLCBzdHJ1Y3Qg ZGVudHJ5ICpkZWJ1Z2ZzX3Jvb3QpOworCiAjZW5kaWYgLyogX19EUFVfVkJJRl9IX18gKi8KLS0g CjIuMTguMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K RnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==