From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH] drm/i915/selftests: Teach igt_gpu_fill_dw() to take intel_context Date: Fri, 23 Aug 2019 12:01:47 +0100 Message-ID: <20190823110147.31082-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 78FD86E064 for ; Fri, 23 Aug 2019 11:02:04 +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 Cc: Matthew Auld List-Id: intel-gfx@lists.freedesktop.org QXZvaWQgaGF2aW5nIHRvIHBhc3MgYXJvdW5kIChjdHgsIGVuZ2luZSkgZXZlcnl3aGVyZSBieSBw YXNzaW5nIHRoZQphY3R1YWwgaW50ZWxfY29udGV4dCB3ZSBpbnRlbmQgdG8gdXNlLiBUb2RheSB3 ZSBwcmVhY2ggdGhpcyBsZXNzb24gdG8KaWd0X2dwdV9maWxsX2R3IGFuZCBpdHMgY2FsbGVycycg Y2FsbGVycy4KClRoZSBpbW1lZGlhdGUgYmVuZWZpdCBmb3IgdGhlIEdFTSBzZWxmdGVzdHMgaXMg dGhhdCB3ZSBhaW0gdG8gdXNlIHRoZQpHRU0gY29udGV4dCBhcyB0aGUgY29udHJvbCwgdGhlIHNv dXJjZSBvZiB0aGUgZW5naW5lcyBvbiB3aGljaCB0byB0ZXN0CnRoZSBHRU0gY29udGV4dC4KClNp Z25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzog TWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgotLS0KIC4uLi9ncHUvZHJtL2k5 MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgICB8IDkyICsrKysrKysrKystLS0tLS0tLS0K IC4uLi9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYyB8IDY0ICsrKysr KystLS0tLS0KIC4uLi9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2lndF9nZW1fdXRpbHMuYyAgICB8 IDIzICsrLS0tCiAuLi4vZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pZ3RfZ2VtX3V0aWxzLmggICAg fCAxMyArKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKyksIDkyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVn ZV9wYWdlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2Vz LmMKaW5kZXggOGRlODNjNmQ4MWY1Li5hMGEyNzI1NTYyODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCkBAIC04NzksOSArODc5LDggQEAg c3RhdGljIGludCBpZ3RfbW9ja19wcGd0dF82NEsodm9pZCAqYXJnKQogCXJldHVybiBlcnI7CiB9 CiAKLXN0YXRpYyBpbnQgZ3B1X3dyaXRlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAotCQkgICAgIHN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCi0JCSAgICAgc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lLAorc3RhdGljIGludCBncHVfd3JpdGUoc3RydWN0IGludGVsX2NvbnRleHQgKmNl LAorCQkgICAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCQkgICAgIHUzMiBkdywKIAkJICAgICB1 MzIgdmFsKQogewpAQCAtODkzLDcgKzg5Miw3IEBAIHN0YXRpYyBpbnQgZ3B1X3dyaXRlKHN0cnVj dCBpOTE1X3ZtYSAqdm1hLAogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAKLQlyZXR1cm4gaWd0 X2dwdV9maWxsX2R3KHZtYSwgY3R4LCBlbmdpbmUsIGR3ICogc2l6ZW9mKHUzMiksCisJcmV0dXJu IGlndF9ncHVfZmlsbF9kdyhjZSwgdm1hLCBkdyAqIHNpemVvZih1MzIpLAogCQkJICAgICAgIHZt YS0+c2l6ZSA+PiBQQUdFX1NISUZULCB2YWwpOwogfQogCkBAIC05MjksMTggKzkyOCwxNiBAQCBz dGF0aWMgaW50IGNwdV9jaGVjayhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCB1MzIg ZHdvcmQsIHUzMiB2YWwpCiAJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIGludCBfX2lndF93cml0 ZV9odWdlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCi0JCQkgICAgc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLAorc3RhdGljIGludCBfX2lndF93cml0ZV9odWdlKHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjZSwKIAkJCSAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAogCQkJICAgIHU2NCBzaXplLCB1NjQgb2Zmc2V0LAogCQkJICAgIHUzMiBkd29yZCwgdTMyIHZh bCkKIHsKLQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9IGN0eC0+dm0gPzogJmVuZ2lu ZS0+Z3QtPmdndHQtPnZtOwogCXVuc2lnbmVkIGludCBmbGFncyA9IFBJTl9VU0VSIHwgUElOX09G RlNFVF9GSVhFRDsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAlpbnQgZXJyOwogCi0Jdm1hID0g aTkxNV92bWFfaW5zdGFuY2Uob2JqLCB2bSwgTlVMTCk7CisJdm1hID0gaTkxNV92bWFfaW5zdGFu Y2Uob2JqLCBjZS0+dm0sIE5VTEwpOwogCWlmIChJU19FUlIodm1hKSkKIAkJcmV0dXJuIFBUUl9F UlIodm1hKTsKIApAQCAtOTU0LDcgKzk1MSw3IEBAIHN0YXRpYyBpbnQgX19pZ3Rfd3JpdGVfaHVn ZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCQkgKiBUaGUgZ2d0dCBtYXkgaGF2ZSBz b21lIHBhZ2VzIHJlc2VydmVkIHNvCiAJCSAqIHJlZnJhaW4gZnJvbSBlcnJvcmluZyBvdXQuCiAJ CSAqLwotCQlpZiAoZXJyID09IC1FTk9TUEMgJiYgaTkxNV9pc19nZ3R0KHZtKSkKKwkJaWYgKGVy ciA9PSAtRU5PU1BDICYmIGk5MTVfaXNfZ2d0dChjZS0+dm0pKQogCQkJZXJyID0gMDsKIAogCQln b3RvIG91dF92bWFfY2xvc2U7CkBAIC05NjQsNyArOTYxLDcgQEAgc3RhdGljIGludCBfX2lndF93 cml0ZV9odWdlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJaWYgKGVycikKIAkJZ290 byBvdXRfdm1hX3VucGluOwogCi0JZXJyID0gZ3B1X3dyaXRlKHZtYSwgY3R4LCBlbmdpbmUsIGR3 b3JkLCB2YWwpOworCWVyciA9IGdwdV93cml0ZShjZSwgdm1hLCBkd29yZCwgdmFsKTsKIAlpZiAo ZXJyKSB7CiAJCXByX2VycigiZ3B1LXdyaXRlIGZhaWxlZCBhdCBvZmZzZXQ9JWxseFxuIiwgb2Zm c2V0KTsKIAkJZ290byBvdXRfdm1hX3VucGluOwpAQCAtOTg3LDE0ICs5ODQsMTMgQEAgc3RhdGlj IGludCBfX2lndF93cml0ZV9odWdlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiBzdGF0 aWMgaW50IGlndF93cml0ZV9odWdlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJCQkg IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwotCXN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgKnZtID0gY3R4LT52bSA/OiAmaTkxNS0+Z2d0dC52bTsKLQlzdGF0aWMgc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lc1tJOTE1X05VTV9FTkdJTkVTXTsKLQlzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmU7CisJc3RydWN0IGk5MTVfZ2VtX2VuZ2luZXMgKmVuZ2luZXM7 CisJc3RydWN0IGk5MTVfZ2VtX2VuZ2luZXNfaXRlciBpdDsKKwlzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqY2U7CiAJSTkxNV9STkRfU1RBVEUocHJuZyk7CiAJSUdUX1RJTUVPVVQoZW5kX3RpbWUpOwog CXVuc2lnbmVkIGludCBtYXhfcGFnZV9zaXplOwotCXVuc2lnbmVkIGludCBpZDsKKwl1bnNpZ25l ZCBpbnQgY291bnQ7CiAJdTY0IG1heDsKIAl1NjQgbnVtOwogCXU2NCBzaXplOwpAQCAtMTAwOSwx OCArMTAwNSwxNiBAQCBzdGF0aWMgaW50IGlndF93cml0ZV9odWdlKHN0cnVjdCBpOTE1X2dlbV9j b250ZXh0ICpjdHgsCiAJCXNpemUgPSByb3VuZF91cChzaXplLCBJOTE1X0dUVF9QQUdFX1NJWkVf Mk0pOwogCiAJbWF4X3BhZ2Vfc2l6ZSA9IHJvdW5kZG93bl9wb3dfb2ZfdHdvKG9iai0+bW0ucGFn ZV9zaXplcy5zZyk7Ci0JbWF4ID0gZGl2X3U2NCgodm0tPnRvdGFsIC0gc2l6ZSksIG1heF9wYWdl X3NpemUpOworCW1heCA9IGRpdl91NjQoKGN0eC0+dm0tPnRvdGFsIC0gc2l6ZSksIG1heF9wYWdl X3NpemUpOwogCiAJbiA9IDA7Ci0JZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsK LQkJaWYgKCFpbnRlbF9lbmdpbmVfY2FuX3N0b3JlX2R3b3JkKGVuZ2luZSkpIHsKLQkJCXByX2lu Zm8oInN0b3JlLWR3b3JkLWltbSBub3Qgc3VwcG9ydGVkIG9uIGVuZ2luZT0ldVxuIiwKLQkJCQlp ZCk7CisJZm9yX2VhY2hfZ2VtX2VuZ2luZShjZSwgaTkxNV9nZW1fY29udGV4dF9sb2NrX2VuZ2lu ZXMoY3R4KSwgaXQpIHsKKwkJY291bnQrKzsKKwkJaWYgKCFpbnRlbF9lbmdpbmVfY2FuX3N0b3Jl X2R3b3JkKGNlLT5lbmdpbmUpKQogCQkJY29udGludWU7Ci0JCX0KLQkJZW5naW5lc1tuKytdID0g ZW5naW5lOworCQluKys7CiAJfQotCisJaTkxNV9nZW1fY29udGV4dF91bmxvY2tfZW5naW5lcyhj dHgpOwogCWlmICghbikKIAkJcmV0dXJuIDA7CiAKQEAgLTEwMjksNyArMTAyMyw3IEBAIHN0YXRp YyBpbnQgaWd0X3dyaXRlX2h1Z2Uoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKIAkgKiBy YW5kb21pemVkIG9yZGVyLCBsZXRzIGFsc28gbWFrZSBmZWVkaW5nIHRvIHRoZSBzYW1lIGVuZ2lu ZSBhIGZldwogCSAqIHRpbWVzIGluIHN1Y2Nlc3Npb24gYSBwb3NzaWJpbGl0eSBieSBlbmxhcmdp bmcgdGhlIHBlcm11dGF0aW9uIGFycmF5LgogCSAqLwotCW9yZGVyID0gaTkxNV9yYW5kb21fb3Jk ZXIobiAqIEk5MTVfTlVNX0VOR0lORVMsICZwcm5nKTsKKwlvcmRlciA9IGk5MTVfcmFuZG9tX29y ZGVyKGNvdW50ICogY291bnQsICZwcm5nKTsKIAlpZiAoIW9yZGVyKQogCQlyZXR1cm4gLUVOT01F TTsKIApAQCAtMTAzOSwxMyArMTAzMywxNyBAQCBzdGF0aWMgaW50IGlndF93cml0ZV9odWdlKHN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJICogb2Zmc2V0ID0gMC4KIAkgKi8KIAlpID0g MDsKKwllbmdpbmVzID0gaTkxNV9nZW1fY29udGV4dF9sb2NrX2VuZ2luZXMoY3R4KTsKIAlmb3Jf ZWFjaF9wcmltZV9udW1iZXJfZnJvbShudW0sIDAsIG1heCkgewogCQl1NjQgb2Zmc2V0X2xvdyA9 IG51bSAqIG1heF9wYWdlX3NpemU7CiAJCXU2NCBvZmZzZXRfaGlnaCA9IChtYXggLSBudW0pICog bWF4X3BhZ2Vfc2l6ZTsKIAkJdTMyIGR3b3JkID0gb2Zmc2V0X2luX3BhZ2UobnVtKSAvIDQ7CisJ CXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZTsKIAotCQllbmdpbmUgPSBlbmdpbmVzW29yZGVyW2ld ICUgbl07Ci0JCWkgPSAoaSArIDEpICUgKG4gKiBJOTE1X05VTV9FTkdJTkVTKTsKKwkJY2UgPSBl bmdpbmVzLT5lbmdpbmVzW29yZGVyW2ldICUgZW5naW5lcy0+bnVtX2VuZ2luZXNdOworCQlpID0g KGkgKyAxKSAlIChjb3VudCAqIGNvdW50KTsKKwkJaWYgKCFpbnRlbF9lbmdpbmVfY2FuX3N0b3Jl X2R3b3JkKGNlLT5lbmdpbmUpKQorCQkJY29udGludWU7CiAKIAkJLyoKIAkJICogSW4gb3JkZXIg dG8gdXRpbGl6ZSA2NEsgcGFnZXMgd2UgbmVlZCB0byBib3RoIHBhZCB0aGUgdm1hCkBAIC0xMDU3 LDIyICsxMDU1LDIzIEBAIHN0YXRpYyBpbnQgaWd0X3dyaXRlX2h1Z2Uoc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmN0eCwKIAkJCW9mZnNldF9sb3cgPSByb3VuZF9kb3duKG9mZnNldF9sb3csCiAJ CQkJCQlJOTE1X0dUVF9QQUdFX1NJWkVfMk0pOwogCi0JCWVyciA9IF9faWd0X3dyaXRlX2h1Z2Uo Y3R4LCBlbmdpbmUsIG9iaiwgc2l6ZSwgb2Zmc2V0X2xvdywKKwkJZXJyID0gX19pZ3Rfd3JpdGVf aHVnZShjZSwgb2JqLCBzaXplLCBvZmZzZXRfbG93LAogCQkJCSAgICAgICBkd29yZCwgbnVtICsg MSk7CiAJCWlmIChlcnIpCiAJCQlicmVhazsKIAotCQllcnIgPSBfX2lndF93cml0ZV9odWdlKGN0 eCwgZW5naW5lLCBvYmosIHNpemUsIG9mZnNldF9oaWdoLAorCQllcnIgPSBfX2lndF93cml0ZV9o dWdlKGNlLCBvYmosIHNpemUsIG9mZnNldF9oaWdoLAogCQkJCSAgICAgICBkd29yZCwgbnVtICsg MSk7CiAJCWlmIChlcnIpCiAJCQlicmVhazsKIAogCQlpZiAoaWd0X3RpbWVvdXQoZW5kX3RpbWUs Ci0JCQkJIiVzIHRpbWVkIG91dCBvbiBlbmdpbmU9JXUsIG9mZnNldF9sb3c9JWxseCBvZmZzZXRf aGlnaD0lbGx4LCBtYXhfcGFnZV9zaXplPSV4XG4iLAotCQkJCV9fZnVuY19fLCBlbmdpbmUtPmlk LCBvZmZzZXRfbG93LCBvZmZzZXRfaGlnaCwKKwkJCQkiJXMgdGltZWQgb3V0IG9uICVzLCBvZmZz ZXRfbG93PSVsbHggb2Zmc2V0X2hpZ2g9JWxseCwgbWF4X3BhZ2Vfc2l6ZT0leFxuIiwKKwkJCQlf X2Z1bmNfXywgY2UtPmVuZ2luZS0+bmFtZSwgb2Zmc2V0X2xvdywgb2Zmc2V0X2hpZ2gsCiAJCQkJ bWF4X3BhZ2Vfc2l6ZSkpCiAJCQlicmVhazsKIAl9CisJaTkxNV9nZW1fY29udGV4dF91bmxvY2tf ZW5naW5lcyhjdHgpOwogCiAJa2ZyZWUob3JkZXIpOwogCkBAIC0xMzE2LDEwICsxMzE1LDExIEBA IHN0YXRpYyBpbnQgaWd0X3BwZ3R0X3Bpbl91cGRhdGUodm9pZCAqYXJnKQogCXVuc2lnbmVkIGxv bmcgc3VwcG9ydGVkID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPnBhZ2Vfc2l6ZXM7CiAJc3RydWN0 IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0gPSBjdHgtPnZtOwogCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmo7CisJc3RydWN0IGk5MTVfZ2VtX2VuZ2luZXNfaXRlciBpdDsKKwlzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY2U7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdW5zaWduZWQgaW50 IGZsYWdzID0gUElOX1VTRVIgfCBQSU5fT0ZGU0VUX0ZJWEVEOwogCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZTsKLQllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKIAl1bnNpZ25lZCBpbnQg bjsKIAlpbnQgZmlyc3QsIGxhc3Q7CiAJaW50IGVycjsKQEAgLTE0MTksMTQgKzE0MTksMTggQEAg c3RhdGljIGludCBpZ3RfcHBndHRfcGluX3VwZGF0ZSh2b2lkICphcmcpCiAJICovCiAKIAluID0g MDsKLQlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaWQpIHsKKwlmb3JfZWFjaF9n ZW1fZW5naW5lKGNlLCBpOTE1X2dlbV9jb250ZXh0X2xvY2tfZW5naW5lcyhjdHgpLCBpdCkgewog CQlpZiAoIWludGVsX2VuZ2luZV9jYW5fc3RvcmVfZHdvcmQoZW5naW5lKSkKIAkJCWNvbnRpbnVl OwogCi0JCWVyciA9IGdwdV93cml0ZSh2bWEsIGN0eCwgZW5naW5lLCBuKyssIDB4ZGVhZGJlYWYp OworCQllcnIgPSBncHVfd3JpdGUoY2UsIHZtYSwgbisrLCAweGRlYWRiZWFmKTsKIAkJaWYgKGVy cikKLQkJCWdvdG8gb3V0X3VucGluOworCQkJYnJlYWs7CiAJfQorCWk5MTVfZ2VtX2NvbnRleHRf dW5sb2NrX2VuZ2luZXMoY3R4KTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dF91bnBpbjsKKwogCXdo aWxlIChuLS0pIHsKIAkJZXJyID0gY3B1X2NoZWNrKG9iaiwgbiwgMHhkZWFkYmVhZik7CiAJCWlm IChlcnIpCkBAIC0xNTA3LDggKzE1MTEsOCBAQCBzdGF0aWMgaW50IGlndF9zaHJpbmtfdGhwKHZv aWQgKmFyZykKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGN0eC0+aTkxNTsKIAlz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9IGN0eC0+dm0gPzogJmk5MTUtPmdndHQudm07 CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmU7Ci0JZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CisJc3RydWN0IGk5MTVfZ2Vt X2VuZ2luZXNfaXRlciBpdDsKKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7CiAJc3RydWN0IGk5 MTVfdm1hICp2bWE7CiAJdW5zaWduZWQgaW50IGZsYWdzID0gUElOX1VTRVI7CiAJdW5zaWduZWQg aW50IG47CkBAIC0xNTQ4LDE2ICsxNTUyLDE5IEBAIHN0YXRpYyBpbnQgaWd0X3Nocmlua190aHAo dm9pZCAqYXJnKQogCQlnb3RvIG91dF91bnBpbjsKIAogCW4gPSAwOwotCWZvcl9lYWNoX2VuZ2lu ZShlbmdpbmUsIGk5MTUsIGlkKSB7Ci0JCWlmICghaW50ZWxfZW5naW5lX2Nhbl9zdG9yZV9kd29y ZChlbmdpbmUpKQorCisJZm9yX2VhY2hfZ2VtX2VuZ2luZShjZSwgaTkxNV9nZW1fY29udGV4dF9s b2NrX2VuZ2luZXMoY3R4KSwgaXQpIHsKKwkJaWYgKCFpbnRlbF9lbmdpbmVfY2FuX3N0b3JlX2R3 b3JkKGNlLT5lbmdpbmUpKQogCQkJY29udGludWU7CiAKLQkJZXJyID0gZ3B1X3dyaXRlKHZtYSwg Y3R4LCBlbmdpbmUsIG4rKywgMHhkZWFkYmVhZik7CisJCWVyciA9IGdwdV93cml0ZShjZSwgdm1h LCBuKyssIDB4ZGVhZGJlYWYpOwogCQlpZiAoZXJyKQotCQkJZ290byBvdXRfdW5waW47CisJCQli cmVhazsKIAl9Ci0KKwlpOTE1X2dlbV9jb250ZXh0X3VubG9ja19lbmdpbmVzKGN0eCk7CiAJaTkx NV92bWFfdW5waW4odm1hKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dF9jbG9zZTsKIAogCS8qCiAJ ICogTm93IHRoYXQgdGhlIHBhZ2VzIGFyZSAqdW5waW5uZWQqIHNocmluay1hbGwgc2hvdWxkIGlu dm9rZQpAQCAtMTU4MywxMCArMTU5MCw5IEBAIHN0YXRpYyBpbnQgaWd0X3Nocmlua190aHAodm9p ZCAqYXJnKQogCXdoaWxlIChuLS0pIHsKIAkJZXJyID0gY3B1X2NoZWNrKG9iaiwgbiwgMHhkZWFk YmVhZik7CiAJCWlmIChlcnIpCi0JCQlnb3RvIG91dF91bnBpbjsKKwkJCWJyZWFrOwogCX0KIAot CiBvdXRfdW5waW46CiAJaTkxNV92bWFfdW5waW4odm1hKTsKIG91dF9jbG9zZToKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMK aW5kZXggM2U2ZjRhNjVkMzU2Li41ZGViOTRlOTUzYmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCkBAIC0xNjYsMTkg KzE2NiwxNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBmYWtlX3BhZ2VfY291bnQoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1cm4gaHVnZV9nZW1fb2JqZWN0X2RtYV9zaXpl KG9iaikgPj4gUEFHRV9TSElGVDsKIH0KIAotc3RhdGljIGludCBncHVfZmlsbChzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLAotCQkgICAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0 eCwKLQkJICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKK3N0YXRpYyBpbnQgZ3B1 X2ZpbGwoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAorCQkgICAgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKIAkJICAgIHVuc2lnbmVkIGludCBkdykKIHsKLQlzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlICp2bSA9IGN0eC0+dm0gPzogJmVuZ2luZS0+Z3QtPmdndHQtPnZtOwogCXN0 cnVjdCBpOTE1X3ZtYSAqdm1hOwogCWludCBlcnI7CiAKLQlHRU1fQlVHX09OKG9iai0+YmFzZS5z aXplID4gdm0tPnRvdGFsKTsKLQlHRU1fQlVHX09OKCFpbnRlbF9lbmdpbmVfY2FuX3N0b3JlX2R3 b3JkKGVuZ2luZSkpOworCUdFTV9CVUdfT04ob2JqLT5iYXNlLnNpemUgPiBjZS0+dm0tPnRvdGFs KTsKKwlHRU1fQlVHX09OKCFpbnRlbF9lbmdpbmVfY2FuX3N0b3JlX2R3b3JkKGNlLT5lbmdpbmUp KTsKIAotCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwgdm0sIE5VTEwpOworCXZtYSA9IGk5 MTVfdm1hX2luc3RhbmNlKG9iaiwgY2UtPnZtLCBOVUxMKTsKIAlpZiAoSVNfRVJSKHZtYSkpCiAJ CXJldHVybiBQVFJfRVJSKHZtYSk7CiAKQEAgLTIwMCw5ICsxOTgsNyBAQCBzdGF0aWMgaW50IGdw dV9maWxsKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJICogd2hpbHN0IGNoZWNr aW5nIHRoYXQgZWFjaCBjb250ZXh0IHByb3ZpZGVzIGEgdW5pcXVlIHZpZXcKIAkgKiBpbnRvIHRo ZSBvYmplY3QuCiAJICovCi0JZXJyID0gaWd0X2dwdV9maWxsX2R3KHZtYSwKLQkJCSAgICAgIGN0 eCwKLQkJCSAgICAgIGVuZ2luZSwKKwllcnIgPSBpZ3RfZ3B1X2ZpbGxfZHcoY2UsIHZtYSwKIAkJ CSAgICAgIChkdyAqIHJlYWxfcGFnZV9jb3VudChvYmopKSA8PCBQQUdFX1NISUZUIHwKIAkJCSAg ICAgIChkdyAqIHNpemVvZih1MzIpKSwKIAkJCSAgICAgIHJlYWxfcGFnZV9jb3VudChvYmopLApA QCAtMzA1LDIyICszMDEsMjEgQEAgc3RhdGljIGludCBmaWxlX2FkZF9vYmplY3Qoc3RydWN0IGRy bV9maWxlICpmaWxlLAogfQogCiBzdGF0aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgot Y3JlYXRlX3Rlc3Rfb2JqZWN0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCitjcmVhdGVf dGVzdF9vYmplY3Qoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCSAgIHN0cnVjdCBk cm1fZmlsZSAqZmlsZSwKIAkJICAgc3RydWN0IGxpc3RfaGVhZCAqb2JqZWN0cykKIHsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwotCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtID0gY3R4LT52bSA/OiAmY3R4LT5pOTE1LT5nZ3R0LnZtOwogCXU2NCBzaXplOwogCWludCBl cnI7CiAKIAkvKiBLZWVwIGluIEdFTSdzIGdvb2QgZ3JhY2VzICovCi0JaTkxNV9yZXRpcmVfcmVx dWVzdHMoY3R4LT5pOTE1KTsKKwlpOTE1X3JldGlyZV9yZXF1ZXN0cyh2bS0+aTkxNSk7CiAKIAlz aXplID0gbWluKHZtLT50b3RhbCAvIDIsIDEwMjR1bGwgKiBEV19QRVJfUEFHRSAqIFBBR0VfU0la RSk7CiAJc2l6ZSA9IHJvdW5kX2Rvd24oc2l6ZSwgRFdfUEVSX1BBR0UgKiBQQUdFX1NJWkUpOwog Ci0Jb2JqID0gaHVnZV9nZW1fb2JqZWN0KGN0eC0+aTkxNSwgRFdfUEVSX1BBR0UgKiBQQUdFX1NJ WkUsIHNpemUpOworCW9iaiA9IGh1Z2VfZ2VtX29iamVjdCh2bS0+aTkxNSwgRFdfUEVSX1BBR0Ug KiBQQUdFX1NJWkUsIHNpemUpOwogCWlmIChJU19FUlIob2JqKSkKIAkJcmV0dXJuIG9iajsKIApA QCAtMzkzLDYgKzM4OCw3IEBAIHN0YXRpYyBpbnQgaWd0X2N0eF9leGVjKHZvaWQgKmFyZykKIAkJ ZHcgPSAwOwogCQl3aGlsZSAoIXRpbWVfYWZ0ZXIoamlmZmllcywgZW5kX3RpbWUpKSB7CiAJCQlz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4OworCQkJc3RydWN0IGludGVsX2NvbnRleHQgKmNl OwogCiAJCQljdHggPSBsaXZlX2NvbnRleHQoaTkxNSwgZmlsZSk7CiAJCQlpZiAoSVNfRVJSKGN0 eCkpIHsKQEAgLTQwMCwxNSArMzk2LDIwIEBAIHN0YXRpYyBpbnQgaWd0X2N0eF9leGVjKHZvaWQg KmFyZykKIAkJCQlnb3RvIG91dF91bmxvY2s7CiAJCQl9CiAKKwkJCWNlID0gaTkxNV9nZW1fY29u dGV4dF9nZXRfZW5naW5lKGN0eCwgZW5naW5lLT5sZWdhY3lfaWR4KTsKKwogCQkJaWYgKCFvYmop IHsKLQkJCQlvYmogPSBjcmVhdGVfdGVzdF9vYmplY3QoY3R4LCBmaWxlLCAmb2JqZWN0cyk7CisJ CQkJb2JqID0gY3JlYXRlX3Rlc3Rfb2JqZWN0KGNlLT52bSwgZmlsZSwgJm9iamVjdHMpOwogCQkJ CWlmIChJU19FUlIob2JqKSkgewogCQkJCQllcnIgPSBQVFJfRVJSKG9iaik7CisJCQkJCWludGVs X2NvbnRleHRfcHV0KGNlKTsKIAkJCQkJZ290byBvdXRfdW5sb2NrOwogCQkJCX0KIAkJCX0KIAot CQkJZXJyID0gZ3B1X2ZpbGwob2JqLCBjdHgsIGVuZ2luZSwgZHcpOworCQkJZXJyID0gZ3B1X2Zp bGwoY2UsIG9iaiwgZHcpOworCQkJaW50ZWxfY29udGV4dF9wdXQoY2UpOworCiAJCQlpZiAoZXJy KSB7CiAJCQkJcHJfZXJyKCJGYWlsZWQgdG8gZmlsbCBkd29yZCAlbHUgWyVsdS8lbHVdIHdpdGgg Z3B1ICglcykgaW4gY3R4ICV1IFtmdWxsLXBwZ3R0PyAlc10sIGVycj0lZFxuIiwKIAkJCQkgICAg ICAgbmR3b3JkcywgZHcsIG1heF9kd29yZHMob2JqKSwKQEAgLTUwOSw2ICs1MTAsNyBAQCBzdGF0 aWMgaW50IGlndF9zaGFyZWRfY3R4X2V4ZWModm9pZCAqYXJnKQogCQluY29udGV4dHMgPSAwOwog CQl3aGlsZSAoIXRpbWVfYWZ0ZXIoamlmZmllcywgZW5kX3RpbWUpKSB7CiAJCQlzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCAqY3R4OworCQkJc3RydWN0IGludGVsX2NvbnRleHQgKmNlOwogCiAJCQlj dHggPSBrZXJuZWxfY29udGV4dChpOTE1KTsKIAkJCWlmIChJU19FUlIoY3R4KSkgewpAQCAtNTE4 LDIyICs1MjAsMjYgQEAgc3RhdGljIGludCBpZ3Rfc2hhcmVkX2N0eF9leGVjKHZvaWQgKmFyZykK IAogCQkJX19hc3NpZ25fcHBndHQoY3R4LCBwYXJlbnQtPnZtKTsKIAorCQkJY2UgPSBpOTE1X2dl bV9jb250ZXh0X2dldF9lbmdpbmUoY3R4LCBlbmdpbmUtPmxlZ2FjeV9pZHgpOwogCQkJaWYgKCFv YmopIHsKLQkJCQlvYmogPSBjcmVhdGVfdGVzdF9vYmplY3QocGFyZW50LCBmaWxlLCAmb2JqZWN0 cyk7CisJCQkJb2JqID0gY3JlYXRlX3Rlc3Rfb2JqZWN0KGNlLT52bSwgZmlsZSwgJm9iamVjdHMp OwogCQkJCWlmIChJU19FUlIob2JqKSkgewogCQkJCQllcnIgPSBQVFJfRVJSKG9iaik7CisJCQkJ CWludGVsX2NvbnRleHRfcHV0KGNlKTsKIAkJCQkJa2VybmVsX2NvbnRleHRfY2xvc2UoY3R4KTsK IAkJCQkJZ290byBvdXRfdGVzdDsKIAkJCQl9CiAJCQl9CiAKLQkJCWVyciA9IGdwdV9maWxsKG9i aiwgY3R4LCBlbmdpbmUsIGR3KTsKKwkJCWVyciA9IGdwdV9maWxsKGNlLCBvYmosIGR3KTsKKwkJ CWludGVsX2NvbnRleHRfcHV0KGNlKTsKKwkJCWtlcm5lbF9jb250ZXh0X2Nsb3NlKGN0eCk7CisK IAkJCWlmIChlcnIpIHsKIAkJCQlwcl9lcnIoIkZhaWxlZCB0byBmaWxsIGR3b3JkICVsdSBbJWx1 LyVsdV0gd2l0aCBncHUgKCVzKSBpbiBjdHggJXUgW2Z1bGwtcHBndHQ/ICVzXSwgZXJyPSVkXG4i LAogCQkJCSAgICAgICBuZHdvcmRzLCBkdywgbWF4X2R3b3JkcyhvYmopLAogCQkJCSAgICAgICBl bmdpbmUtPm5hbWUsIGN0eC0+aHdfaWQsCiAJCQkJICAgICAgIHllc25vKCEhY3R4LT52bSksIGVy cik7Ci0JCQkJa2VybmVsX2NvbnRleHRfY2xvc2UoY3R4KTsKIAkJCQlnb3RvIG91dF90ZXN0Owog CQkJfQogCkBAIC01NDQsOCArNTUwLDYgQEAgc3RhdGljIGludCBpZ3Rfc2hhcmVkX2N0eF9leGVj KHZvaWQgKmFyZykKIAogCQkJbmR3b3JkcysrOwogCQkJbmNvbnRleHRzKys7Ci0KLQkJCWtlcm5l bF9jb250ZXh0X2Nsb3NlKGN0eCk7CiAJCX0KIAkJcHJfaW5mbygiU3VibWl0dGVkICVsdSBjb250 ZXh0cyB0byAlcywgZmlsbGluZyAlbHUgZHdvcmRzXG4iLAogCQkJbmNvbnRleHRzLCBlbmdpbmUt Pm5hbWUsIG5kd29yZHMpOwpAQCAtMTA4MiwxNyArMTA4NiwxOSBAQCBzdGF0aWMgaW50IGlndF9j dHhfcmVhZG9ubHkodm9pZCAqYXJnKQogCW5kd29yZHMgPSAwOwogCWR3ID0gMDsKIAl3aGlsZSAo IXRpbWVfYWZ0ZXIoamlmZmllcywgZW5kX3RpbWUpKSB7Ci0JCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZTsKLQkJdW5zaWduZWQgaW50IGlkOworCQlzdHJ1Y3QgaTkxNV9nZW1fZW5naW5l c19pdGVyIGl0OworCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7CiAKLQkJZm9yX2VhY2hfZW5n aW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKLQkJCWlmICghaW50ZWxfZW5naW5lX2Nhbl9zdG9yZV9k d29yZChlbmdpbmUpKQorCQlmb3JfZWFjaF9nZW1fZW5naW5lKGNlLAorCQkJCSAgICBpOTE1X2dl bV9jb250ZXh0X2xvY2tfZW5naW5lcyhjdHgpLCBpdCkgeworCQkJaWYgKCFpbnRlbF9lbmdpbmVf Y2FuX3N0b3JlX2R3b3JkKGNlLT5lbmdpbmUpKQogCQkJCWNvbnRpbnVlOwogCiAJCQlpZiAoIW9i aikgewotCQkJCW9iaiA9IGNyZWF0ZV90ZXN0X29iamVjdChjdHgsIGZpbGUsICZvYmplY3RzKTsK KwkJCQlvYmogPSBjcmVhdGVfdGVzdF9vYmplY3QoY2UtPnZtLCBmaWxlLCAmb2JqZWN0cyk7CiAJ CQkJaWYgKElTX0VSUihvYmopKSB7CiAJCQkJCWVyciA9IFBUUl9FUlIob2JqKTsKKwkJCQkJaTkx NV9nZW1fY29udGV4dF91bmxvY2tfZW5naW5lcyhjdHgpOwogCQkJCQlnb3RvIG91dF91bmxvY2s7 CiAJCQkJfQogCkBAIC0xMTAwLDEyICsxMTA2LDEzIEBAIHN0YXRpYyBpbnQgaWd0X2N0eF9yZWFk b25seSh2b2lkICphcmcpCiAJCQkJCWk5MTVfZ2VtX29iamVjdF9zZXRfcmVhZG9ubHkob2JqKTsK IAkJCX0KIAotCQkJZXJyID0gZ3B1X2ZpbGwob2JqLCBjdHgsIGVuZ2luZSwgZHcpOworCQkJZXJy ID0gZ3B1X2ZpbGwoY2UsIG9iaiwgZHcpOwogCQkJaWYgKGVycikgewogCQkJCXByX2VycigiRmFp bGVkIHRvIGZpbGwgZHdvcmQgJWx1IFslbHUvJWx1XSB3aXRoIGdwdSAoJXMpIGluIGN0eCAldSBb ZnVsbC1wcGd0dD8gJXNdLCBlcnI9JWRcbiIsCiAJCQkJICAgICAgIG5kd29yZHMsIGR3LCBtYXhf ZHdvcmRzKG9iaiksCi0JCQkJICAgICAgIGVuZ2luZS0+bmFtZSwgY3R4LT5od19pZCwKKwkJCQkg ICAgICAgY2UtPmVuZ2luZS0+bmFtZSwgY3R4LT5od19pZCwKIAkJCQkgICAgICAgeWVzbm8oISFj dHgtPnZtKSwgZXJyKTsKKwkJCQlpOTE1X2dlbV9jb250ZXh0X3VubG9ja19lbmdpbmVzKGN0eCk7 CiAJCQkJZ290byBvdXRfdW5sb2NrOwogCQkJfQogCkBAIC0xMTE1LDYgKzExMjIsNyBAQCBzdGF0 aWMgaW50IGlndF9jdHhfcmVhZG9ubHkodm9pZCAqYXJnKQogCQkJfQogCQkJbmR3b3JkcysrOwog CQl9CisJCWk5MTVfZ2VtX2NvbnRleHRfdW5sb2NrX2VuZ2luZXMoY3R4KTsKIAl9CiAJcHJfaW5m bygiU3VibWl0dGVkICVsdSBkd29yZHMgKGFjcm9zcyAldSBlbmdpbmVzKVxuIiwKIAkJbmR3b3Jk cywgUlVOVElNRV9JTkZPKGk5MTUpLT5udW1fZW5naW5lcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2lndF9nZW1fdXRpbHMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaWd0X2dlbV91dGlscy5jCmluZGV4IDU3ZWNlNTNjMTA3 NS4uZjY0N2FkYzI4Mzk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2Vs ZnRlc3RzL2lndF9nZW1fdXRpbHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2Vs ZnRlc3RzL2lndF9nZW1fdXRpbHMuYwpAQCAtMTAxLDQwICsxMDEsMzUgQEAgaWd0X2VtaXRfc3Rv cmVfZHcoc3RydWN0IGk5MTVfdm1hICp2bWEsCiAJcmV0dXJuIEVSUl9QVFIoZXJyKTsKIH0KIAot aW50IGlndF9ncHVfZmlsbF9kdyhzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKLQkJICAgIHN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjdHgsCi0JCSAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUsCi0JCSAgICB1NjQgb2Zmc2V0LAotCQkgICAgdW5zaWduZWQgbG9uZyBjb3VudCwKLQkJICAg IHUzMiB2YWwpCitpbnQgaWd0X2dwdV9maWxsX2R3KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwK KwkJICAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hLCB1NjQgb2Zmc2V0LAorCQkgICAgdW5zaWduZWQg bG9uZyBjb3VudCwgdTMyIHZhbCkKIHsKLQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9 IGN0eC0+dm0gPzogJmVuZ2luZS0+Z3QtPmdndHQtPnZtOwogCXN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxOwogCXN0cnVjdCBpOTE1X3ZtYSAqYmF0Y2g7CiAJdW5zaWduZWQgaW50IGZsYWdzOwogCWlu dCBlcnI7CiAKLQlHRU1fQlVHX09OKHZtYS0+c2l6ZSA+IHZtLT50b3RhbCk7Ci0JR0VNX0JVR19P TighaW50ZWxfZW5naW5lX2Nhbl9zdG9yZV9kd29yZChlbmdpbmUpKTsKKwlHRU1fQlVHX09OKCFp bnRlbF9lbmdpbmVfY2FuX3N0b3JlX2R3b3JkKGNlLT5lbmdpbmUpKTsKIAlHRU1fQlVHX09OKCFp OTE1X3ZtYV9pc19waW5uZWQodm1hKSk7CiAKIAliYXRjaCA9IGlndF9lbWl0X3N0b3JlX2R3KHZt YSwgb2Zmc2V0LCBjb3VudCwgdmFsKTsKIAlpZiAoSVNfRVJSKGJhdGNoKSkKIAkJcmV0dXJuIFBU Ul9FUlIoYmF0Y2gpOwogCi0JcnEgPSBpZ3RfcmVxdWVzdF9hbGxvYyhjdHgsIGVuZ2luZSk7CisJ cnEgPSBpbnRlbF9jb250ZXh0X2NyZWF0ZV9yZXF1ZXN0KGNlKTsKIAlpZiAoSVNfRVJSKHJxKSkg ewogCQllcnIgPSBQVFJfRVJSKHJxKTsKIAkJZ290byBlcnJfYmF0Y2g7CiAJfQogCiAJZmxhZ3Mg PSAwOwotCWlmIChJTlRFTF9HRU4odm0tPmk5MTUpIDw9IDUpCisJaWYgKElOVEVMX0dFTihjZS0+ dm0tPmk5MTUpIDw9IDUpCiAJCWZsYWdzIHw9IEk5MTVfRElTUEFUQ0hfU0VDVVJFOwogCi0JZXJy ID0gZW5naW5lLT5lbWl0X2JiX3N0YXJ0KHJxLAotCQkJCSAgICBiYXRjaC0+bm9kZS5zdGFydCwg YmF0Y2gtPm5vZGUuc2l6ZSwKLQkJCQkgICAgZmxhZ3MpOworCWVyciA9IHJxLT5lbmdpbmUtPmVt aXRfYmJfc3RhcnQocnEsCisJCQkJCWJhdGNoLT5ub2RlLnN0YXJ0LCBiYXRjaC0+bm9kZS5zaXpl LAorCQkJCQlmbGFncyk7CiAJaWYgKGVycikKIAkJZ290byBlcnJfcmVxdWVzdDsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pZ3RfZ2VtX3V0aWxzLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2lndF9nZW1fdXRpbHMuaAppbmRl eCAzNjFhN2VmODY2YjAuLjQyMjFjZjg0ZDE3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pZ3RfZ2VtX3V0aWxzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pZ3RfZ2VtX3V0aWxzLmgKQEAgLTExLDkgKzExLDExIEBACiAK IHN0cnVjdCBpOTE1X3JlcXVlc3Q7CiBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dDsKLXN0cnVjdCBp bnRlbF9lbmdpbmVfY3M7CiBzdHJ1Y3QgaTkxNV92bWE7CiAKK3N0cnVjdCBpbnRlbF9jb250ZXh0 Oworc3RydWN0IGludGVsX2VuZ2luZV9jczsKKwogc3RydWN0IGk5MTVfcmVxdWVzdCAqCiBpZ3Rf cmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LCBzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUpOwogCkBAIC0yMywxMSArMjUsOCBAQCBpZ3RfZW1pdF9zdG9yZV9k dyhzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAkJICB1bnNpZ25lZCBsb25nIGNvdW50LAogCQkgIHUz MiB2YWwpOwogCi1pbnQgaWd0X2dwdV9maWxsX2R3KHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAotCQkg ICAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKLQkJICAgIHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwKLQkJICAgIHU2NCBvZmZzZXQsCi0JCSAgICB1bnNpZ25lZCBsb25nIGNv dW50LAotCQkgICAgdTMyIHZhbCk7CitpbnQgaWd0X2dwdV9maWxsX2R3KHN0cnVjdCBpbnRlbF9j b250ZXh0ICpjZSwKKwkJICAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hLCB1NjQgb2Zmc2V0LAorCQkg ICAgdW5zaWduZWQgbG9uZyBjb3VudCwgdTMyIHZhbCk7CiAKICNlbmRpZiAvKiBfX0lHVF9HRU1f VVRJTFNfSF9fICovCi0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeA==