From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH i-g-t v2 12/14] tests/kms_color: Rework tests slightly to work better with new atomic api Date: Thu, 12 Oct 2017 13:54:33 +0200 Message-ID: <20171012115435.18880-13-maarten.lankhorst@linux.intel.com> References: <20171012115435.18880-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id A307C6E80F for ; Thu, 12 Oct 2017 11:54:42 +0000 (UTC) In-Reply-To: <20171012115435.18880-1-maarten.lankhorst@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 List-Id: intel-gfx@lists.freedesktop.org aWd0X3BpcGVfZ2V0X3Byb3BlcnR5IGlzIGFib3V0IHRvIGJlIHJlbW92ZWQsIHNvIHVzZQppZ3Rf cGlwZV9vYmpfZ2V0X3Byb3AgaW5zdGVhZC4gVGhpcyByZXF1aXJlcyBhZGRpbmcgMiBtb3JlIHBy b3BlcnRpZXMKdG8gdGhlIGNydGMgcHJvcGVydHkgbGlzdC4gQWxzbyBnZXQgcmlkIG9mIHRoZSBC cm9hZGNhc3QgUkdCIGNhbGwsCnRoaXMgaXMgYWxyZWFkeSBoYW5kbGVkIGluIGlndF9rbXMuCgpD aGFuZ2Ugb3JkZXIgZm9yIERFR0FNTUFfTFVUIGFuZCBHQU1NQV9MVVQgYXJvdW5kLCBlbHNlIHRo aXMgdGVzdCB3aWxsCmZhaWwgaWYgbGVnYWN5IGdhbW1hIGlzIHNldC4gSW4gdGhlIGxlZ2FjeSBw YXRoLCB0aGlzIHdpbGwgdXBkYXRlCkdBTU1BX0xVVCB0byB0aGUgbmV3IHNpemUgYmVmb3JlIERF R0FNTUFfTFVUIGlzIHNldC4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogbGliL2lndF9rbXMuYyAgICAgfCAg IDQgKy0KIGxpYi9pZ3Rfa21zLmggICAgIHwgICA0ICstCiB0ZXN0cy9rbXNfY29sb3IuYyB8IDIx NyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDMgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgMTQyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmMgYi9saWIvaWd0X2ttcy5jCmluZGV4IDljZjRiNjhmNDE5 MS4uY2IyYmMyYjhkZjk4IDEwMDY0NAotLS0gYS9saWIvaWd0X2ttcy5jCisrKyBiL2xpYi9pZ3Rf a21zLmMKQEAgLTE3Nyw4ICsxNzcsMTAgQEAgY29uc3QgY2hhciAqaWd0X3BsYW5lX3Byb3BfbmFt ZXNbSUdUX05VTV9QTEFORV9QUk9QU10gPSB7CiBjb25zdCBjaGFyICppZ3RfY3J0Y19wcm9wX25h bWVzW0lHVF9OVU1fQ1JUQ19QUk9QU10gPSB7CiAJImJhY2tncm91bmRfY29sb3IiLAogCSJDVE0i LAotCSJERUdBTU1BX0xVVCIsCiAJIkdBTU1BX0xVVCIsCisJIkdBTU1BX0xVVF9TSVpFIiwKKwki REVHQU1NQV9MVVQiLAorCSJERUdBTU1BX0xVVF9TSVpFIiwKIAkiTU9ERV9JRCIsCiAJIkFDVElW RSIsCiAJIk9VVF9GRU5DRV9QVFIiCmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5oIGIvbGliL2ln dF9rbXMuaAppbmRleCBlNzIyZjBiZTM3NTcuLjIwMGYzNWU2MzMwOCAxMDA2NDQKLS0tIGEvbGli L2lndF9rbXMuaAorKysgYi9saWIvaWd0X2ttcy5oCkBAIC05NSw4ICs5NSwxMCBAQCB2b2lkIGtt c3Rlc3RfcmVzdG9yZV92dF9tb2RlKHZvaWQpOwogZW51bSBpZ3RfYXRvbWljX2NydGNfcHJvcGVy dGllcyB7CiAgICAgICAgSUdUX0NSVENfQkFDS0dST1VORCA9IDAsCiAgICAgICAgSUdUX0NSVENf Q1RNLAotICAgICAgIElHVF9DUlRDX0RFR0FNTUFfTFVULAogICAgICAgIElHVF9DUlRDX0dBTU1B X0xVVCwKKyAgICAgICBJR1RfQ1JUQ19HQU1NQV9MVVRfU0laRSwKKyAgICAgICBJR1RfQ1JUQ19E RUdBTU1BX0xVVCwKKyAgICAgICBJR1RfQ1JUQ19ERUdBTU1BX0xVVF9TSVpFLAogICAgICAgIElH VF9DUlRDX01PREVfSUQsCiAgICAgICAgSUdUX0NSVENfQUNUSVZFLAogICAgICAgIElHVF9DUlRD X09VVF9GRU5DRV9QVFIsCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY29sb3IuYyBiL3Rlc3RzL2tt c19jb2xvci5jCmluZGV4IGUzMGU2YmY0ZTQwOS4uZGNkYTEyZGUzYTM5IDEwMDY0NAotLS0gYS90 ZXN0cy9rbXNfY29sb3IuYworKysgYi90ZXN0cy9rbXNfY29sb3IuYwpAQCAtMjMxLDQxICsyMzEs NiBAQCBzdGF0aWMgdm9pZCBzZXRfY3RtKGlndF9waXBlX3QgKnBpcGUsIGNvbnN0IGRvdWJsZSAq Y29lZmZpY2llbnRzKQogI2RlZmluZSBkaXNhYmxlX2dhbW1hKHBpcGUpIGlndF9waXBlX29ial9y ZXBsYWNlX3Byb3BfYmxvYihwaXBlLCBJR1RfQ1JUQ19HQU1NQV9MVVQsIE5VTEwsIDApCiAjZGVm aW5lIGRpc2FibGVfY3RtKHBpcGUpIGlndF9waXBlX29ial9yZXBsYWNlX3Byb3BfYmxvYihwaXBl LCBJR1RfQ1JUQ19DVE0sIE5VTEwsIDApCiAKLXN0YXRpYyB2b2lkIG91dHB1dF9zZXRfcHJvcGVy dHlfZW51bShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKLQkJCQkgICAgIGNvbnN0IGNoYXIgKnByb3Bl cnR5LAotCQkJCSAgICAgY29uc3QgY2hhciAqZW51bV92YWx1ZSkKLXsKLQlpbnQgaTsKLQlpbnQz Ml90IHZhbHVlID0gLTE7Ci0JdWludDMyX3QgcHJvcF9pZDsKLQlkcm1Nb2RlUHJvcGVydHlQdHIg cHJvcDsKLQotCWlmICgha21zdGVzdF9nZXRfcHJvcGVydHkob3V0cHV0LT5kaXNwbGF5LT5kcm1f ZmQsCi0JCQkJICBvdXRwdXQtPmlkLAotCQkJCSAgRFJNX01PREVfT0JKRUNUX0NPTk5FQ1RPUiwK LQkJCQkgIHByb3BlcnR5LAotCQkJCSAgJnByb3BfaWQsIE5VTEwsICZwcm9wKSkKLQkJcmV0dXJu OwotCi0JaWd0X2Fzc2VydChwcm9wLT5mbGFncyAmIERSTV9NT0RFX1BST1BfRU5VTSk7Ci0KLQlm b3IgKGkgPSAwOyBpIDwgcHJvcC0+Y291bnRfZW51bXM7IGkrKykgewotCQlpZiAoIXN0cmNtcChw cm9wLT5lbnVtc1tpXS5uYW1lLCBlbnVtX3ZhbHVlKSkgewotCQkJdmFsdWUgPSBwcm9wLT5lbnVt c1tpXS52YWx1ZTsKLQkJCWJyZWFrOwotCQl9Ci0JfQotCWlndF9hc3NlcnRfbmVxKHZhbHVlLCAt MSk7Ci0KLQlpZ3RfYXNzZXJ0X2VxKGRybU1vZGVPYmplY3RTZXRQcm9wZXJ0eShvdXRwdXQtPmRp c3BsYXktPmRybV9mZCwKLQkJCQkJICAgICAgIG91dHB1dC0+aWQsCi0JCQkJCSAgICAgICBEUk1f TU9ERV9PQkpFQ1RfQ09OTkVDVE9SLAotCQkJCQkgICAgICAgcHJvcF9pZCwgdmFsdWUpLCAwKTsK LQotCi0JZHJtTW9kZUZyZWVQcm9wZXJ0eShwcm9wKTsKLX0KLQogLyoKICAqIERyYXcgMyBncmFk aWVudCByZWN0YW5nbGVzIGluIHJlZCwgZ3JlZW4gYW5kIGJsdWUsIHdpdGggYSBtYXhlZCBvdXQK ICAqIGRlZ2FtbWEgTFVUIGFuZCB2ZXJpZnkgd2UgaGF2ZSB0aGUgc2FtZSBDUkMgYXMgZHJhd2lu ZyBzb2xpZCBjb2xvcgpAQCAtNTMxLDIzICs0OTYsMTYgQEAgc3RhdGljIHZvaWQgdGVzdF9waXBl X2xlZ2FjeV9nYW1tYShkYXRhX3QgKmRhdGEsCiB9CiAKIHN0YXRpYyBkcm1Nb2RlUHJvcGVydHlC bG9iUHRyCi1nZXRfYmxvYihkYXRhX3QgKmRhdGEsIGlndF9waXBlX3QgKnBpcGUsIGNvbnN0IGNo YXIgKnByb3BlcnR5X25hbWUpCitnZXRfYmxvYihkYXRhX3QgKmRhdGEsIGlndF9waXBlX3QgKnBp cGUsIGVudW0gaWd0X2F0b21pY19jcnRjX3Byb3BlcnRpZXMgcHJvcCkKIHsKIAl1aW50NjRfdCBw cm9wX3ZhbHVlOwotCWRybU1vZGVQcm9wZXJ0eVB0ciBwcm9wOwotCWRybU1vZGVQcm9wZXJ0eUJs b2JQdHIgYmxvYjsKIAotCWlndF9hc3NlcnQoaWd0X3BpcGVfZ2V0X3Byb3BlcnR5KHBpcGUsIHBy b3BlcnR5X25hbWUsCi0JCQkJCSBOVUxMLCAmcHJvcF92YWx1ZSwgJnByb3ApKTsKKwlwcm9wX3Zh bHVlID0gaWd0X3BpcGVfb2JqX2dldF9wcm9wKHBpcGUsIHByb3ApOwogCiAJaWYgKHByb3BfdmFs dWUgPT0gMCkKIAkJcmV0dXJuIE5VTEw7CiAKLQlpZ3RfYXNzZXJ0KHByb3AtPmZsYWdzICYgRFJN X01PREVfUFJPUF9CTE9CKTsKLQlibG9iID0gZHJtTW9kZUdldFByb3BlcnR5QmxvYihkYXRhLT5k cm1fZmQsIHByb3BfdmFsdWUpOwotCWRybU1vZGVGcmVlUHJvcGVydHkocHJvcCk7Ci0KLQlyZXR1 cm4gYmxvYjsKKwlyZXR1cm4gZHJtTW9kZUdldFByb3BlcnR5QmxvYihkYXRhLT5kcm1fZmQsIHBy b3BfdmFsdWUpOwogfQogCiAvKgpAQCAtNTkwLDE4ICs1NDgsMTggQEAgc3RhdGljIHZvaWQgdGVz dF9waXBlX2xlZ2FjeV9nYW1tYV9yZXNldChkYXRhX3QgKmRhdGEsCiAJCXNldF9nYW1tYShkYXRh LCBwcmltYXJ5LT5waXBlLCBnYW1tYV96ZXJvKTsKIAkJaWd0X2Rpc3BsYXlfY29tbWl0KCZkYXRh LT5kaXNwbGF5KTsKIAotCQlibG9iID0gZ2V0X2Jsb2IoZGF0YSwgcHJpbWFyeS0+cGlwZSwgIkRF R0FNTUFfTFVUIik7CisJCWJsb2IgPSBnZXRfYmxvYihkYXRhLCBwcmltYXJ5LT5waXBlLCBJR1Rf Q1JUQ19ERUdBTU1BX0xVVCk7CiAJCWlndF9hc3NlcnQoYmxvYiAmJgogCQkJICAgYmxvYi0+bGVu Z3RoID09IChzaXplb2Yoc3RydWN0IF9kcm1fY29sb3JfbHV0KSAqCiAJCQkJCSAgICBkYXRhLT5k ZWdhbW1hX2x1dF9zaXplKSk7CiAJCWRybU1vZGVGcmVlUHJvcGVydHlCbG9iKGJsb2IpOwogCi0J CWJsb2IgPSBnZXRfYmxvYihkYXRhLCBwcmltYXJ5LT5waXBlLCAiQ1RNIik7CisJCWJsb2IgPSBn ZXRfYmxvYihkYXRhLCBwcmltYXJ5LT5waXBlLCBJR1RfQ1JUQ19DVE0pOwogCQlpZ3RfYXNzZXJ0 KGJsb2IgJiYKIAkJCSAgIGJsb2ItPmxlbmd0aCA9PSBzaXplb2Yoc3RydWN0IF9kcm1fY29sb3Jf Y3RtKSk7CiAJCWRybU1vZGVGcmVlUHJvcGVydHlCbG9iKGJsb2IpOwogCi0JCWJsb2IgPSBnZXRf YmxvYihkYXRhLCBwcmltYXJ5LT5waXBlLCAiR0FNTUFfTFVUIik7CisJCWJsb2IgPSBnZXRfYmxv YihkYXRhLCBwcmltYXJ5LT5waXBlLCBJR1RfQ1JUQ19HQU1NQV9MVVQpOwogCQlpZ3RfYXNzZXJ0 KGJsb2IgJiYKIAkJCSAgIGJsb2ItPmxlbmd0aCA9PSAoc2l6ZW9mKHN0cnVjdCBfZHJtX2NvbG9y X2x1dCkgKgogCQkJCQkgICAgZGF0YS0+Z2FtbWFfbHV0X3NpemUpKTsKQEAgLTYzNCwxMCArNTky LDEwIEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlwZV9sZWdhY3lfZ2FtbWFfcmVzZXQoZGF0YV90ICpk YXRhLAogCQlpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3BsYXkpOwogCiAJCWlndF9hc3Nl cnQoZ2V0X2Jsb2IoZGF0YSwgcHJpbWFyeS0+cGlwZSwKLQkJCQkgICAgIkRFR0FNTUFfTFVUIikg PT0gTlVMTCk7Ci0JCWlndF9hc3NlcnQoZ2V0X2Jsb2IoZGF0YSwgcHJpbWFyeS0+cGlwZSwgIkNU TSIpID09IE5VTEwpOworCQkJCSAgICBJR1RfQ1JUQ19ERUdBTU1BX0xVVCkgPT0gTlVMTCk7CisJ CWlndF9hc3NlcnQoZ2V0X2Jsb2IoZGF0YSwgcHJpbWFyeS0+cGlwZSwgSUdUX0NSVENfQ1RNKSA9 PSBOVUxMKTsKIAotCQlibG9iID0gZ2V0X2Jsb2IoZGF0YSwgcHJpbWFyeS0+cGlwZSwgIkdBTU1B X0xVVCIpOworCQlibG9iID0gZ2V0X2Jsb2IoZGF0YSwgcHJpbWFyeS0+cGlwZSwgSUdUX0NSVENf R0FNTUFfTFVUKTsKIAkJaWd0X2Fzc2VydChibG9iICYmCiAJCQkgICBibG9iLT5sZW5ndGggPT0g KHNpemVvZihzdHJ1Y3QgX2RybV9jb2xvcl9sdXQpICoKIAkJCQkJICAgIGxlZ2FjeV9sdXRfc2l6 ZSkpOwpAQCAtNzc3LDYgKzczNSw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlwZV9saW1pdGVkX3Jh bmdlX2N0bShkYXRhX3QgKmRhdGEsCiAJCQkwLjAsIDAuMCwgMS4wIH07CiAJZG91YmxlICpkZWdh bW1hX2xpbmVhciwgKmdhbW1hX2xpbmVhcjsKIAlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKKwlib29s IGhhc19icm9hZGNhc3RfcmdiX291dHB1dCA9IGZhbHNlOwogCiAJZGVnYW1tYV9saW5lYXIgPSBn ZW5lcmF0ZV90YWJsZShkYXRhLT5kZWdhbW1hX2x1dF9zaXplLCAxLjApOwogCWdhbW1hX2xpbmVh ciA9IGdlbmVyYXRlX3RhYmxlKGRhdGEtPmdhbW1hX2x1dF9zaXplLCAxLjApOwpAQCAtNzg3LDYg Kzc0NiwxMSBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BpcGVfbGltaXRlZF9yYW5nZV9jdG0oZGF0YV90 ICpkYXRhLAogCQlpZ3RfY3JjX3QgY3JjX2Z1bGwsIGNyY19saW1pdGVkOwogCQlpbnQgZmJfaWQs IGZiX21vZGVzZXRfaWQ7CiAKKwkJaWYgKCFpZ3Rfb3V0cHV0X2hhc19wcm9wKG91dHB1dCwgSUdU X0NPTk5FQ1RPUl9CUk9BRENBU1RfUkdCKSkKKwkJCWNvbnRpbnVlOworCisJCWhhc19icm9hZGNh c3RfcmdiX291dHB1dCA9IHRydWU7CisKIAkJaWd0X291dHB1dF9zZXRfcGlwZShvdXRwdXQsIHBy aW1hcnktPnBpcGUtPnBpcGUpOwogCQltb2RlID0gaWd0X291dHB1dF9nZXRfbW9kZShvdXRwdXQp OwogCkBAIC04MTIsNyArNzc2LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9waXBlX2xpbWl0ZWRfcmFu Z2VfY3RtKGRhdGFfdCAqZGF0YSwKIAkJc2V0X2dhbW1hKGRhdGEsIHByaW1hcnktPnBpcGUsIGdh bW1hX2xpbmVhcik7CiAJCXNldF9jdG0ocHJpbWFyeS0+cGlwZSwgY3RtKTsKIAotCQlvdXRwdXRf c2V0X3Byb3BlcnR5X2VudW0ob3V0cHV0LCAiQnJvYWRjYXN0IFJHQiIsICJGdWxsIik7CisJCWln dF9vdXRwdXRfc2V0X3Byb3BfdmFsdWUob3V0cHV0LCBJR1RfQ09OTkVDVE9SX0JST0FEQ0FTVF9S R0IsIEJST0FEQ0FTVF9SR0JfRlVMTCk7CiAJCXBhaW50X3JlY3RhbmdsZXMoZGF0YSwgbW9kZSwg cmVkX2dyZWVuX2JsdWVfbGltaXRlZCwgJmZiKTsKIAkJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5 LCAmZmIpOwogCQlpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3BsYXkpOwpAQCAtODIwLDMx ICs3ODQsMzQgQEAgc3RhdGljIHZvaWQgdGVzdF9waXBlX2xpbWl0ZWRfcmFuZ2VfY3RtKGRhdGFf dCAqZGF0YSwKIAkJaWd0X3BpcGVfY3JjX2NvbGxlY3RfY3JjKGRhdGEtPnBpcGVfY3JjLCAmY3Jj X2Z1bGwpOwogCiAJCS8qIFNldCB0aGUgb3V0cHV0IGludG8gbGltaXRlZCByYW5nZS4gKi8KLQkJ b3V0cHV0X3NldF9wcm9wZXJ0eV9lbnVtKG91dHB1dCwgIkJyb2FkY2FzdCBSR0IiLCAiTGltaXRl ZCAxNjoyMzUiKTsKKwkJaWd0X291dHB1dF9zZXRfcHJvcF92YWx1ZShvdXRwdXQsIElHVF9DT05O RUNUT1JfQlJPQURDQVNUX1JHQiwgQlJPQURDQVNUX1JHQl8xNl8yMzUpOwogCQlwYWludF9yZWN0 YW5nbGVzKGRhdGEsIG1vZGUsIHJlZF9ncmVlbl9ibHVlX2Z1bGwsICZmYik7CiAJCWlndF9wbGFu ZV9zZXRfZmIocHJpbWFyeSwgJmZiKTsKIAkJaWd0X2Rpc3BsYXlfY29tbWl0KCZkYXRhLT5kaXNw bGF5KTsKIAkJaWd0X3dhaXRfZm9yX3ZibGFuayhkYXRhLT5kcm1fZmQsIHByaW1hcnktPnBpcGUt PnBpcGUpOwogCQlpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMoZGF0YS0+cGlwZV9jcmMsICZjcmNf bGltaXRlZCk7CiAKKwkJLyogQW5kIHJlc2V0Li4gKi8KKwkJaWd0X291dHB1dF9zZXRfcHJvcF92 YWx1ZShvdXRwdXQsIElHVF9DT05ORUNUT1JfQlJPQURDQVNUX1JHQiwgQlJPQURDQVNUX1JHQl9G VUxMKTsKKwkJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5LCBOVUxMKTsKKwkJaWd0X291dHB1dF9z ZXRfcGlwZShvdXRwdXQsIFBJUEVfTk9ORSk7CisKIAkJLyogVmVyaWZ5IHRoYXQgdGhlIENSQyBv ZiB0aGUgc29mdHdhcmUgY29tcHV0ZWQgb3V0cHV0IGlzCiAJCSAqIGVxdWFsIHRvIHRoZSBDUkMg b2YgdGhlIENUTSBtYXRyaXggdHJhbnNmb3JtYXRpb24gb3V0cHV0LgogCQkgKi8KIAkJaWd0X2Fz c2VydF9jcmNfZXF1YWwoJmNyY19mdWxsLCAmY3JjX2xpbWl0ZWQpOwotCi0JCWlndF9wbGFuZV9z ZXRfZmIocHJpbWFyeSwgTlVMTCk7Ci0JCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBQSVBF X05PTkUpOwogCX0KIAogCWZyZWUoZ2FtbWFfbGluZWFyKTsKIAlmcmVlKGRlZ2FtbWFfbGluZWFy KTsKKworCWlndF9yZXF1aXJlKGhhc19icm9hZGNhc3RfcmdiX291dHB1dCk7CiB9CiAjZW5kaWYK IAogc3RhdGljIHZvaWQKIHJ1bl90ZXN0c19mb3JfcGlwZShkYXRhX3QgKmRhdGEsIGVudW0gcGlw ZSBwKQogewotCWlndF9vdXRwdXRfdCAqb3V0cHV0OwogCWlndF9waXBlX3QgKnBpcGU7CiAJaWd0 X3BsYW5lX3QgKnByaW1hcnk7CiAJZG91YmxlIGRlbHRhOwpAQCAtODU2LDggKzgyMyw2IEBAIHJ1 bl90ZXN0c19mb3JfcGlwZShkYXRhX3QgKmRhdGEsIGVudW0gcGlwZSBwKQogCX07CiAKIAlpZ3Rf Zml4dHVyZSB7Ci0JCWludCB2YWxpZF90ZXN0cyA9IDA7Ci0KIAkJaWd0X3JlcXVpcmVfcGlwZV9j cmMoZGF0YS0+ZHJtX2ZkKTsKIAogCQlpZ3RfcmVxdWlyZShwIDwgZGF0YS0+ZGlzcGxheS5uX3Bp cGVzKTsKQEAgLTg3MSwyMyArODM2LDE4IEBAIHJ1bl90ZXN0c19mb3JfcGlwZShkYXRhX3QgKmRh dGEsIGVudW0gcGlwZSBwKQogCQkJCQkJICBwcmltYXJ5LT5waXBlLT5waXBlLAogCQkJCQkJICBJ TlRFTF9QSVBFX0NSQ19TT1VSQ0VfQVVUTyk7CiAKLQkJaWd0X3JlcXVpcmUoaWd0X3BpcGVfZ2V0 X3Byb3BlcnR5KCZkYXRhLT5kaXNwbGF5LnBpcGVzW3BdLAotCQkJCQkJICAiREVHQU1NQV9MVVRf U0laRSIsCi0JCQkJCQkgIE5VTEwsCi0JCQkJCQkgICZkYXRhLT5kZWdhbW1hX2x1dF9zaXplLAot CQkJCQkJICBOVUxMKSk7Ci0JCWlndF9yZXF1aXJlKGlndF9waXBlX2dldF9wcm9wZXJ0eSgmZGF0 YS0+ZGlzcGxheS5waXBlc1twXSwKLQkJCQkJCSAgIkdBTU1BX0xVVF9TSVpFIiwKLQkJCQkJCSAg TlVMTCwKLQkJCQkJCSAgJmRhdGEtPmdhbW1hX2x1dF9zaXplLAotCQkJCQkJICBOVUxMKSk7Ci0K LQkJZm9yX2VhY2hfdmFsaWRfb3V0cHV0X29uX3BpcGUoJmRhdGEtPmRpc3BsYXksIHAsIG91dHB1 dCkgewotCQkJb3V0cHV0X3NldF9wcm9wZXJ0eV9lbnVtKG91dHB1dCwgIkJyb2FkY2FzdCBSR0Ii LCAiRnVsbCIpOwotCi0JCQl2YWxpZF90ZXN0cysrOwotCQl9Ci0JCWlndF9yZXF1aXJlX2YodmFs aWRfdGVzdHMsICJubyB2YWxpZCBjcnRjL2Nvbm5lY3RvciBjb21iaW5hdGlvbnMgZm91bmRcbiIp OworCQlpZ3RfcmVxdWlyZShpZ3RfcGlwZV9vYmpfaGFzX3Byb3AoJmRhdGEtPmRpc3BsYXkucGlw ZXNbcF0sIElHVF9DUlRDX0RFR0FNTUFfTFVUX1NJWkUpKTsKKwkJaWd0X3JlcXVpcmUoaWd0X3Bp cGVfb2JqX2hhc19wcm9wKCZkYXRhLT5kaXNwbGF5LnBpcGVzW3BdLCBJR1RfQ1JUQ19HQU1NQV9M VVRfU0laRSkpOworCisJCWRhdGEtPmRlZ2FtbWFfbHV0X3NpemUgPQorCQkJaWd0X3BpcGVfb2Jq X2dldF9wcm9wKCZkYXRhLT5kaXNwbGF5LnBpcGVzW3BdLAorCQkJCQkgICAgICBJR1RfQ1JUQ19E RUdBTU1BX0xVVF9TSVpFKTsKKworCQlkYXRhLT5nYW1tYV9sdXRfc2l6ZSA9CisJCQlpZ3RfcGlw ZV9vYmpfZ2V0X3Byb3AoJmRhdGEtPmRpc3BsYXkucGlwZXNbcF0sCisJCQkJCSAgICAgIElHVF9D UlRDX0dBTU1BX0xVVF9TSVpFKTsKKworCQlpZ3RfZGlzcGxheV9yZXF1aXJlX291dHB1dF9vbl9w aXBlKCZkYXRhLT5kaXNwbGF5LCBwKTsKIAl9CiAKIAkvKiBXZSBhc3N1bWUgYW4gOGJpdHMgZGVw dGggcGVyIGNvbG9yIGZvciBkZWdhbW1hL2dhbW1hIExVVHMKQEAgLTEwNTAsOSArMTAxMCw2IEBA IHJ1bl90ZXN0c19mb3JfcGlwZShkYXRhX3QgKmRhdGEsIGVudW0gcGlwZSBwKQogCQl0ZXN0X3Bp cGVfbGVnYWN5X2dhbW1hX3Jlc2V0KGRhdGEsIHByaW1hcnkpOwogCiAJaWd0X2ZpeHR1cmUgewot CQlmb3JfZWFjaF9jb25uZWN0ZWRfb3V0cHV0KCZkYXRhLT5kaXNwbGF5LCBvdXRwdXQpCi0JCQlv dXRwdXRfc2V0X3Byb3BlcnR5X2VudW0ob3V0cHV0LCAiQnJvYWRjYXN0IFJHQiIsICJGdWxsIik7 Ci0KIAkJZGlzYWJsZV9kZWdhbW1hKHByaW1hcnktPnBpcGUpOwogCQlkaXNhYmxlX2dhbW1hKHBy aW1hcnktPnBpcGUpOwogCQlkaXNhYmxlX2N0bShwcmltYXJ5LT5waXBlKTsKQEAgLTEwNjQsOTMg KzEwMjEsNzYgQEAgcnVuX3Rlc3RzX2Zvcl9waXBlKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHAp CiB9CiAKIHN0YXRpYyBpbnQKLXBpcGVfc2V0X3Byb3BlcnR5X2Jsb2JfaWQoaWd0X3BpcGVfdCAq cGlwZSwgY29uc3QgY2hhciAqcHJvcGVydHksIHVpbnQzMl90IGJsb2JfaWQpCitwaXBlX3NldF9w cm9wZXJ0eV9ibG9iX2lkKGlndF9waXBlX3QgKnBpcGUsIGVudW0gaWd0X2F0b21pY19jcnRjX3By b3BlcnRpZXMgcHJvcCwgdWludDMyX3QgYmxvYl9pZCkKIHsKLQl1aW50MzJfdCBwcm9wX2lkOwot Ci0JaWd0X2Fzc2VydChrbXN0ZXN0X2dldF9wcm9wZXJ0eShwaXBlLT5kaXNwbGF5LT5kcm1fZmQs Ci0JCQkJCXBpcGUtPmNydGNfaWQsCi0JCQkJCURSTV9NT0RFX09CSkVDVF9DUlRDLAotCQkJCQlw cm9wZXJ0eSwKLQkJCQkJJnByb3BfaWQsIE5VTEwsIE5VTEwpKTsKLQotCXJldHVybiBkcm1Nb2Rl T2JqZWN0U2V0UHJvcGVydHkocGlwZS0+ZGlzcGxheS0+ZHJtX2ZkLAotCQkJCQlwaXBlLT5jcnRj X2lkLAotCQkJCQlEUk1fTU9ERV9PQkpFQ1RfQ1JUQywKLQkJCQkJcHJvcF9pZCwgYmxvYl9pZCk7 Ci19CisJaW50IHJldDsKIAotc3RhdGljIGludAotcGlwZV9zZXRfcHJvcGVydHlfYmxvYihpZ3Rf cGlwZV90ICpwaXBlLCBjb25zdCBjaGFyICpwcm9wZXJ0eSwgdm9pZCAqcHRyLCBzaXplX3QgbGVu Z3RoKQotewotCWludCByZXQgPSAwOwotCXVpbnQzMl90IGJsb2JfaWQgPSAwOworCWlndF9waXBl X29ial9yZXBsYWNlX3Byb3BfYmxvYihwaXBlLCBwcm9wLCBOVUxMLCAwKTsKIAotCWlmIChsZW5n dGggPiAwKQotCQlpZ3RfYXNzZXJ0X2VxKGRybU1vZGVDcmVhdGVQcm9wZXJ0eUJsb2IocGlwZS0+ ZGlzcGxheS0+ZHJtX2ZkLAotCQkJCQkJCXB0ciwgbGVuZ3RoLAotCQkJCQkJCSZibG9iX2lkKSwg MCk7CisJaWd0X3BpcGVfb2JqX3NldF9wcm9wX3ZhbHVlKHBpcGUsIHByb3AsIGJsb2JfaWQpOwog Ci0JcmV0ID0gcGlwZV9zZXRfcHJvcGVydHlfYmxvYl9pZChwaXBlLCBwcm9wZXJ0eSwgYmxvYl9p ZCk7CisJcmV0ID0gaWd0X2Rpc3BsYXlfdHJ5X2NvbW1pdDIocGlwZS0+ZGlzcGxheSwgcGlwZS0+ ZGlzcGxheS0+aXNfYXRvbWljID8gQ09NTUlUX0FUT01JQyA6IENPTU1JVF9MRUdBQ1kpOwogCi0J aWYgKGJsb2JfaWQgIT0gMCkKLQkJaWd0X2Fzc2VydF9lcShkcm1Nb2RlRGVzdHJveVByb3BlcnR5 QmxvYihwaXBlLT5kaXNwbGF5LT5kcm1fZmQsIGJsb2JfaWQpLCAwKTsKKwlpZ3RfcGlwZV9vYmpf c2V0X3Byb3BfdmFsdWUocGlwZSwgcHJvcCwgMCk7CiAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0 aWMgaW50CitwaXBlX3NldF9wcm9wZXJ0eV9ibG9iKGlndF9waXBlX3QgKnBpcGUsIGVudW0gaWd0 X2F0b21pY19jcnRjX3Byb3BlcnRpZXMgcHJvcCwgdm9pZCAqcHRyLCBzaXplX3QgbGVuZ3RoKQor eworCWlndF9waXBlX29ial9yZXBsYWNlX3Byb3BfYmxvYihwaXBlLCBwcm9wLCBwdHIsIGxlbmd0 aCk7CisKKwlyZXR1cm4gaWd0X2Rpc3BsYXlfdHJ5X2NvbW1pdDIocGlwZS0+ZGlzcGxheSwgcGlw ZS0+ZGlzcGxheS0+aXNfYXRvbWljID8gQ09NTUlUX0FUT01JQyA6IENPTU1JVF9MRUdBQ1kpOwor fQorCiBzdGF0aWMgdm9pZAogaW52YWxpZF9sdXRfc2l6ZXMoZGF0YV90ICpkYXRhKQogewotCWln dF9waXBlX3QgKnBpcGUgPSAmZGF0YS0+ZGlzcGxheS5waXBlc1swXTsKKwlpZ3RfZGlzcGxheV90 ICpkaXNwbGF5ID0gJmRhdGEtPmRpc3BsYXk7CisJaWd0X3BpcGVfdCAqcGlwZSA9ICZkaXNwbGF5 LT5waXBlc1swXTsKIAlzaXplX3QgZGVnYW1tYV9sdXRfc2l6ZSA9IGRhdGEtPmRlZ2FtbWFfbHV0 X3NpemUgKiBzaXplb2Yoc3RydWN0IF9kcm1fY29sb3JfbHV0KTsKIAlzaXplX3QgZ2FtbWFfbHV0 X3NpemUgPSBkYXRhLT5nYW1tYV9sdXRfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgX2RybV9jb2xvcl9s dXQpOwogCiAJc3RydWN0IF9kcm1fY29sb3JfbHV0ICpkZWdhbW1hX2x1dCA9IG1hbGxvYyhkYXRh LT5kZWdhbW1hX2x1dF9zaXplICogc2l6ZW9mKHN0cnVjdCBfZHJtX2NvbG9yX2x1dCkgKiAyKTsK IAlzdHJ1Y3QgX2RybV9jb2xvcl9sdXQgKmdhbW1hX2x1dCA9IG1hbGxvYyhkYXRhLT5nYW1tYV9s dXRfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgX2RybV9jb2xvcl9sdXQpICogMik7CiAKLQlpZiAoa21z dGVzdF9nZXRfcHJvcGVydHkocGlwZS0+ZGlzcGxheS0+ZHJtX2ZkLAotCQkJCSBwaXBlLT5jcnRj X2lkLAotCQkJCSBEUk1fTU9ERV9PQkpFQ1RfQ1JUQywKLQkJCQkgIkRFR0FNTUFfTFVUIiwKLQkJ CQkgTlVMTCwgTlVMTCwgTlVMTCkpIHsKLQkJaWd0X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0 eV9ibG9iKHBpcGUsICJERUdBTU1BX0xVVCIsCisJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5 LCBkaXNwbGF5LT5pc19hdG9taWMgPyBDT01NSVRfQVRPTUlDIDogQ09NTUlUX0xFR0FDWSk7CisK KwlpZiAoaWd0X3BpcGVfb2JqX2hhc19wcm9wKHBpcGUsIElHVF9DUlRDX0RFR0FNTUFfTFVUKSkg eworCQlpZ3RfYXNzZXJ0X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2IocGlwZSwgSUdUX0NSVENf REVHQU1NQV9MVVQsCiAJCQkJCQkgICAgIGRlZ2FtbWFfbHV0LCAxKSwgLUVJTlZBTCk7Ci0JCWln dF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYihwaXBlLCAiREVHQU1NQV9MVVQiLAor CQlpZ3RfYXNzZXJ0X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2IocGlwZSwgSUdUX0NSVENfREVH QU1NQV9MVVQsCiAJCQkJCQkgICAgIGRlZ2FtbWFfbHV0LCBkZWdhbW1hX2x1dF9zaXplICsgMSks CiAJCQkgICAgICAtRUlOVkFMKTsKLQkJaWd0X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0eV9i bG9iKHBpcGUsICJERUdBTU1BX0xVVCIsCisJCWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVy dHlfYmxvYihwaXBlLCBJR1RfQ1JUQ19ERUdBTU1BX0xVVCwKIAkJCQkJCSAgICAgZGVnYW1tYV9s dXQsIGRlZ2FtbWFfbHV0X3NpemUgLSAxKSwKIAkJCSAgICAgIC1FSU5WQUwpOwotCQlpZ3RfYXNz ZXJ0X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2IocGlwZSwgIkRFR0FNTUFfTFVUIiwKKwkJaWd0 X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0eV9ibG9iKHBpcGUsIElHVF9DUlRDX0RFR0FNTUFf TFVULAogCQkJCQkJICAgICBkZWdhbW1hX2x1dCwgZGVnYW1tYV9sdXRfc2l6ZSArIHNpemVvZihz dHJ1Y3QgX2RybV9jb2xvcl9sdXQpKSwKIAkJCSAgICAgIC1FSU5WQUwpOwotCQlpZ3RfYXNzZXJ0 X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2JfaWQocGlwZSwgIkRFR0FNTUFfTFVUIiwgcGlwZS0+ Y3J0Y19pZCksCisJCWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYl9pZChwaXBl LCBJR1RfQ1JUQ19ERUdBTU1BX0xVVCwgcGlwZS0+Y3J0Y19pZCksCiAJCQkgICAgICAtRUlOVkFM KTsKLQkJaWd0X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0eV9ibG9iX2lkKHBpcGUsICJERUdB TU1BX0xVVCIsIDQwOTYgKiA0MDk2KSwKKwkJaWd0X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0 eV9ibG9iX2lkKHBpcGUsIElHVF9DUlRDX0RFR0FNTUFfTFVULCA0MDk2ICogNDA5NiksCiAJCQkg ICAgICAtRUlOVkFMKTsKIAl9CiAKLQlpZiAoa21zdGVzdF9nZXRfcHJvcGVydHkocGlwZS0+ZGlz cGxheS0+ZHJtX2ZkLAotCQkJCSBwaXBlLT5jcnRjX2lkLAotCQkJCSBEUk1fTU9ERV9PQkpFQ1Rf Q1JUQywKLQkJCQkgIkdBTU1BX0xVVCIsCi0JCQkJIE5VTEwsIE5VTEwsIE5VTEwpKSB7Ci0JCWln dF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYihwaXBlLCAiR0FNTUFfTFVUIiwKKwlp ZiAoaWd0X3BpcGVfb2JqX2hhc19wcm9wKHBpcGUsIElHVF9DUlRDX0dBTU1BX0xVVCkpIHsKKwkJ aWd0X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0eV9ibG9iKHBpcGUsIElHVF9DUlRDX0dBTU1B X0xVVCwKIAkJCQkJCSAgICAgZ2FtbWFfbHV0LCAxKSwKIAkJCSAgICAgIC1FSU5WQUwpOwotCQlp Z3RfYXNzZXJ0X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2IocGlwZSwgIkdBTU1BX0xVVCIsCisJ CWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYihwaXBlLCBJR1RfQ1JUQ19HQU1N QV9MVVQsCiAJCQkJCQkgICAgIGdhbW1hX2x1dCwgZ2FtbWFfbHV0X3NpemUgKyAxKSwKIAkJCSAg ICAgIC1FSU5WQUwpOwotCQlpZ3RfYXNzZXJ0X2VxKHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2IocGlw ZSwgIkdBTU1BX0xVVCIsCisJCWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYihw aXBlLCBJR1RfQ1JUQ19HQU1NQV9MVVQsCiAJCQkJCQkgICAgIGdhbW1hX2x1dCwgZ2FtbWFfbHV0 X3NpemUgLSAxKSwKIAkJCSAgICAgIC1FSU5WQUwpOwotCQlpZ3RfYXNzZXJ0X2VxKHBpcGVfc2V0 X3Byb3BlcnR5X2Jsb2IocGlwZSwgIkdBTU1BX0xVVCIsCisJCWlndF9hc3NlcnRfZXEocGlwZV9z ZXRfcHJvcGVydHlfYmxvYihwaXBlLCBJR1RfQ1JUQ19HQU1NQV9MVVQsCiAJCQkJCQkgICAgIGdh bW1hX2x1dCwgZ2FtbWFfbHV0X3NpemUgKyBzaXplb2Yoc3RydWN0IF9kcm1fY29sb3JfbHV0KSks CiAJCQkgICAgICAtRUlOVkFMKTsKLQkJaWd0X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0eV9i bG9iX2lkKHBpcGUsICJHQU1NQV9MVVQiLCBwaXBlLT5jcnRjX2lkKSwKKwkJaWd0X2Fzc2VydF9l cShwaXBlX3NldF9wcm9wZXJ0eV9ibG9iX2lkKHBpcGUsIElHVF9DUlRDX0dBTU1BX0xVVCwgcGlw ZS0+Y3J0Y19pZCksCiAJCQkgICAgICAtRUlOVkFMKTsKLQkJaWd0X2Fzc2VydF9lcShwaXBlX3Nl dF9wcm9wZXJ0eV9ibG9iX2lkKHBpcGUsICJHQU1NQV9MVVQiLCA0MDk2ICogNDA5NiksCisJCWln dF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYl9pZChwaXBlLCBJR1RfQ1JUQ19HQU1N QV9MVVQsIDQwOTYgKiA0MDk2KSwKIAkJCSAgICAgIC1FSU5WQUwpOwogCX0KIApAQCAtMTE2MSwz MiArMTEwMSwyOSBAQCBpbnZhbGlkX2x1dF9zaXplcyhkYXRhX3QgKmRhdGEpCiBzdGF0aWMgdm9p ZAogaW52YWxpZF9jdG1fbWF0cml4X3NpemVzKGRhdGFfdCAqZGF0YSkKIHsKLQlpZ3RfcGlwZV90 ICpwaXBlID0gJmRhdGEtPmRpc3BsYXkucGlwZXNbMF07CisJaWd0X2Rpc3BsYXlfdCAqZGlzcGxh eSA9ICZkYXRhLT5kaXNwbGF5OworCWlndF9waXBlX3QgKnBpcGUgPSAmZGlzcGxheS0+cGlwZXNb MF07CiAJdm9pZCAqcHRyOwogCi0JaWYgKCFrbXN0ZXN0X2dldF9wcm9wZXJ0eShwaXBlLT5kaXNw bGF5LT5kcm1fZmQsCi0JCQkJICBwaXBlLT5jcnRjX2lkLAotCQkJCSAgRFJNX01PREVfT0JKRUNU X0NSVEMsCi0JCQkJICAiQ1RNIiwKLQkJCQkgIE5VTEwsIE5VTEwsIE5VTEwpKQorCWlmICghaWd0 X3BpcGVfb2JqX2hhc19wcm9wKHBpcGUsIElHVF9DUlRDX0NUTSkpCiAJCXJldHVybjsKIAogCXB0 ciA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IF9kcm1fY29sb3JfY3RtKSAqIDQpOwogCi0JaWd0X2Fz c2VydF9lcShwaXBlX3NldF9wcm9wZXJ0eV9ibG9iKHBpcGUsICJDVE0iLCBwdHIsIDEpLAorCWln dF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYihwaXBlLCBJR1RfQ1JUQ19DVE0sIHB0 ciwgMSksCiAJCSAgICAgIC1FSU5WQUwpOwotCWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVy dHlfYmxvYihwaXBlLCAiQ1RNIiwgcHRyLAorCWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVy dHlfYmxvYihwaXBlLCBJR1RfQ1JUQ19DVE0sIHB0ciwKIAkJCQkJICAgICBzaXplb2Yoc3RydWN0 IF9kcm1fY29sb3JfY3RtKSArIDEpLAogCQkgICAgICAtRUlOVkFMKTsKLQlpZ3RfYXNzZXJ0X2Vx KHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2IocGlwZSwgIkNUTSIsIHB0ciwKKwlpZ3RfYXNzZXJ0X2Vx KHBpcGVfc2V0X3Byb3BlcnR5X2Jsb2IocGlwZSwgSUdUX0NSVENfQ1RNLCBwdHIsCiAJCQkJCSAg ICAgc2l6ZW9mKHN0cnVjdCBfZHJtX2NvbG9yX2N0bSkgLSAxKSwKIAkJICAgICAgLUVJTlZBTCk7 Ci0JaWd0X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0eV9ibG9iKHBpcGUsICJDVE0iLCBwdHIs CisJaWd0X2Fzc2VydF9lcShwaXBlX3NldF9wcm9wZXJ0eV9ibG9iKHBpcGUsIElHVF9DUlRDX0NU TSwgcHRyLAogCQkJCQkgICAgIHNpemVvZihzdHJ1Y3QgX2RybV9jb2xvcl9jdG0pICogMiksCiAJ CSAgICAgIC1FSU5WQUwpOwotCWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYl9p ZChwaXBlLCAiQ1RNIiwgcGlwZS0+Y3J0Y19pZCksCisJaWd0X2Fzc2VydF9lcShwaXBlX3NldF9w cm9wZXJ0eV9ibG9iX2lkKHBpcGUsIElHVF9DUlRDX0NUTSwgcGlwZS0+Y3J0Y19pZCksCiAJCSAg ICAgIC1FSU5WQUwpOwotCWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVydHlfYmxvYl9pZChw aXBlLCAiQ1RNIiwgNDA5NiAqIDQwOTYpLAorCWlndF9hc3NlcnRfZXEocGlwZV9zZXRfcHJvcGVy dHlfYmxvYl9pZChwaXBlLCBJR1RfQ1JUQ19DVE0sIDQwOTYgKiA0MDk2KSwKIAkJICAgICAgLUVJ TlZBTCk7CiAKIAlmcmVlKHB0cik7Ci0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=