From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 2/5] drm/i915: Wrap tasklet_struct for abuse Date: Wed, 9 May 2018 15:27:58 +0100 Message-ID: <20180509142801.28130-2-chris@chris-wilson.co.uk> References: <20180509142801.28130-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 DC6DF6ED28 for ; Wed, 9 May 2018 14:28:14 +0000 (UTC) In-Reply-To: <20180509142801.28130-1-chris@chris-wilson.co.uk> 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 IDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90YXNrbGV0LmggICAgICAgICB8IDc4ICsrKysr KysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMg ICAgICB8IDExICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24u YyB8ICA4ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgICB8 IDE4ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgIHwg IDMgKy0KIDcgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGFza2xldC5o CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggNjNjOTZjMmI4ZmNmLi41OWUwNDM4N2EyN2Mg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMzAzNiw3ICszMDM2LDcgQEAgaTkxNV9nZW1f cmVzZXRfcHJlcGFyZV9lbmdpbmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCSAq IFR1cm5pbmcgb2ZmIHRoZSBleGVjbGlzdHMtPnRhc2tsZXQgdW50aWwgdGhlIHJlc2V0IGlzIG92 ZXIKIAkgKiBwcmV2ZW50cyB0aGUgcmFjZS4KIAkgKi8KLQl0YXNrbGV0X2Rpc2FibGUoJmVuZ2lu ZS0+ZXhlY2xpc3RzLnRhc2tsZXQpOworCWk5MTVfdGFza2xldF9sb2NrKCZlbmdpbmUtPmV4ZWNs aXN0cy50YXNrbGV0KTsKIAogCS8qCiAJICogV2UncmUgdXNpbmcgd29ya2VyIHRvIHF1ZXVlIHBy ZWVtcHRpb24gcmVxdWVzdHMgZnJvbSB0aGUgdGFza2xldCBpbgpAQCAtMzI1Niw3ICszMjU2LDcg QEAgdm9pZCBpOTE1X2dlbV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAKIHZvaWQgaTkxNV9nZW1fcmVzZXRfZmluaXNoX2VuZ2luZShzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCiB7Ci0JdGFza2xldF9lbmFibGUoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2ts ZXQpOworCWk5MTVfdGFza2xldF91bmxvY2soJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQpOwog CWt0aHJlYWRfdW5wYXJrKGVuZ2luZS0+YnJlYWRjcnVtYnMuc2lnbmFsZXIpOwogCiAJaW50ZWxf dW5jb3JlX2ZvcmNld2FrZV9wdXQoZW5naW5lLT5pOTE1LCBGT1JDRVdBS0VfQUxMKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCmluZGV4IGY5YmMzYWFhOTBkMC4uZjhhZmY1YTVhYTgzIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfaXJxLmMKQEAgLTE0NzcsNyArMTQ3Nyw3IEBAIGdlbjhfY3NfaXJxX2hhbmRs ZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgaWlyKQogCX0KIAogCWlmICh0 YXNrbGV0KQotCQl0YXNrbGV0X2hpX3NjaGVkdWxlKCZleGVjbGlzdHMtPnRhc2tsZXQpOworCQlp OTE1X3Rhc2tsZXRfc2NoZWR1bGUoJmV4ZWNsaXN0cy0+dGFza2xldCk7CiB9CiAKIHN0YXRpYyB2 b2lkIGdlbjhfZ3RfaXJxX2FjayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGFza2xldC5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV90YXNrbGV0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi40MmIwMDJiODhlZGIKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3Rhc2tsZXQuaApAQCAtMCwwICsxLDc4IEBACisvKgorICogU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAKKyAqCisgKiBDb3B5cmlnaHQgwqkgMjAxOCBJbnRlbCBDb3Jw b3JhdGlvbgorICovCisKKyNpZm5kZWYgX0k5MTVfVEFTS0xFVF9IXworI2RlZmluZSBfSTkxNV9U QVNLTEVUX0hfCisKKyNpbmNsdWRlIDxsaW51eC9hdG9taWMuaD4KKyNpbmNsdWRlIDxsaW51eC9p bnRlcnJ1cHQuaD4KKworLyoqCisgKiBzdHJ1Y3QgaTkxNV90YXNrbGV0IC0gd3JhcHBlciBhcm91 bmQgdGFza2xldF9zdHJ1Y3QKKyAqCisgKiBXZSB3YW50IHRvIGFidXNlIHRhc2tsZXRzIHNsaWdo dGx5LCBzdWNoIGFzIGNhbGxpbmcgdGhlbSBkaXJlY3RseS4gSW4gc29tZQorICogY2FzZXMsIHRo aXMgcmVxdWlyZXMgc29tZSBhdXhpbGlhcnkgdHJhY2tpbmcgc28gc3ViY2xhc3MgdGhlIHRhc2ts ZXRfc3RydWN0CisgKiBzbyB0aGF0IHdlIGhhdmUgYSBjZW50cmFsIHBsYWNlIGFuZCBoZWxwZXJz LgorICovCitzdHJ1Y3QgaTkxNV90YXNrbGV0IHsKKwlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgYmFz ZTsKK307CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3Rhc2tsZXRfaW5pdChzdHJ1Y3QgaTkx NV90YXNrbGV0ICp0LAorCQkJCSAgICAgdm9pZCAoKmZ1bmMpKHVuc2lnbmVkIGxvbmcpLAorCQkJ CSAgICAgdW5zaWduZWQgbG9uZyBkYXRhKQoreworCXRhc2tsZXRfaW5pdCgmdC0+YmFzZSwgZnVu YywgZGF0YSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X3Rhc2tsZXRfaXNfc2NoZWR1 bGVkKGNvbnN0IHN0cnVjdCBpOTE1X3Rhc2tsZXQgKnQpCit7CisJcmV0dXJuIHRlc3RfYml0KFRB U0tMRVRfU1RBVEVfU0NIRUQsICZ0LT5iYXNlLnN0YXRlKTsKK30KKworc3RhdGljIGlubGluZSBi b29sIGk5MTVfdGFza2xldF9pc19ydW5uaW5nKGNvbnN0IHN0cnVjdCBpOTE1X3Rhc2tsZXQgKnQp Cit7CisJcmV0dXJuIHRlc3RfYml0KFRBU0tMRVRfU1RBVEVfUlVOLCAmdC0+YmFzZS5zdGF0ZSk7 Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X3Rhc2tsZXRfaXNfZW5hYmxlZChjb25zdCBz dHJ1Y3QgaTkxNV90YXNrbGV0ICp0KQoreworCXJldHVybiBsaWtlbHkoIWF0b21pY19yZWFkKCZ0 LT5iYXNlLmNvdW50KSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3Rhc2tsZXRfc2No ZWR1bGUoc3RydWN0IGk5MTVfdGFza2xldCAqdCkKK3sKKwl0YXNrbGV0X2hpX3NjaGVkdWxlKCZ0 LT5iYXNlKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdGFza2xldF9mbHVzaChzdHJ1 Y3QgaTkxNV90YXNrbGV0ICp0KQoreworCXRhc2tsZXRfa2lsbCgmdC0+YmFzZSk7Cit9CisKK3N0 YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3Rhc2tsZXRfbG9jayhzdHJ1Y3QgaTkxNV90YXNrbGV0ICp0 KQoreworCXRhc2tsZXRfZGlzYWJsZSgmdC0+YmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9p ZCBpOTE1X3Rhc2tsZXRfdW5sb2NrKHN0cnVjdCBpOTE1X3Rhc2tsZXQgKnQpCit7CisJdGFza2xl dF9lbmFibGUoJnQtPmJhc2UpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90YXNrbGV0 X3NldF9mdW5jKHN0cnVjdCBpOTE1X3Rhc2tsZXQgKnQsCisJCQkJCSB2b2lkICgqZnVuYykodW5z aWduZWQgbG9uZyBkYXRhKSwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgZGF0YSkKK3sKKwlpOTE1X3Rh c2tsZXRfbG9jayh0KTsKKworCXQtPmJhc2UuZnVuYyA9IGZ1bmM7CisJdC0+YmFzZS5kYXRhID0g ZGF0YTsKKworCWk5MTVfdGFza2xldF91bmxvY2sodCk7Cit9CisKKyNlbmRpZiAvKiBfSTkxNV9U QVNLTEVUX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdp bmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IDcw MzI1ZTA4MjRlMy4uM2M4YTBjMzI0NWYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdp bmVfY3MuYwpAQCAtMTAzMiw3ICsxMDMyLDcgQEAgdm9pZCBpbnRlbF9lbmdpbmVzX3Bhcmsoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkx NSwgaWQpIHsKIAkJLyogRmx1c2ggdGhlIHJlc2lkdWFsIGlycSB0YXNrbGV0cyBmaXJzdC4gKi8K IAkJaW50ZWxfZW5naW5lX2Rpc2FybV9icmVhZGNydW1icyhlbmdpbmUpOwotCQl0YXNrbGV0X2tp bGwoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQpOworCQlpOTE1X3Rhc2tsZXRfZmx1c2goJmVu Z2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQpOwogCiAJCS8qCiAJCSAqIFdlIGFyZSBjb21taXR0ZWQg bm93IHRvIHBhcmtpbmcgdGhlIGVuZ2luZXMsIG1ha2Ugc3VyZSB0aGVyZQpAQCAtMTI0OSw5ICsx MjQ5LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5naW5lX3ByaW50X3JlZ2lzdGVycyhjb25zdCBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJCQkgICBpbnRlbF9yZWFkX3N0YXR1c19w YWdlKGVuZ2luZSwgaW50ZWxfaHdzX2NzYl93cml0ZV9pbmRleChlbmdpbmUtPmk5MTUpKSwKIAkJ CSAgIHllc25vKHRlc3RfYml0KEVOR0lORV9JUlFfRVhFQ0xJU1QsCiAJCQkJCSAgJmVuZ2luZS0+ aXJxX3Bvc3RlZCkpLAotCQkJICAgeWVzbm8odGVzdF9iaXQoVEFTS0xFVF9TVEFURV9TQ0hFRCwK LQkJCQkJICAmZW5naW5lLT5leGVjbGlzdHMudGFza2xldC5zdGF0ZSkpLAotCQkJICAgZW5hYmxl ZGRpc2FibGVkKCFhdG9taWNfcmVhZCgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldC5jb3VudCkp KTsKKwkJCSAgIHllc25vKGk5MTVfdGFza2xldF9pc19zY2hlZHVsZWQoJmVuZ2luZS0+ZXhlY2xp c3RzLnRhc2tsZXQpKSwKKwkJCSAgIGVuYWJsZWRkaXNhYmxlZChpOTE1X3Rhc2tsZXRfaXNfZW5h YmxlZCgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCkpKTsKIAkJaWYgKHJlYWQgPj0gR0VOOF9D U0JfRU5UUklFUykKIAkJCXJlYWQgPSAwOwogCQlpZiAod3JpdGUgPj0gR0VOOF9DU0JfRU5UUklF UykKQEAgLTE0NzksNyArMTQ3OCw3IEBAIGludCBpbnRlbF9lbmFibGVfZW5naW5lX3N0YXRzKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlpZiAoIWludGVsX2VuZ2luZV9zdXBwb3J0 c19zdGF0cyhlbmdpbmUpKQogCQlyZXR1cm4gLUVOT0RFVjsKIAotCXRhc2tsZXRfZGlzYWJsZSgm ZXhlY2xpc3RzLT50YXNrbGV0KTsKKwlpOTE1X3Rhc2tsZXRfbG9jaygmZXhlY2xpc3RzLT50YXNr bGV0KTsKIAl3cml0ZV9zZXFsb2NrX2lycXNhdmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3Mp OwogCiAJaWYgKHVubGlrZWx5KGVuZ2luZS0+c3RhdHMuZW5hYmxlZCA9PSB+MCkpIHsKQEAgLTE1 MDUsNyArMTUwNCw3IEBAIGludCBpbnRlbF9lbmFibGVfZW5naW5lX3N0YXRzKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKIAogdW5sb2NrOgogCXdyaXRlX3NlcXVubG9ja19pcnFyZXN0 b3JlKCZlbmdpbmUtPnN0YXRzLmxvY2ssIGZsYWdzKTsKLQl0YXNrbGV0X2VuYWJsZSgmZXhlY2xp c3RzLT50YXNrbGV0KTsKKwlpOTE1X3Rhc2tsZXRfdW5sb2NrKCZleGVjbGlzdHMtPnRhc2tsZXQp OwogCiAJcmV0dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3Vi bWlzc2lvbi5jCmluZGV4IDJmZWI2NTA5Njk2Ni4uYTdhZmM5NzZjM2I5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKQEAgLTU5MSw3ICs1OTEsNyBAQCBz dGF0aWMgdm9pZCBpbmplY3RfcHJlZW1wdF9jb250ZXh0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29y aykKIAlpZiAoV0FSTl9PTihpbnRlbF9ndWNfc2VuZChndWMsIGRhdGEsIEFSUkFZX1NJWkUoZGF0 YSkpKSkgewogCQlleGVjbGlzdHNfY2xlYXJfYWN0aXZlKCZlbmdpbmUtPmV4ZWNsaXN0cywKIAkJ CQkgICAgICAgRVhFQ0xJU1RTX0FDVElWRV9QUkVFTVBUKTsKLQkJdGFza2xldF9zY2hlZHVsZSgm ZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7CisJCWk5MTVfdGFza2xldF9zY2hlZHVsZSgmZW5n aW5lLT5leGVjbGlzdHMudGFza2xldCk7CiAJfQogfQogCkBAIC0xMjYzLDEwICsxMjYzLDEwIEBA IGludCBpbnRlbF9ndWNfc3VibWlzc2lvbl9lbmFibGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQog CWd1Y19pbnRlcnJ1cHRzX2NhcHR1cmUoZGV2X3ByaXYpOwogCiAJZm9yX2VhY2hfZW5naW5lKGVu Z2luZSwgZGV2X3ByaXYsIGlkKSB7Ci0JCXN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzICog Y29uc3QgZXhlY2xpc3RzID0KLQkJCSZlbmdpbmUtPmV4ZWNsaXN0czsKKwkJaTkxNV90YXNrbGV0 X3NldF9mdW5jKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LAorCQkJCSAgICAgIGd1Y19zdWJt aXNzaW9uX3Rhc2tsZXQsCisJCQkJICAgICAgKHVuc2lnbmVkIGxvbmcpZW5naW5lKTsKIAotCQll eGVjbGlzdHMtPnRhc2tsZXQuZnVuYyA9IGd1Y19zdWJtaXNzaW9uX3Rhc2tsZXQ7CiAJCWVuZ2lu ZS0+cGFyayA9IGd1Y19zdWJtaXNzaW9uX3Bhcms7CiAJCWVuZ2luZS0+dW5wYXJrID0gZ3VjX3N1 Ym1pc3Npb25fdW5wYXJrOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDdmOThkZGEz YzkyOS4uNTM5ZmEwM2Q3NjAwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMTE2NSw3 ICsxMTY1LDcgQEAgc3RhdGljIHZvaWQgcXVldWVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUsCiBzdGF0aWMgdm9pZCBfX3N1Ym1pdF9xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUsIGludCBwcmlvKQogewogCWVuZ2luZS0+ZXhlY2xpc3RzLnF1ZXVlX3By aW9yaXR5ID0gcHJpbzsKLQl0YXNrbGV0X2hpX3NjaGVkdWxlKCZlbmdpbmUtPmV4ZWNsaXN0cy50 YXNrbGV0KTsKKwlpOTE1X3Rhc2tsZXRfc2NoZWR1bGUoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2ts ZXQpOwogfQogCiBzdGF0aWMgdm9pZCBzdWJtaXRfcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lLCBpbnQgcHJpbykKQEAgLTE3NzgsNyArMTc3OCw3IEBAIHN0YXRpYyBpbnQgZ2Vu OF9pbml0X2NvbW1vbl9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAogCS8q IEFmdGVyIGEgR1BVIHJlc2V0LCB3ZSBtYXkgaGF2ZSByZXF1ZXN0cyB0byByZXBsYXkgKi8KIAlp ZiAoZXhlY2xpc3RzLT5maXJzdCkKLQkJdGFza2xldF9zY2hlZHVsZSgmZXhlY2xpc3RzLT50YXNr bGV0KTsKKwkJaTkxNV90YXNrbGV0X3NjaGVkdWxlKCZleGVjbGlzdHMtPnRhc2tsZXQpOwogCiAJ cmV0dXJuIDA7CiB9CkBAIC0yMTgyLDkgKzIxODIsOCBAQCB2b2lkIGludGVsX2xvZ2ljYWxfcmlu Z19jbGVhbnVwKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkgKiBUYXNrbGV0IGNh bm5vdCBiZSBhY3RpdmUgYXQgdGhpcyBwb2ludCBkdWUgaW50ZWxfbWFya19hY3RpdmUvaWRsZQog CSAqIHNvIHRoaXMgaXMganVzdCBmb3IgZG9jdW1lbnRhdGlvbi4KIAkgKi8KLQlpZiAoV0FSTl9P Tih0ZXN0X2JpdChUQVNLTEVUX1NUQVRFX1NDSEVELAotCQkJICAgICAmZW5naW5lLT5leGVjbGlz dHMudGFza2xldC5zdGF0ZSkpKQotCQl0YXNrbGV0X2tpbGwoJmVuZ2luZS0+ZXhlY2xpc3RzLnRh c2tsZXQpOworCWlmIChXQVJOX09OKGk5MTVfdGFza2xldF9pc19zY2hlZHVsZWQoJmVuZ2luZS0+ ZXhlY2xpc3RzLnRhc2tsZXQpKSkKKwkJaTkxNV90YXNrbGV0X2ZsdXNoKCZlbmdpbmUtPmV4ZWNs aXN0cy50YXNrbGV0KTsKIAogCWRldl9wcml2ID0gZW5naW5lLT5pOTE1OwogCkBAIC0yMjA5LDcg KzIyMDgsMTAgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX3NldF9kZWZhdWx0X3N1Ym1pc3Npb24o c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWVuZ2luZS0+c3VibWl0X3JlcXVlc3Qg PSBleGVjbGlzdHNfc3VibWl0X3JlcXVlc3Q7CiAJZW5naW5lLT5jYW5jZWxfcmVxdWVzdHMgPSBl eGVjbGlzdHNfY2FuY2VsX3JlcXVlc3RzOwogCWVuZ2luZS0+c2NoZWR1bGUgPSBleGVjbGlzdHNf c2NoZWR1bGU7Ci0JZW5naW5lLT5leGVjbGlzdHMudGFza2xldC5mdW5jID0gZXhlY2xpc3RzX3N1 Ym1pc3Npb25fdGFza2xldDsKKworCWk5MTVfdGFza2xldF9zZXRfZnVuYygmZW5naW5lLT5leGVj bGlzdHMudGFza2xldCwKKwkJCSAgICAgIGV4ZWNsaXN0c19zdWJtaXNzaW9uX3Rhc2tsZXQsCisJ CQkgICAgICAodW5zaWduZWQgbG9uZyllbmdpbmUpOwogCiAJZW5naW5lLT5wYXJrID0gTlVMTDsK IAllbmdpbmUtPnVucGFyayA9IE5VTEw7CkBAIC0yMzAzLDggKzIzMDUsOCBAQCBsb2dpY2FsX3Jp bmdfc2V0dXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCiAJZW5naW5lLT5leGVj bGlzdHMuZndfZG9tYWlucyA9IGZ3X2RvbWFpbnM7CiAKLQl0YXNrbGV0X2luaXQoJmVuZ2luZS0+ ZXhlY2xpc3RzLnRhc2tsZXQsCi0JCSAgICAgZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldCwg KHVuc2lnbmVkIGxvbmcpZW5naW5lKTsKKwlpOTE1X3Rhc2tsZXRfaW5pdCgmZW5naW5lLT5leGVj bGlzdHMudGFza2xldCwKKwkJCSAgZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldCwgKHVuc2ln bmVkIGxvbmcpZW5naW5lKTsKIAogCWxvZ2ljYWxfcmluZ19kZWZhdWx0X3ZmdW5jcyhlbmdpbmUp OwogCWxvZ2ljYWxfcmluZ19kZWZhdWx0X2lycXMoZW5naW5lKTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCAwMTA3NTBlOGVlNDQuLmY2YmEzNTRmYWY4OSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtMTEsNiArMTEsNyBAQAog I2luY2x1ZGUgImk5MTVfcG11LmgiCiAjaW5jbHVkZSAiaTkxNV9yZXF1ZXN0LmgiCiAjaW5jbHVk ZSAiaTkxNV9zZWxmdGVzdC5oIgorI2luY2x1ZGUgImk5MTVfdGFza2xldC5oIgogI2luY2x1ZGUg Imk5MTVfdGltZWxpbmUuaCIKICNpbmNsdWRlICJpbnRlbF9ncHVfY29tbWFuZHMuaCIKIApAQCAt MjAyLDcgKzIwMyw3IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzIHsKIAkvKioKIAkg KiBAdGFza2xldDogc29mdGlycSB0YXNrbGV0IGZvciBib3R0b20gaGFuZGxlcgogCSAqLwotCXN0 cnVjdCB0YXNrbGV0X3N0cnVjdCB0YXNrbGV0OworCXN0cnVjdCBpOTE1X3Rhc2tsZXQgdGFza2xl dDsKIAogCS8qKgogCSAqIEBkZWZhdWx0X3ByaW9saXN0OiBwcmlvcml0eSBsaXN0IGZvciBJOTE1 X1BSSU9SSVRZX05PUk1BTAotLSAKMi4xNy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK