From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v3 1/5] drm/i915: Wrap tasklet_struct for abuse Date: Wed, 9 May 2018 13:04:15 +0100 Message-ID: <20180509120419.6733-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 28A2E6ED26 for ; Wed, 9 May 2018 12:04:38 +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-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SW4gdGhlIG5leHQgZmV3IHBhdGNoZXMsIHdlIHdhbnQgdG8gYWJ1c2UgdGFza2xldCB0byBhdm9p ZCBrc29mdGlycWQKbGF0ZW5jeSBhbG9uZyBjcml0aWNhbCBwYXRocy4gVG8gbWFrZSB0aGF0IGFi dXNlIGVhc2lseSB0byBzd2FsbG93LApmaXJzdCBjb2F0IHRoZSB0YXNrbGV0IGluIGEgbGl0dGxl IHN5bnRhY3RpYyBzdWdhci4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgpDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgIHwg IDggKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgICAgIHwgIDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGFza2xldC5oICAgICAgICAgfCA3OCArKysr KysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5j ICAgICAgfCAxMSArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9u LmMgfCAgOCArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICAg fCAxOCArKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgICB8 ICAzICstCiA3IGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Rhc2tsZXQu aAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDg5YmY1ZDY3Y2I3NC4uOTg0ODFlMTUwZTYx IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTMwNDMsOSArMzA0Myw5IEBAIGk5MTVfZ2Vt X3Jlc2V0X3ByZXBhcmVfZW5naW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkg KiBjb21tb24gY2FzZSBvZiByZWN1cnNpdmVseSBiZWluZyBjYWxsZWQgZnJvbSBzZXQtd2VkZ2Vk IGZyb20gaW5zaWRlCiAJICogaTkxNV9yZXNldC4KIAkgKi8KLQlpZiAoIWF0b21pY19yZWFkKCZl bmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LmNvdW50KSkKLQkJdGFza2xldF9raWxsKCZlbmdpbmUt PmV4ZWNsaXN0cy50YXNrbGV0KTsKLQl0YXNrbGV0X2Rpc2FibGUoJmVuZ2luZS0+ZXhlY2xpc3Rz LnRhc2tsZXQpOworCWlmIChpOTE1X3Rhc2tsZXRfaXNfZW5hYmxlZCgmZW5naW5lLT5leGVjbGlz dHMudGFza2xldCkpCisJCWk5MTVfdGFza2xldF9mbHVzaCgmZW5naW5lLT5leGVjbGlzdHMudGFz a2xldCk7CisJaTkxNV90YXNrbGV0X2Rpc2FibGUoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQp OwogCiAJLyoKIAkgKiBXZSdyZSB1c2luZyB3b3JrZXIgdG8gcXVldWUgcHJlZW1wdGlvbiByZXF1 ZXN0cyBmcm9tIHRoZSB0YXNrbGV0IGluCkBAIC0zMjY1LDcgKzMyNjUsNyBAQCB2b2lkIGk5MTVf Z2VtX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogdm9pZCBpOTE1 X2dlbV9yZXNldF9maW5pc2hfZW5naW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK IHsKLQl0YXNrbGV0X2VuYWJsZSgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7CisJaTkxNV90 YXNrbGV0X2VuYWJsZSgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7CiAJa3RocmVhZF91bnBh cmsoZW5naW5lLT5icmVhZGNydW1icy5zaWduYWxlcik7CiAKIAlpbnRlbF91bmNvcmVfZm9yY2V3 YWtlX3B1dChlbmdpbmUtPmk5MTUsIEZPUkNFV0FLRV9BTEwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJx LmMKaW5kZXggZjliYzNhYWE5MGQwLi5mOGFmZjVhNWFhODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9p cnEuYwpAQCAtMTQ3Nyw3ICsxNDc3LDcgQEAgZ2VuOF9jc19pcnFfaGFuZGxlcihzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiBpaXIpCiAJfQogCiAJaWYgKHRhc2tsZXQpCi0JCXRh c2tsZXRfaGlfc2NoZWR1bGUoJmV4ZWNsaXN0cy0+dGFza2xldCk7CisJCWk5MTVfdGFza2xldF9z Y2hlZHVsZSgmZXhlY2xpc3RzLT50YXNrbGV0KTsKIH0KIAogc3RhdGljIHZvaWQgZ2VuOF9ndF9p cnFfYWNrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV90YXNrbGV0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3Rhc2tsZXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmM5ZjQx YTVlYmI5MQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGFz a2xldC5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMAorICoKKyAqIENvcHlyaWdodCDCqSAyMDE4IEludGVsIENvcnBvcmF0aW9uCisgKi8K KworI2lmbmRlZiBfSTkxNV9UQVNLTEVUX0hfCisjZGVmaW5lIF9JOTE1X1RBU0tMRVRfSF8KKwor I2luY2x1ZGUgPGxpbnV4L2F0b21pYy5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgor CisvKioKKyAqIHN0cnVjdCBpOTE1X3Rhc2tsZXQgLSB3cmFwcGVyIGFyb3VuZCB0YXNrbGV0X3N0 cnVjdAorICoKKyAqIFdlIHdhbnQgdG8gYWJ1c2UgdGFza2xldHMgc2xpZ2h0bHksIHN1Y2ggYXMg Y2FsbGluZyB0aGVtIGRpcmVjdGx5LiBJbiBzb21lCisgKiBjYXNlcywgdGhpcyByZXF1aXJlcyBz b21lIGF1eGlsaWFyeSB0cmFja2luZyBzbyBzdWJjbGFzcyB0aGUgdGFza2xldF9zdHJ1Y3QKKyAq IHNvIHRoYXQgd2UgaGF2ZSBhIGNlbnRyYWwgcGxhY2UgYW5kIGhlbHBlcnMuCisgKi8KK3N0cnVj dCBpOTE1X3Rhc2tsZXQgeworCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCBiYXNlOworfTsKKworc3Rh dGljIGlubGluZSB2b2lkIGk5MTVfdGFza2xldF9pbml0KHN0cnVjdCBpOTE1X3Rhc2tsZXQgKnQs CisJCQkJICAgICB2b2lkICgqZnVuYykodW5zaWduZWQgbG9uZyksCisJCQkJICAgICB1bnNpZ25l ZCBsb25nIGRhdGEpCit7CisJdGFza2xldF9pbml0KCZ0LT5iYXNlLCBmdW5jLCBkYXRhKTsKK30K Kworc3RhdGljIGlubGluZSBib29sIGk5MTVfdGFza2xldF9pc19zY2hlZHVsZWQoY29uc3Qgc3Ry dWN0IGk5MTVfdGFza2xldCAqdCkKK3sKKwlyZXR1cm4gdGVzdF9iaXQoVEFTS0xFVF9TVEFURV9T Q0hFRCwgJnQtPmJhc2Uuc3RhdGUpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV90YXNr bGV0X2lzX2xvY2tlZChjb25zdCBzdHJ1Y3QgaTkxNV90YXNrbGV0ICp0KQoreworCXJldHVybiB0 ZXN0X2JpdChUQVNLTEVUX1NUQVRFX1JVTiwgJnQtPmJhc2Uuc3RhdGUpOworfQorCitzdGF0aWMg aW5saW5lIGJvb2wgaTkxNV90YXNrbGV0X2lzX2VuYWJsZWQoY29uc3Qgc3RydWN0IGk5MTVfdGFz a2xldCAqdCkKK3sKKwlyZXR1cm4gbGlrZWx5KCFhdG9taWNfcmVhZCgmdC0+YmFzZS5jb3VudCkp OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90YXNrbGV0X3NjaGVkdWxlKHN0cnVjdCBp OTE1X3Rhc2tsZXQgKnQpCit7CisJdGFza2xldF9oaV9zY2hlZHVsZSgmdC0+YmFzZSk7Cit9CisK K3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3Rhc2tsZXRfZmx1c2goc3RydWN0IGk5MTVfdGFza2xl dCAqdCkKK3sKKwl0YXNrbGV0X2tpbGwoJnQtPmJhc2UpOworfQorCitzdGF0aWMgaW5saW5lIHZv aWQgaTkxNV90YXNrbGV0X2VuYWJsZShzdHJ1Y3QgaTkxNV90YXNrbGV0ICp0KQoreworCXRhc2ts ZXRfZW5hYmxlKCZ0LT5iYXNlKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdGFza2xl dF9kaXNhYmxlKHN0cnVjdCBpOTE1X3Rhc2tsZXQgKnQpCit7CisJdGFza2xldF9kaXNhYmxlKCZ0 LT5iYXNlKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdGFza2xldF9zZXRfZnVuYyhz dHJ1Y3QgaTkxNV90YXNrbGV0ICp0LAorCQkJCQkgdm9pZCAoKmZ1bmMpKHVuc2lnbmVkIGxvbmcg ZGF0YSksCisJCQkJCSB1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJdGFza2xldF9kaXNhYmxlKCZ0 LT5iYXNlKTsKKworCXQtPmJhc2UuZnVuYyA9IGZ1bmM7CisJdC0+YmFzZS5kYXRhID0gZGF0YTsK KworCXRhc2tsZXRfZW5hYmxlKCZ0LT5iYXNlKTsKK30KKworI2VuZGlmIC8qIF9JOTE1X1RBU0tM RVRfSF8gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9j cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggNzAzMjVl MDgyNGUzLi41ZjExMThlYTk2ZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9j cy5jCkBAIC0xMDMyLDcgKzEwMzIsNyBAQCB2b2lkIGludGVsX2VuZ2luZXNfcGFyayhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBp ZCkgewogCQkvKiBGbHVzaCB0aGUgcmVzaWR1YWwgaXJxIHRhc2tsZXRzIGZpcnN0LiAqLwogCQlp bnRlbF9lbmdpbmVfZGlzYXJtX2JyZWFkY3J1bWJzKGVuZ2luZSk7Ci0JCXRhc2tsZXRfa2lsbCgm ZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7CisJCWk5MTVfdGFza2xldF9mbHVzaCgmZW5naW5l LT5leGVjbGlzdHMudGFza2xldCk7CiAKIAkJLyoKIAkJICogV2UgYXJlIGNvbW1pdHRlZCBub3cg dG8gcGFya2luZyB0aGUgZW5naW5lcywgbWFrZSBzdXJlIHRoZXJlCkBAIC0xMjQ5LDkgKzEyNDks OCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmdpbmVfcHJpbnRfcmVnaXN0ZXJzKGNvbnN0IHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCSAgIGludGVsX3JlYWRfc3RhdHVzX3BhZ2Uo ZW5naW5lLCBpbnRlbF9od3NfY3NiX3dyaXRlX2luZGV4KGVuZ2luZS0+aTkxNSkpLAogCQkJICAg eWVzbm8odGVzdF9iaXQoRU5HSU5FX0lSUV9FWEVDTElTVCwKIAkJCQkJICAmZW5naW5lLT5pcnFf cG9zdGVkKSksCi0JCQkgICB5ZXNubyh0ZXN0X2JpdChUQVNLTEVUX1NUQVRFX1NDSEVELAotCQkJ CQkgICZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LnN0YXRlKSksCi0JCQkgICBlbmFibGVkZGlz YWJsZWQoIWF0b21pY19yZWFkKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LmNvdW50KSkpOwor CQkJICAgeWVzbm8oaTkxNV90YXNrbGV0X2lzX3NjaGVkdWxlZCgmZW5naW5lLT5leGVjbGlzdHMu dGFza2xldCkpLAorCQkJICAgZW5hYmxlZGRpc2FibGVkKGk5MTVfdGFza2xldF9pc19lbmFibGVk KCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KSkpOwogCQlpZiAocmVhZCA+PSBHRU44X0NTQl9F TlRSSUVTKQogCQkJcmVhZCA9IDA7CiAJCWlmICh3cml0ZSA+PSBHRU44X0NTQl9FTlRSSUVTKQpA QCAtMTQ3OSw3ICsxNDc4LDcgQEAgaW50IGludGVsX2VuYWJsZV9lbmdpbmVfc3RhdHMoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWlmICghaW50ZWxfZW5naW5lX3N1cHBvcnRzX3N0 YXRzKGVuZ2luZSkpCiAJCXJldHVybiAtRU5PREVWOwogCi0JdGFza2xldF9kaXNhYmxlKCZleGVj bGlzdHMtPnRhc2tsZXQpOworCWk5MTVfdGFza2xldF9kaXNhYmxlKCZleGVjbGlzdHMtPnRhc2ts ZXQpOwogCXdyaXRlX3NlcWxvY2tfaXJxc2F2ZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7 CiAKIAlpZiAodW5saWtlbHkoZW5naW5lLT5zdGF0cy5lbmFibGVkID09IH4wKSkgewpAQCAtMTUw NSw3ICsxNTA0LDcgQEAgaW50IGludGVsX2VuYWJsZV9lbmdpbmVfc3RhdHMoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQogCiB1bmxvY2s6CiAJd3JpdGVfc2VxdW5sb2NrX2lycXJlc3Rv cmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3MpOwotCXRhc2tsZXRfZW5hYmxlKCZleGVjbGlz dHMtPnRhc2tsZXQpOworCWk5MTVfdGFza2xldF9lbmFibGUoJmV4ZWNsaXN0cy0+dGFza2xldCk7 CiAKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJt aXNzaW9uLmMKaW5kZXggMmZlYjY1MDk2OTY2Li5hN2FmYzk3NmMzYjkgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtNTkxLDcgKzU5MSw3IEBAIHN0 YXRpYyB2b2lkIGluamVjdF9wcmVlbXB0X2NvbnRleHQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3Jr KQogCWlmIChXQVJOX09OKGludGVsX2d1Y19zZW5kKGd1YywgZGF0YSwgQVJSQVlfU0laRShkYXRh KSkpKSB7CiAJCWV4ZWNsaXN0c19jbGVhcl9hY3RpdmUoJmVuZ2luZS0+ZXhlY2xpc3RzLAogCQkJ CSAgICAgICBFWEVDTElTVFNfQUNUSVZFX1BSRUVNUFQpOwotCQl0YXNrbGV0X3NjaGVkdWxlKCZl bmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsKKwkJaTkxNV90YXNrbGV0X3NjaGVkdWxlKCZlbmdp bmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsKIAl9CiB9CiAKQEAgLTEyNjMsMTAgKzEyNjMsMTAgQEAg aW50IGludGVsX2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAJ Z3VjX2ludGVycnVwdHNfY2FwdHVyZShkZXZfcHJpdik7CiAKIAlmb3JfZWFjaF9lbmdpbmUoZW5n aW5lLCBkZXZfcHJpdiwgaWQpIHsKLQkJc3RydWN0IGludGVsX2VuZ2luZV9leGVjbGlzdHMgKiBj b25zdCBleGVjbGlzdHMgPQotCQkJJmVuZ2luZS0+ZXhlY2xpc3RzOworCQlpOTE1X3Rhc2tsZXRf c2V0X2Z1bmMoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQsCisJCQkJICAgICAgZ3VjX3N1Ym1p c3Npb25fdGFza2xldCwKKwkJCQkgICAgICAodW5zaWduZWQgbG9uZyllbmdpbmUpOwogCi0JCWV4 ZWNsaXN0cy0+dGFza2xldC5mdW5jID0gZ3VjX3N1Ym1pc3Npb25fdGFza2xldDsKIAkJZW5naW5l LT5wYXJrID0gZ3VjX3N1Ym1pc3Npb25fcGFyazsKIAkJZW5naW5lLT51bnBhcmsgPSBndWNfc3Vi bWlzc2lvbl91bnBhcms7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggN2Y5OGRkYTNj OTI5Li41MzlmYTAzZDc2MDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0xMTY1LDcg KzExNjUsNyBAQCBzdGF0aWMgdm9pZCBxdWV1ZV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSwKIHN0YXRpYyB2b2lkIF9fc3VibWl0X3F1ZXVlKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwgaW50IHByaW8pCiB7CiAJZW5naW5lLT5leGVjbGlzdHMucXVldWVfcHJp b3JpdHkgPSBwcmlvOwotCXRhc2tsZXRfaGlfc2NoZWR1bGUoJmVuZ2luZS0+ZXhlY2xpc3RzLnRh c2tsZXQpOworCWk5MTVfdGFza2xldF9zY2hlZHVsZSgmZW5naW5lLT5leGVjbGlzdHMudGFza2xl dCk7CiB9CiAKIHN0YXRpYyB2b2lkIHN1Ym1pdF9xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUsIGludCBwcmlvKQpAQCAtMTc3OCw3ICsxNzc4LDcgQEAgc3RhdGljIGludCBnZW44 X2luaXRfY29tbW9uX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCiAJLyog QWZ0ZXIgYSBHUFUgcmVzZXQsIHdlIG1heSBoYXZlIHJlcXVlc3RzIHRvIHJlcGxheSAqLwogCWlm IChleGVjbGlzdHMtPmZpcnN0KQotCQl0YXNrbGV0X3NjaGVkdWxlKCZleGVjbGlzdHMtPnRhc2ts ZXQpOworCQlpOTE1X3Rhc2tsZXRfc2NoZWR1bGUoJmV4ZWNsaXN0cy0+dGFza2xldCk7CiAKIAly ZXR1cm4gMDsKIH0KQEAgLTIxODIsOSArMjE4Miw4IEBAIHZvaWQgaW50ZWxfbG9naWNhbF9yaW5n X2NsZWFudXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCSAqIFRhc2tsZXQgY2Fu bm90IGJlIGFjdGl2ZSBhdCB0aGlzIHBvaW50IGR1ZSBpbnRlbF9tYXJrX2FjdGl2ZS9pZGxlCiAJ ICogc28gdGhpcyBpcyBqdXN0IGZvciBkb2N1bWVudGF0aW9uLgogCSAqLwotCWlmIChXQVJOX09O KHRlc3RfYml0KFRBU0tMRVRfU1RBVEVfU0NIRUQsCi0JCQkgICAgICZlbmdpbmUtPmV4ZWNsaXN0 cy50YXNrbGV0LnN0YXRlKSkpCi0JCXRhc2tsZXRfa2lsbCgmZW5naW5lLT5leGVjbGlzdHMudGFz a2xldCk7CisJaWYgKFdBUk5fT04oaTkxNV90YXNrbGV0X2lzX3NjaGVkdWxlZCgmZW5naW5lLT5l eGVjbGlzdHMudGFza2xldCkpKQorCQlpOTE1X3Rhc2tsZXRfZmx1c2goJmVuZ2luZS0+ZXhlY2xp c3RzLnRhc2tsZXQpOwogCiAJZGV2X3ByaXYgPSBlbmdpbmUtPmk5MTU7CiAKQEAgLTIyMDksNyAr MjIwOCwxMCBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc2V0X2RlZmF1bHRfc3VibWlzc2lvbihz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJZW5naW5lLT5zdWJtaXRfcmVxdWVzdCA9 IGV4ZWNsaXN0c19zdWJtaXRfcmVxdWVzdDsKIAllbmdpbmUtPmNhbmNlbF9yZXF1ZXN0cyA9IGV4 ZWNsaXN0c19jYW5jZWxfcmVxdWVzdHM7CiAJZW5naW5lLT5zY2hlZHVsZSA9IGV4ZWNsaXN0c19z Y2hlZHVsZTsKLQllbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LmZ1bmMgPSBleGVjbGlzdHNfc3Vi bWlzc2lvbl90YXNrbGV0OworCisJaTkxNV90YXNrbGV0X3NldF9mdW5jKCZlbmdpbmUtPmV4ZWNs aXN0cy50YXNrbGV0LAorCQkJICAgICAgZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldCwKKwkJ CSAgICAgICh1bnNpZ25lZCBsb25nKWVuZ2luZSk7CiAKIAllbmdpbmUtPnBhcmsgPSBOVUxMOwog CWVuZ2luZS0+dW5wYXJrID0gTlVMTDsKQEAgLTIzMDMsOCArMjMwNSw4IEBAIGxvZ2ljYWxfcmlu Z19zZXR1cChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAKIAllbmdpbmUtPmV4ZWNs aXN0cy5md19kb21haW5zID0gZndfZG9tYWluczsKIAotCXRhc2tsZXRfaW5pdCgmZW5naW5lLT5l eGVjbGlzdHMudGFza2xldCwKLQkJICAgICBleGVjbGlzdHNfc3VibWlzc2lvbl90YXNrbGV0LCAo dW5zaWduZWQgbG9uZyllbmdpbmUpOworCWk5MTVfdGFza2xldF9pbml0KCZlbmdpbmUtPmV4ZWNs aXN0cy50YXNrbGV0LAorCQkJICBleGVjbGlzdHNfc3VibWlzc2lvbl90YXNrbGV0LCAodW5zaWdu ZWQgbG9uZyllbmdpbmUpOwogCiAJbG9naWNhbF9yaW5nX2RlZmF1bHRfdmZ1bmNzKGVuZ2luZSk7 CiAJbG9naWNhbF9yaW5nX2RlZmF1bHRfaXJxcyhlbmdpbmUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IDAxMDc1MGU4ZWU0NC4uZjZiYTM1NGZhZjg5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC0xMSw2ICsxMSw3IEBACiAj aW5jbHVkZSAiaTkxNV9wbXUuaCIKICNpbmNsdWRlICJpOTE1X3JlcXVlc3QuaCIKICNpbmNsdWRl ICJpOTE1X3NlbGZ0ZXN0LmgiCisjaW5jbHVkZSAiaTkxNV90YXNrbGV0LmgiCiAjaW5jbHVkZSAi aTkxNV90aW1lbGluZS5oIgogI2luY2x1ZGUgImludGVsX2dwdV9jb21tYW5kcy5oIgogCkBAIC0y MDIsNyArMjAzLDcgQEAgc3RydWN0IGludGVsX2VuZ2luZV9leGVjbGlzdHMgewogCS8qKgogCSAq IEB0YXNrbGV0OiBzb2Z0aXJxIHRhc2tsZXQgZm9yIGJvdHRvbSBoYW5kbGVyCiAJICovCi0Jc3Ry dWN0IHRhc2tsZXRfc3RydWN0IHRhc2tsZXQ7CisJc3RydWN0IGk5MTVfdGFza2xldCB0YXNrbGV0 OwogCiAJLyoqCiAJICogQGRlZmF1bHRfcHJpb2xpc3Q6IHByaW9yaXR5IGxpc3QgZm9yIEk5MTVf UFJJT1JJVFlfTk9STUFMCi0tIAoyLjE3LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=