From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9EE6FC2D0E4 for ; Fri, 27 Nov 2020 12:09:54 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5AF3321D81 for ; Fri, 27 Nov 2020 12:09:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5AF3321D81 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 832886EC64; Fri, 27 Nov 2020 12:08:58 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id BBA3B6EC52; Fri, 27 Nov 2020 12:08:44 +0000 (UTC) IronPort-SDR: Wfd7EbLjMa1oxeZvYPnRHPi4J0K/sSIzEyxcSqc2tlWrCVfWfYMWegzqthbc9FRZ9isjJoZMil jg3FDFgh7Xxg== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="168883488" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="168883488" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:08:42 -0800 IronPort-SDR: OuxZYmxzSAh29c9ffo+msnCONf0fNXQxnJM0wqrwuzTUVLSfvuyRvAjjhSn4yynvzLhOeFOSb3 bCdv9Mkl0miA== X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="548028764" Received: from mjgleeso-mobl.ger.corp.intel.com (HELO mwauld-desk1.ger.corp.intel.com) ([10.251.85.2]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:08:37 -0800 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [RFC PATCH 040/162] drm/i915: Fix workarounds selftest, part 1 Date: Fri, 27 Nov 2020 12:05:16 +0000 Message-Id: <20201127120718.454037-41-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201127120718.454037-1-matthew.auld@intel.com> References: <20201127120718.454037-1-matthew.auld@intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org, =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KCnBpbl9tYXAgbmVlZHMgdGhlIHd3IGxvY2ssIHNvIGVuc3VyZSB3ZSBwaW4gYm90aCBiZWZv cmUgc3VibWlzc2lvbi4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVu Lmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkNjOiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFz LmhlbGxzdHJvbUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX29iamVjdC5oICAgIHwgIDMgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3BhZ2VzLmMgICAgIHwgMTIgKysrCiAuLi4vZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0 X3dvcmthcm91bmRzLmMgICAgfCA3NiArKysrKysrKysrKystLS0tLS0tCiAzIGZpbGVzIGNoYW5n ZWQsIDY0IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAppbmRleCA5YTgxYTgwY2E4NDkuLmRhN2ZkMzAxZmM4 ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaApAQCAtNDEy LDYgKzQxMiw5IEBAIGVudW0gaTkxNV9tYXBfdHlwZSB7CiB2b2lkICpfX211c3RfY2hlY2sgaTkx NV9nZW1fb2JqZWN0X3Bpbl9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJ CQkJICAgZW51bSBpOTE1X21hcF90eXBlIHR5cGUpOwogCit2b2lkICpfX211c3RfY2hlY2sgaTkx NV9nZW1fb2JqZWN0X3Bpbl9tYXBfdW5sb2NrZWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKKwkJCQkJCSAgICBlbnVtIGk5MTVfbWFwX3R5cGUgdHlwZSk7CisKIHZvaWQgX19pOTE1 X2dlbV9vYmplY3RfZmx1c2hfbWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJ CQkJIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAogCQkJCSB1bnNpZ25lZCBsb25nIHNpemUpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYwppbmRleCA1YmNkMjFhOGZjNGUu LmIwM2U1ODEwNjUxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2Vz LmMKQEAgLTM5Nyw2ICszOTcsMTggQEAgdm9pZCAqaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlnb3RvIG91dF91bmxvY2s7CiB9CiAKK3Zv aWQgKmk5MTVfZ2VtX29iamVjdF9waW5fbWFwX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCisJCQkJICAgICAgIGVudW0gaTkxNV9tYXBfdHlwZSB0eXBlKQoreworCXZv aWQgKnJldDsKKworCWk5MTVfZ2VtX29iamVjdF9sb2NrKG9iaiwgTlVMTCk7CisJcmV0ID0gaTkx NV9nZW1fb2JqZWN0X3Bpbl9tYXAob2JqLCB0eXBlKTsKKwlpOTE1X2dlbV9vYmplY3RfdW5sb2Nr KG9iaik7CisKKwlyZXR1cm4gcmV0OworfQorCiB2b2lkIF9faTkxNV9nZW1fb2JqZWN0X2ZsdXNo X21hcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSB1bnNpZ25lZCBsb25n IG9mZnNldCwKIAkJCQkgdW5zaWduZWQgbG9uZyBzaXplKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMKaW5kZXggODEwYWIwMjZhNTVlLi42OWRhMjE0 N2VkM2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3dvcmth cm91bmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3Vu ZHMuYwpAQCAtMTExLDcgKzExMSw3IEBAIHJlYWRfbm9ucHJpdnMoc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgKmN0eCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCiAJaTkxNV9nZW1f b2JqZWN0X3NldF9jYWNoZV9jb2hlcmVuY3kocmVzdWx0LCBJOTE1X0NBQ0hFX0xMQyk7CiAKLQlj cyA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHJlc3VsdCwgSTkxNV9NQVBfV0IpOworCWNzID0g aTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXBfdW5sb2NrZWQocmVzdWx0LCBJOTE1X01BUF9XQik7CiAJ aWYgKElTX0VSUihjcykpIHsKIAkJZXJyID0gUFRSX0VSUihjcyk7CiAJCWdvdG8gZXJyX29iajsK QEAgLTIxNyw3ICsyMTcsNyBAQCBzdGF0aWMgaW50IGNoZWNrX3doaXRlbGlzdChzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCAqY3R4LAogCWk5MTVfZ2VtX29iamVjdF9sb2NrKHJlc3VsdHMsIE5VTEwp OwogCWludGVsX3dlZGdlX29uX3RpbWVvdXQoJndlZGdlLCBlbmdpbmUtPmd0LCBIWiAvIDUpIC8q IHNhZmV0eSBuZXQhICovCiAJCWVyciA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fY3B1X2RvbWFp bihyZXN1bHRzLCBmYWxzZSk7Ci0JaTkxNV9nZW1fb2JqZWN0X3VubG9jayhyZXN1bHRzKTsKKwog CWlmIChpbnRlbF9ndF9pc193ZWRnZWQoZW5naW5lLT5ndCkpCiAJCWVyciA9IC1FSU87CiAJaWYg KGVycikKQEAgLTI0NSw2ICsyNDUsNyBAQCBzdGF0aWMgaW50IGNoZWNrX3doaXRlbGlzdChzdHJ1 Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChy ZXN1bHRzKTsKIG91dF9wdXQ6CisJaTkxNV9nZW1fb2JqZWN0X3VubG9jayhyZXN1bHRzKTsKIAlp OTE1X2dlbV9vYmplY3RfcHV0KHJlc3VsdHMpOwogCXJldHVybiBlcnI7CiB9CkBAIC01MjAsNiAr NTIxLDcgQEAgc3RhdGljIGludCBjaGVja19kaXJ0eV93aGl0ZWxpc3Qoc3RydWN0IGludGVsX2Nv bnRleHQgKmNlKQogCiAJZm9yIChpID0gMDsgaSA8IGVuZ2luZS0+d2hpdGVsaXN0LmNvdW50OyBp KyspIHsKIAkJdTMyIHJlZyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KGVuZ2luZS0+d2hpdGVsaXN0 Lmxpc3RbaV0ucmVnKTsKKwkJc3RydWN0IGk5MTVfZ2VtX3d3X2N0eCB3dzsKIAkJdTY0IGFkZHIg PSBzY3JhdGNoLT5ub2RlLnN0YXJ0OwogCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAkJdTMy IHNybSwgbHJtLCByc3ZkOwpAQCAtNTM1LDYgKzUzNywyOSBAQCBzdGF0aWMgaW50IGNoZWNrX2Rp cnR5X3doaXRlbGlzdChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCiAKIAkJcm9fcmVnID0gcm9f cmVnaXN0ZXIocmVnKTsKIAorCQlpOTE1X2dlbV93d19jdHhfaW5pdCgmd3csIGZhbHNlKTsKK3Jl dHJ5OgorCQljcyA9IE5VTEw7CisJCWVyciA9IGk5MTVfZ2VtX29iamVjdF9sb2NrKHNjcmF0Y2gt Pm9iaiwgJnd3KTsKKwkJaWYgKCFlcnIpCisJCQllcnIgPSBpOTE1X2dlbV9vYmplY3RfbG9jayhi YXRjaC0+b2JqLCAmd3cpOworCQlpZiAoIWVycikKKwkJCWVyciA9IGludGVsX2NvbnRleHRfcGlu X3d3KGNlLCAmd3cpOworCQlpZiAoZXJyKQorCQkJZ290byBvdXQ7CisKKwkJY3MgPSBpOTE1X2dl bV9vYmplY3RfcGluX21hcChiYXRjaC0+b2JqLCBJOTE1X01BUF9XQyk7CisJCWlmIChJU19FUlIo Y3MpKSB7CisJCQllcnIgPSBQVFJfRVJSKGNzKTsKKwkJCWdvdG8gb3V0X2N0eDsKKwkJfQorCisJ CXJlc3VsdHMgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChzY3JhdGNoLT5vYmosIEk5MTVfTUFQ X1dCKTsKKwkJaWYgKElTX0VSUihyZXN1bHRzKSkgeworCQkJZXJyID0gUFRSX0VSUihyZXN1bHRz KTsKKwkJCWdvdG8gb3V0X3VubWFwX2JhdGNoOworCQl9CisKIAkJLyogQ2xlYXIgbm9uIHByaXYg ZmxhZ3MgKi8KIAkJcmVnICY9IFJJTkdfRk9SQ0VfVE9fTk9OUFJJVl9BRERSRVNTX01BU0s7CiAK QEAgLTU0NiwxMiArNTcxLDYgQEAgc3RhdGljIGludCBjaGVja19kaXJ0eV93aGl0ZWxpc3Qoc3Ry dWN0IGludGVsX2NvbnRleHQgKmNlKQogCQlwcl9kZWJ1ZygiJXM6IFdyaXRpbmcgZ2FyYmFnZSB0 byAleFxuIiwKIAkJCSBlbmdpbmUtPm5hbWUsIHJlZyk7CiAKLQkJY3MgPSBpOTE1X2dlbV9vYmpl Y3RfcGluX21hcChiYXRjaC0+b2JqLCBJOTE1X01BUF9XQyk7Ci0JCWlmIChJU19FUlIoY3MpKSB7 Ci0JCQllcnIgPSBQVFJfRVJSKGNzKTsKLQkJCWdvdG8gb3V0X2JhdGNoOwotCQl9Ci0KIAkJLyog U1JNIG9yaWdpbmFsICovCiAJCSpjcysrID0gc3JtOwogCQkqY3MrKyA9IHJlZzsKQEAgLTU5OCwx MSArNjE3LDEyIEBAIHN0YXRpYyBpbnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjZSkKIAkJaTkxNV9nZW1fb2JqZWN0X2ZsdXNoX21hcChiYXRjaC0+b2JqKTsK IAkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChiYXRjaC0+b2JqKTsKIAkJaW50ZWxfZ3RfY2hp cHNldF9mbHVzaChlbmdpbmUtPmd0KTsKKwkJY3MgPSBOVUxMOwogCi0JCXJxID0gaW50ZWxfY29u dGV4dF9jcmVhdGVfcmVxdWVzdChjZSk7CisJCXJxID0gaTkxNV9yZXF1ZXN0X2NyZWF0ZShjZSk7 CiAJCWlmIChJU19FUlIocnEpKSB7CiAJCQllcnIgPSBQVFJfRVJSKHJxKTsKLQkJCWdvdG8gb3V0 X2JhdGNoOworCQkJZ290byBvdXRfdW5tYXBfc2NyYXRjaDsKIAkJfQogCiAJCWlmIChlbmdpbmUt PmVtaXRfaW5pdF9icmVhZGNydW1iKSB7IC8qIEJlIG5pY2UgaWYgd2UgaGFuZyAqLwpAQCAtNjEx LDIwICs2MzEsMTYgQEAgc3RhdGljIGludCBjaGVja19kaXJ0eV93aGl0ZWxpc3Qoc3RydWN0IGlu dGVsX2NvbnRleHQgKmNlKQogCQkJCWdvdG8gZXJyX3JlcXVlc3Q7CiAJCX0KIAotCQlpOTE1X3Zt YV9sb2NrKGJhdGNoKTsKIAkJZXJyID0gaTkxNV9yZXF1ZXN0X2F3YWl0X29iamVjdChycSwgYmF0 Y2gtPm9iaiwgZmFsc2UpOwogCQlpZiAoZXJyID09IDApCiAJCQllcnIgPSBpOTE1X3ZtYV9tb3Zl X3RvX2FjdGl2ZShiYXRjaCwgcnEsIDApOwotCQlpOTE1X3ZtYV91bmxvY2soYmF0Y2gpOwogCQlp ZiAoZXJyKQogCQkJZ290byBlcnJfcmVxdWVzdDsKIAotCQlpOTE1X3ZtYV9sb2NrKHNjcmF0Y2gp OwogCQllcnIgPSBpOTE1X3JlcXVlc3RfYXdhaXRfb2JqZWN0KHJxLCBzY3JhdGNoLT5vYmosIHRy dWUpOwogCQlpZiAoZXJyID09IDApCiAJCQllcnIgPSBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShz Y3JhdGNoLCBycSwKIAkJCQkJCSAgICAgIEVYRUNfT0JKRUNUX1dSSVRFKTsKLQkJaTkxNV92bWFf dW5sb2NrKHNjcmF0Y2gpOwogCQlpZiAoZXJyKQogCQkJZ290byBlcnJfcmVxdWVzdDsKIApAQCAt NjQwLDEzICs2NTYsNyBAQCBzdGF0aWMgaW50IGNoZWNrX2RpcnR5X3doaXRlbGlzdChzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY2UpCiAJCQlwcl9lcnIoIiVzOiBGdXR6aW5nICV4IHRpbWVkb3V0OyBj YW5jZWxsaW5nIHRlc3RcbiIsCiAJCQkgICAgICAgZW5naW5lLT5uYW1lLCByZWcpOwogCQkJaW50 ZWxfZ3Rfc2V0X3dlZGdlZChlbmdpbmUtPmd0KTsKLQkJCWdvdG8gb3V0X2JhdGNoOwotCQl9Ci0K LQkJcmVzdWx0cyA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHNjcmF0Y2gtPm9iaiwgSTkxNV9N QVBfV0IpOwotCQlpZiAoSVNfRVJSKHJlc3VsdHMpKSB7Ci0JCQllcnIgPSBQVFJfRVJSKHJlc3Vs dHMpOwotCQkJZ290byBvdXRfYmF0Y2g7CisJCQlnb3RvIG91dF91bm1hcF9zY3JhdGNoOwogCQl9 CiAKIAkJR0VNX0JVR19PTih2YWx1ZXNbQVJSQVlfU0laRSh2YWx1ZXMpIC0gMV0gIT0gMHhmZmZm ZmZmZik7CkBAIC02NTcsNyArNjY3LDcgQEAgc3RhdGljIGludCBjaGVja19kaXJ0eV93aGl0ZWxp c3Qoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogCQkJCXByX2VycigiJXM6IFVuYWJsZSB0byB3 cml0ZSB0byB3aGl0ZWxpc3RlZCByZWdpc3RlciAleFxuIiwKIAkJCQkgICAgICAgZW5naW5lLT5u YW1lLCByZWcpOwogCQkJCWVyciA9IC1FSU5WQUw7Ci0JCQkJZ290byBvdXRfdW5waW47CisJCQkJ Z290byBvdXRfdW5tYXBfc2NyYXRjaDsKIAkJCX0KIAkJfSBlbHNlIHsKIAkJCXJzdmQgPSAwOwpA QCAtNzIzLDE1ICs3MzMsMjcgQEAgc3RhdGljIGludCBjaGVja19kaXJ0eV93aGl0ZWxpc3Qoc3Ry dWN0IGludGVsX2NvbnRleHQgKmNlKQogCiAJCQllcnIgPSAtRUlOVkFMOwogCQl9Ci1vdXRfdW5w aW46CitvdXRfdW5tYXBfc2NyYXRjaDoKIAkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChzY3Jh dGNoLT5vYmopOworb3V0X3VubWFwX2JhdGNoOgorCQlpZiAoY3MpCisJCQlpOTE1X2dlbV9vYmpl Y3RfdW5waW5fbWFwKGJhdGNoLT5vYmopOworb3V0X2N0eDoKKwkJaW50ZWxfY29udGV4dF91bnBp bihjZSk7CitvdXQ6CisJCWlmIChlcnIgPT0gLUVERUFETEspIHsKKwkJCWVyciA9IGk5MTVfZ2Vt X3d3X2N0eF9iYWNrb2ZmKCZ3dyk7CisJCQlpZiAoIWVycikKKwkJCQlnb3RvIHJldHJ5OworCQl9 CisJCWk5MTVfZ2VtX3d3X2N0eF9maW5pKCZ3dyk7CiAJCWlmIChlcnIpCiAJCQlicmVhazsKIAl9 CiAKIAlpZiAoaWd0X2ZsdXNoX3Rlc3QoZW5naW5lLT5pOTE1KSkKIAkJZXJyID0gLUVJTzsKLW91 dF9iYXRjaDoKKwogCWk5MTVfdm1hX3VucGluX2FuZF9yZWxlYXNlKCZiYXRjaCwgMCk7CiBvdXRf c2NyYXRjaDoKIAlpOTE1X3ZtYV91bnBpbl9hbmRfcmVsZWFzZSgmc2NyYXRjaCwgMCk7CkBAIC04 NjgsNyArODkwLDcgQEAgc3RhdGljIGludCBzY3J1Yl93aGl0ZWxpc3RlZF9yZWdpc3RlcnMoc3Ry dWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKIAlpZiAoSVNfRVJSKGJhdGNoKSkKIAkJcmV0dXJu IFBUUl9FUlIoYmF0Y2gpOwogCi0JY3MgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChiYXRjaC0+ b2JqLCBJOTE1X01BUF9XQyk7CisJY3MgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcF91bmxvY2tl ZChiYXRjaC0+b2JqLCBJOTE1X01BUF9XQyk7CiAJaWYgKElTX0VSUihjcykpIHsKIAkJZXJyID0g UFRSX0VSUihjcyk7CiAJCWdvdG8gZXJyX2JhdGNoOwpAQCAtMTAwMywxMSArMTAyNSwxMSBAQCBj aGVja193aGl0ZWxpc3RlZF9yZWdpc3RlcnMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l LAogCXUzMiAqYSwgKmI7CiAJaW50IGksIGVycjsKIAotCWEgPSBpOTE1X2dlbV9vYmplY3RfcGlu X21hcChBLT5vYmosIEk5MTVfTUFQX1dCKTsKKwlhID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXBf dW5sb2NrZWQoQS0+b2JqLCBJOTE1X01BUF9XQik7CiAJaWYgKElTX0VSUihhKSkKIAkJcmV0dXJu IFBUUl9FUlIoYSk7CiAKLQliID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoQi0+b2JqLCBJOTE1 X01BUF9XQik7CisJYiA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwX3VubG9ja2VkKEItPm9iaiwg STkxNV9NQVBfV0IpOwogCWlmIChJU19FUlIoYikpIHsKIAkJZXJyID0gUFRSX0VSUihiKTsKIAkJ Z290byBlcnJfYTsKLS0gCjIuMjYuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==