From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Kocialkowski Subject: [PATCH i-g-t v2 4/4] chamelium: Dump obtained and reference frames to png on crc error Date: Tue, 4 Jul 2017 16:34:56 +0300 Message-ID: <20170704133456.5225-4-paul.kocialkowski@linux.intel.com> References: <20170704133456.5225-1-paul.kocialkowski@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4CD1C6E319 for ; Tue, 4 Jul 2017 13:35:07 +0000 (UTC) In-Reply-To: <20170704133456.5225-1-paul.kocialkowski@linux.intel.com> 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: Lyude List-Id: intel-gfx@lists.freedesktop.org V2hlbiBhIENSQyBjb21wYXJpc29uIGVycm9yIG9jY3VycywgaXQgaXMgcXVpdGUgdXNlZnVsIHRv IGdldCBhIGR1bXAKb2YgYm90aCB0aGUgZnJhbWUgb2J0YWluZWQgZnJvbSB0aGUgY2hhbWVsaXVt IGFuZCB0aGUgcmVmZXJlbmNlIGluIG9yZGVyCnRvIGNvbXBhcmUgdGhlbS4KClRoaXMgaW1wbGVt ZW50cyB0aGUgZnJhbWUgZHVtcCwgd2l0aCBhIGNvbmZpZ3VyYWJsZSBwYXRoIHRoYXQgZW5hYmxl cwp0aGUgdXNlIG9mIHRoaXMgZmVhdHVyZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgS29jaWFsa293 c2tpIDxwYXVsLmtvY2lhbGtvd3NraUBsaW51eC5pbnRlbC5jb20+Ci0tLQogbGliL2lndF9jaGFt ZWxpdW0uYyB8ICAyMSArKysrKysrKysrKwogbGliL2lndF9jaGFtZWxpdW0uaCB8ICAgMSArCiBs aWIvaWd0X2RlYnVnZnMuYyAgIHwgIDIwICsrKysrKysrKysKIGxpYi9pZ3RfZGVidWdmcy5oICAg fCAgIDEgKwogdGVzdHMvY2hhbWVsaXVtLmMgICB8IDEwNCArKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDgyIGluc2Vy dGlvbnMoKyksIDY1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfY2hhbWVsaXVt LmMgYi9saWIvaWd0X2NoYW1lbGl1bS5jCmluZGV4IGM4NzE5ZjRkLi5hZDRhMjgyNyAxMDA2NDQK LS0tIGEvbGliL2lndF9jaGFtZWxpdW0uYworKysgYi9saWIvaWd0X2NoYW1lbGl1bS5jCkBAIC01 Nyw2ICs1Nyw3IEBACiAgKiB8WzwhLS0gbGFuZ3VhZ2U9InBsYWluIiAtLT4KICAqCVtDaGFtZWxp dW1dCiAgKglVUkw9aHR0cDovL2NoYW1lbGVvbjo5OTkyICMgVGhlIFVSTCB1c2VkIGZvciBjb25u ZWN0aW5nIHRvIHRoZSBDaGFtZWxpdW0ncyBSUEMgc2VydmVyCisgKglGcmFtZUR1bXBQYXRoPS90 bXAgIyBUaGUgcGF0aCB0byBkdW1wIGZyYW1lcyB0aGF0IGZhaWwgY29tcGFyaXNvbiBjaGVja3MK ICAqCiAgKgkjIFRoZSByZXN0IG9mIHRoZSBzZWN0aW9ucyBhcmUgdXNlZCBmb3IgZGVmaW5pbmcg Y29ubmVjdG9yIG1hcHBpbmdzLgogICoJIyBUaGlzIGlzIHJlcXVpcmVkIHNvIGFueSB0ZXN0cyB1 c2luZyB0aGUgQ2hhbWVsaXVtIGtub3cgd2hpY2ggY29ubmVjdG9yCkBAIC0xMTUsMTEgKzExNiwy NiBAQCBzdHJ1Y3QgY2hhbWVsaXVtIHsKIAlzdHJ1Y3QgY2hhbWVsaXVtX2VkaWQgKmVkaWRzOwog CXN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9ydHM7CiAJaW50IHBvcnRfY291bnQ7CisKKwljaGFy ICpmcmFtZV9kdW1wX3BhdGg7CiB9OwogCiBzdGF0aWMgc3RydWN0IGNoYW1lbGl1bSAqY2xlYW51 cF9pbnN0YW5jZTsKIAogLyoqCisgKiBjaGFtZWxpdW1fZ2V0X2ZyYW1lX2R1bXBfcGF0aDoKKyAq IEBjaGFtZWxpdW06IFRoZSBDaGFtZWxpdW0gaW5zdGFuY2UgdG8gdXNlCisgKgorICogUmV0cmll dmVzIHRoZSBwYXRoIHRvIGR1bXAgZnJhbWVzIHRvLgorICoKKyAqIFJldHVybnM6IGEgc3RyaW5n IHdpdGggdGhlIGZyYW1lIGR1bXAgcGF0aAorICovCitjaGFyICpjaGFtZWxpdW1fZ2V0X2ZyYW1l X2R1bXBfcGF0aChzdHJ1Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0pCit7CisJcmV0dXJuIGNoYW1l bGl1bS0+ZnJhbWVfZHVtcF9wYXRoOworfQorCisvKioKICAqIGNoYW1lbGl1bV9nZXRfcG9ydHM6 CiAgKiBAY2hhbWVsaXVtOiBUaGUgQ2hhbWVsaXVtIGluc3RhbmNlIHRvIHVzZQogICogQGNvdW50 OiBXaGVyZSB0byBzdG9yZSB0aGUgbnVtYmVyIG9mIHBvcnRzCkBAIC0xMzMwLDYgKzEzNDYsMTEg QEAgc3RhdGljIGJvb2wgY2hhbWVsaXVtX3JlYWRfY29uZmlnKHN0cnVjdCBjaGFtZWxpdW0gKmNo YW1lbGl1bSwgaW50IGRybV9mZCkKIAkJcmV0dXJuIGZhbHNlOwogCX0KIAorCWNoYW1lbGl1bS0+ ZnJhbWVfZHVtcF9wYXRoID0gZ19rZXlfZmlsZV9nZXRfc3RyaW5nKGlndF9rZXlfZmlsZSwKKwkJ CQkJCQkgICAiQ2hhbWVsaXVtIiwKKwkJCQkJCQkgICAiRnJhbWVEdW1wUGF0aCIsCisJCQkJCQkJ ICAgICZlcnJvcik7CisKIAlyZXR1cm4gY2hhbWVsaXVtX3JlYWRfcG9ydF9tYXBwaW5ncyhjaGFt ZWxpdW0sIGRybV9mZCk7CiB9CiAKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfY2hhbWVsaXVtLmggYi9s aWIvaWd0X2NoYW1lbGl1bS5oCmluZGV4IDkwOGUwM2QxLi5hYTg4MTk3MSAxMDA2NDQKLS0tIGEv bGliL2lndF9jaGFtZWxpdW0uaAorKysgYi9saWIvaWd0X2NoYW1lbGl1bS5oCkBAIC00Miw2ICs0 Miw3IEBAIHN0cnVjdCBjaGFtZWxpdW0gKmNoYW1lbGl1bV9pbml0KGludCBkcm1fZmQpOwogdm9p ZCBjaGFtZWxpdW1fZGVpbml0KHN0cnVjdCBjaGFtZWxpdW0gKmNoYW1lbGl1bSk7CiB2b2lkIGNo YW1lbGl1bV9yZXNldChzdHJ1Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0pOwogCitjaGFyICpjaGFt ZWxpdW1fZ2V0X2ZyYW1lX2R1bXBfcGF0aChzdHJ1Y3QgY2hhbWVsaXVtICpjaGFtZWxpdW0pOwog c3RydWN0IGNoYW1lbGl1bV9wb3J0ICoqY2hhbWVsaXVtX2dldF9wb3J0cyhzdHJ1Y3QgY2hhbWVs aXVtICpjaGFtZWxpdW0sCiAJCQkJCSAgICBpbnQgKmNvdW50KTsKIHVuc2lnbmVkIGludCBjaGFt ZWxpdW1fcG9ydF9nZXRfdHlwZShjb25zdCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQpOwpk aWZmIC0tZ2l0IGEvbGliL2lndF9kZWJ1Z2ZzLmMgYi9saWIvaWd0X2RlYnVnZnMuYwppbmRleCA4 MGYyNWM2MS4uZGNiNGUwYTcgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZGVidWdmcy5jCisrKyBiL2xp Yi9pZ3RfZGVidWdmcy5jCkBAIC0yODIsNiArMjgyLDI2IEBAIGJvb2wgaWd0X2RlYnVnZnNfc2Vh cmNoKGludCBkZXZpY2UsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICpzdWJzdHJp bmcpCiAgKi8KIAogLyoqCisgKiBpZ3RfY2hlY2tfY3JjX2VxdWFsOgorICogQGE6IGZpcnN0IHBp cGUgQ1JDIHZhbHVlCisgKiBAYjogc2Vjb25kIHBpcGUgQ1JDIHZhbHVlCisgKgorICogQ29tcGFy ZXMgdHdvIENSQyB2YWx1ZXMgYW5kIHJldHVybiB3aGV0aGVyIHRoZXkgbWF0Y2guCisgKgorICog UmV0dXJuczogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgQ1JDIHZhbHVlcyBtYXRj aAorICovCitib29sIGlndF9jaGVja19jcmNfZXF1YWwoY29uc3QgaWd0X2NyY190ICphLCBjb25z dCBpZ3RfY3JjX3QgKmIpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgYS0+bl93b3Jk czsgaSsrKQorCQlpZiAoYS0+Y3JjW2ldICE9IGItPmNyY1tpXSkKKwkJCXJldHVybiBmYWxzZTsK KworCXJldHVybiB0cnVlOworfQorCisvKioKICAqIGlndF9hc3NlcnRfY3JjX2VxdWFsOgogICog QGE6IGZpcnN0IHBpcGUgQ1JDIHZhbHVlCiAgKiBAYjogc2Vjb25kIHBpcGUgQ1JDIHZhbHVlCmRp ZmYgLS1naXQgYS9saWIvaWd0X2RlYnVnZnMuaCBiL2xpYi9pZ3RfZGVidWdmcy5oCmluZGV4IDdi ODQ2YTgzLi4yNjk1Y2JkYSAxMDA2NDQKLS0tIGEvbGliL2lndF9kZWJ1Z2ZzLmgKKysrIGIvbGli L2lndF9kZWJ1Z2ZzLmgKQEAgLTExMyw2ICsxMTMsNyBAQCBlbnVtIGludGVsX3BpcGVfY3JjX3Nv dXJjZSB7CiAgICAgICAgIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9NQVgsCiB9OwogCitib29sIGln dF9jaGVja19jcmNfZXF1YWwoY29uc3QgaWd0X2NyY190ICphLCBjb25zdCBpZ3RfY3JjX3QgKmIp Owogdm9pZCBpZ3RfYXNzZXJ0X2NyY19lcXVhbChjb25zdCBpZ3RfY3JjX3QgKmEsIGNvbnN0IGln dF9jcmNfdCAqYik7CiBjaGFyICppZ3RfY3JjX3RvX3N0cmluZyhpZ3RfY3JjX3QgKmNyYyk7CiAK ZGlmZiAtLWdpdCBhL3Rlc3RzL2NoYW1lbGl1bS5jIGIvdGVzdHMvY2hhbWVsaXVtLmMKaW5kZXgg NWNmOGIzYWYuLjNkOTVjMDVjIDEwMDY0NAotLS0gYS90ZXN0cy9jaGFtZWxpdW0uYworKysgYi90 ZXN0cy9jaGFtZWxpdW0uYwpAQCAtMzgxLDcgKzM4MSw3IEBAIGRpc2FibGVfb3V0cHV0KGRhdGFf dCAqZGF0YSwKIH0KIAogc3RhdGljIHZvaWQKLXRlc3RfZGlzcGxheV9jcmNfc2luZ2xlKGRhdGFf dCAqZGF0YSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpwb3J0KQordGVzdF9kaXNwbGF5X2NyYyhk YXRhX3QgKmRhdGEsIHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9ydCwgaW50IGNvdW50KQogewog CWlndF9kaXNwbGF5X3QgZGlzcGxheTsKIAlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKQEAgLTM5MCw5 ICszOTAsMTQgQEAgdGVzdF9kaXNwbGF5X2NyY19zaW5nbGUoZGF0YV90ICpkYXRhLCBzdHJ1Y3Qg Y2hhbWVsaXVtX3BvcnQgKnBvcnQpCiAJaWd0X2NyY190ICpleHBlY3RlZF9jcmM7CiAJc3RydWN0 IGNoYW1lbGl1bV9mYl9jcmMgKmZiX2NyYzsKIAlzdHJ1Y3QgaWd0X2ZiIGZiOworCXN0cnVjdCBj aGFtZWxpdW1fZnJhbWVfZHVtcCAqZnJhbWU7CiAJZHJtTW9kZU1vZGVJbmZvICptb2RlOwogCWRy bU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvcjsKLQlpbnQgZmJfaWQsIGk7CisJaW50IGZiX2lkLCBp LCBqLCBjYXB0dXJlZF9mcmFtZV9jb3VudDsKKwljb25zdCBjaGFyICpjb25uZWN0b3JfbmFtZTsK KwljaGFyICpmcmFtZV9kdW1wX3BhdGg7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwlib29sIGVx OwogCiAJcmVzZXRfc3RhdGUoZGF0YSwgcG9ydCk7CiAKQEAgLTQwMSw2ICs0MDYsOSBAQCB0ZXN0 X2Rpc3BsYXlfY3JjX3NpbmdsZShkYXRhX3QgKmRhdGEsIHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAq cG9ydCkKIAlwcmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShvdXRwdXQsIERSTV9Q TEFORV9UWVBFX1BSSU1BUlkpOwogCWlndF9hc3NlcnQocHJpbWFyeSk7CiAKKwljb25uZWN0b3Jf bmFtZSA9IGttc3Rlc3RfY29ubmVjdG9yX3R5cGVfc3RyKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5 cGUpOworCWZyYW1lX2R1bXBfcGF0aCA9IGNoYW1lbGl1bV9nZXRfZnJhbWVfZHVtcF9wYXRoKGRh dGEtPmNoYW1lbGl1bSk7CisKIAlmb3IgKGkgPSAwOyBpIDwgY29ubmVjdG9yLT5jb3VudF9tb2Rl czsgaSsrKSB7CiAJCW1vZGUgPSAmY29ubmVjdG9yLT5tb2Rlc1tpXTsKIAkJZmJfaWQgPSBpZ3Rf Y3JlYXRlX2NvbG9yX3BhdHRlcm5fZmIoZGF0YS0+ZHJtX2ZkLApAQCAtNDE1LDc0ICs0MjMsNDAg QEAgdGVzdF9kaXNwbGF5X2NyY19zaW5nbGUoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVt X3BvcnQgKnBvcnQpCiAKIAkJZW5hYmxlX291dHB1dChkYXRhLCBwb3J0LCBvdXRwdXQsIG1vZGUs ICZmYik7CiAKLQkJaWd0X2RlYnVnKCJUZXN0aW5nIHNpbmdsZSBDUkMgZmV0Y2hcbiIpOwotCi0J CWNyYyA9IGNoYW1lbGl1bV9nZXRfY3JjX2Zvcl9hcmVhKGRhdGEtPmNoYW1lbGl1bSwgcG9ydCwK LQkJCQkJCSAwLCAwLCAwLCAwKTsKLQotCQlleHBlY3RlZF9jcmMgPSBjaGFtZWxpdW1fY2FsY3Vs YXRlX2ZiX2NyY19yZXN1bHQoZmJfY3JjKTsKLQotCQlpZ3RfYXNzZXJ0X2NyY19lcXVhbChjcmMs IGV4cGVjdGVkX2NyYyk7Ci0JCWZyZWUoZXhwZWN0ZWRfY3JjKTsKLQkJZnJlZShjcmMpOwotCi0J CWRpc2FibGVfb3V0cHV0KGRhdGEsIHBvcnQsIG91dHB1dCk7Ci0JCWlndF9yZW1vdmVfZmIoZGF0 YS0+ZHJtX2ZkLCAmZmIpOwotCX0KLQotCWRybU1vZGVGcmVlQ29ubmVjdG9yKGNvbm5lY3Rvcik7 Ci0JaWd0X2Rpc3BsYXlfZmluaSgmZGlzcGxheSk7Ci19Ci0KLXN0YXRpYyB2b2lkCi10ZXN0X2Rp c3BsYXlfY3JjX211bHRpcGxlKGRhdGFfdCAqZGF0YSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpw b3J0KQotewotCWlndF9kaXNwbGF5X3QgZGlzcGxheTsKLQlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsK LQlpZ3RfcGxhbmVfdCAqcHJpbWFyeTsKLQlpZ3RfY3JjX3QgKmNyYzsKLQlpZ3RfY3JjX3QgKmV4 cGVjdGVkX2NyYzsKLQlzdHJ1Y3QgY2hhbWVsaXVtX2ZiX2NyYyAqZmJfY3JjOwotCXN0cnVjdCBp Z3RfZmIgZmI7Ci0JZHJtTW9kZU1vZGVJbmZvICptb2RlOwotCWRybU1vZGVDb25uZWN0b3IgKmNv bm5lY3RvcjsKLQlpbnQgZmJfaWQsIGksIGosIGNhcHR1cmVkX2ZyYW1lX2NvdW50OworCQljaGFt ZWxpdW1fY2FwdHVyZShkYXRhLT5jaGFtZWxpdW0sIHBvcnQsIDAsIDAsIDAsIDAsIGNvdW50KTsK KwkJY3JjID0gY2hhbWVsaXVtX3JlYWRfY2FwdHVyZWRfY3JjcyhkYXRhLT5jaGFtZWxpdW0sCisJ CQkJCQkgICAmY2FwdHVyZWRfZnJhbWVfY291bnQpOwogCi0JcmVzZXRfc3RhdGUoZGF0YSwgcG9y dCk7CisJCWlndF9hc3NlcnQoY2FwdHVyZWRfZnJhbWVfY291bnQgPT0gY291bnQpOwogCi0Jb3V0 cHV0ID0gcHJlcGFyZV9vdXRwdXQoZGF0YSwgJmRpc3BsYXksIHBvcnQpOwotCWNvbm5lY3RvciA9 IGNoYW1lbGl1bV9wb3J0X2dldF9jb25uZWN0b3IoZGF0YS0+Y2hhbWVsaXVtLCBwb3J0LCBmYWxz ZSk7Ci0JcHJpbWFyeSA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUob3V0cHV0LCBEUk1fUExB TkVfVFlQRV9QUklNQVJZKTsKLQlpZ3RfYXNzZXJ0KHByaW1hcnkpOworCQlpZ3RfZGVidWcoIkNh cHR1cmVkICVkIGZyYW1lc1xuIiwgY2FwdHVyZWRfZnJhbWVfY291bnQpOwogCi0JZm9yIChpID0g MDsgaSA8IGNvbm5lY3Rvci0+Y291bnRfbW9kZXM7IGkrKykgewotCQltb2RlID0gJmNvbm5lY3Rv ci0+bW9kZXNbaV07Ci0JCWZiX2lkID0gaWd0X2NyZWF0ZV9jb2xvcl9wYXR0ZXJuX2ZiKGRhdGEt PmRybV9mZCwKLQkJCQkJCSAgICBtb2RlLT5oZGlzcGxheSwKLQkJCQkJCSAgICBtb2RlLT52ZGlz cGxheSwKLQkJCQkJCSAgICBEUk1fRk9STUFUX1hSR0I4ODg4LAotCQkJCQkJICAgIExPQ0FMX0RS TV9GT1JNQVRfTU9EX05PTkUsCi0JCQkJCQkgICAgMCwgMCwgMCwgJmZiKTsKLQkJaWd0X2Fzc2Vy dChmYl9pZCA+IDApOworCQlleHBlY3RlZF9jcmMgPSBjaGFtZWxpdW1fY2FsY3VsYXRlX2ZiX2Ny Y19yZXN1bHQoZmJfY3JjKTsKIAotCQlmYl9jcmMgPSBjaGFtZWxpdW1fY2FsY3VsYXRlX2ZiX2Ny Y19sYXVuY2goZGF0YS0+ZHJtX2ZkLCAmZmIpOworCQlmb3IgKGogPSAwOyBqIDwgY2FwdHVyZWRf ZnJhbWVfY291bnQ7IGorKykgeworCQkJZXEgPSBpZ3RfY2hlY2tfY3JjX2VxdWFsKCZjcmNbal0s IGV4cGVjdGVkX2NyYyk7CisJCQlpZiAoIWVxICYmIGZyYW1lX2R1bXBfcGF0aCkgeworCQkJCWZy YW1lID0gY2hhbWVsaXVtX3JlYWRfY2FwdHVyZWRfZnJhbWUoZGF0YS0+Y2hhbWVsaXVtLAorCQkJ CQkJCQkgICAgICBqKTsKIAotCQllbmFibGVfb3V0cHV0KGRhdGEsIHBvcnQsIG91dHB1dCwgbW9k ZSwgJmZiKTsKKwkJCQlpZ3RfZGVidWcoIkR1bXBpbmcgcmVmZXJlbmNlIGFuZCBjaGFtZWxpdW0g ZnJhbWVzIHRvICVzLi4uXG4iLAorCQkJCQkgIGZyYW1lX2R1bXBfcGF0aCk7CiAKLQkJLyogV2Ug d2FudCB0byBrZWVwIHRoZSBkaXNwbGF5IHJ1bm5pbmcgZm9yIGEgbGl0dGxlIGJpdCwgc2luY2UK LQkJICogdGhlcmUncyBhbHdheXMgdGhlIHBvdGVudGlhbCB0aGUgZHJpdmVyIGlzbid0IGFibGUg dG8ga2VlcAotCQkgKiB0aGUgZGlzcGxheSBydW5uaW5nIHByb3Blcmx5IGZvciB2ZXJ5IGxvbmcK LQkJICovCi0JCWNoYW1lbGl1bV9jYXB0dXJlKGRhdGEtPmNoYW1lbGl1bSwgcG9ydCwgMCwgMCwg MCwgMCwgMyk7Ci0JCWNyYyA9IGNoYW1lbGl1bV9yZWFkX2NhcHR1cmVkX2NyY3MoZGF0YS0+Y2hh bWVsaXVtLAotCQkJCQkJICAgJmNhcHR1cmVkX2ZyYW1lX2NvdW50KTsKKwkJCQlzbnByaW50Zihw YXRoLCBQQVRIX01BWCwgIiVzL2ZyYW1lLXJlZmVyZW5jZS0lcy5wbmciLAorCQkJCQkgZnJhbWVf ZHVtcF9wYXRoLCBjb25uZWN0b3JfbmFtZSk7CisJCQkJaWd0X3dyaXRlX2ZiX3RvX3BuZyhkYXRh LT5kcm1fZmQsICZmYiwgcGF0aCk7CiAKLQkJaWd0X2RlYnVnKCJDYXB0dXJlZCAlZCBmcmFtZXNc biIsIGNhcHR1cmVkX2ZyYW1lX2NvdW50KTsKKwkJCQlzbnByaW50ZihwYXRoLCBQQVRIX01BWCwg IiVzL2ZyYW1lLWNoYW1lbGl1bS0lcy5wbmciLAorCQkJCQkgZnJhbWVfZHVtcF9wYXRoLCBjb25u ZWN0b3JfbmFtZSk7CisJCQkJY2hhbWVsaXVtX3dyaXRlX2ZyYW1lX3RvX3BuZyhkYXRhLT5jaGFt ZWxpdW0sCisJCQkJCQkJICAgICBmcmFtZSwgcGF0aCk7CiAKLQkJZXhwZWN0ZWRfY3JjID0gY2hh bWVsaXVtX2NhbGN1bGF0ZV9mYl9jcmNfcmVzdWx0KGZiX2NyYyk7CisJCQkJY2hhbWVsaXVtX2Rl c3Ryb3lfZnJhbWVfZHVtcChmcmFtZSk7CisJCQl9CiAKLQkJZm9yIChqID0gMDsgaiA8IGNhcHR1 cmVkX2ZyYW1lX2NvdW50OyBqKyspCi0JCQlpZ3RfYXNzZXJ0X2NyY19lcXVhbCgmY3JjW2pdLCBl eHBlY3RlZF9jcmMpOworCQkJaWd0X2ZhaWxfb25fZighZXEsCisJCQkJICAgICAgIkNoYW1lbGl1 bSBmcmFtZSBDUkMgbWlzbWF0Y2ggd2l0aCByZWZlcmVuY2VcbiIpOworCQl9CiAKIAkJZnJlZShl eHBlY3RlZF9jcmMpOwogCQlmcmVlKGNyYyk7CkBAIC02NDQsMTAgKzYxOCwxMCBAQCBpZ3RfbWFp bgogCQkJCQkJCWVkaWRfaWQsIGFsdF9lZGlkX2lkKTsKIAogCQljb25uZWN0b3Jfc3VidGVzdCgi ZHAtY3JjLXNpbmdsZSIsIERpc3BsYXlQb3J0KQotCQkJdGVzdF9kaXNwbGF5X2NyY19zaW5nbGUo JmRhdGEsIHBvcnQpOworCQkJdGVzdF9kaXNwbGF5X2NyYygmZGF0YSwgcG9ydCwgMSk7CiAKIAkJ Y29ubmVjdG9yX3N1YnRlc3QoImRwLWNyYy1tdWx0aXBsZSIsIERpc3BsYXlQb3J0KQotCQkJdGVz dF9kaXNwbGF5X2NyY19tdWx0aXBsZSgmZGF0YSwgcG9ydCk7CisJCQl0ZXN0X2Rpc3BsYXlfY3Jj KCZkYXRhLCBwb3J0LCAzKTsKIAl9CiAKIAlpZ3Rfc3VidGVzdF9ncm91cCB7CkBAIC02OTgsMTAg KzY3MiwxMCBAQCBpZ3RfbWFpbgogCQkJCQkJCWVkaWRfaWQsIGFsdF9lZGlkX2lkKTsKIAogCQlj b25uZWN0b3Jfc3VidGVzdCgiaGRtaS1jcmMtc2luZ2xlIiwgSERNSUEpCi0JCQl0ZXN0X2Rpc3Bs YXlfY3JjX3NpbmdsZSgmZGF0YSwgcG9ydCk7CisJCQl0ZXN0X2Rpc3BsYXlfY3JjKCZkYXRhLCBw b3J0LCAxKTsKIAogCQljb25uZWN0b3Jfc3VidGVzdCgiaGRtaS1jcmMtbXVsdGlwbGUiLCBIRE1J QSkKLQkJCXRlc3RfZGlzcGxheV9jcmNfbXVsdGlwbGUoJmRhdGEsIHBvcnQpOworCQkJdGVzdF9k aXNwbGF5X2NyYygmZGF0YSwgcG9ydCwgMyk7CiAJfQogCiAJaWd0X3N1YnRlc3RfZ3JvdXAgewot LSAKMi4xMy4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK