From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id A44766E3F5 for ; Fri, 8 Mar 2019 16:28:49 +0000 (UTC) From: Ramalingam C Date: Fri, 8 Mar 2019 22:00:47 +0530 Message-Id: <20190308163049.9016-4-ramalingam.c@intel.com> In-Reply-To: <20190308163049.9016-1-ramalingam.c@intel.com> References: <20190308163049.9016-1-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2 3/5] kms_content_protection: srm and downstream_info test List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org, daniel.vetter@ffwll.ch List-ID: UmV0cmlldmUgdGhlIGRvd25zdHJlYW0gaW5mbyBhbmQgdXNlIHRoYXQgdG8gc3RpdGNoIGEgc3Jt IGFuZAp2ZXJpZnkgdGhlIHJldm9jYXRpb24gcHJvY2Vzcy4KCkFkZHMgYSBjb25uZWN0b3IgcHJv cGVydGllcyBjYWxsZWQgQ1BfZG93bnN0cmVhbV9pbmZvCgpTUk0gc3RpdGNoZWQgaGVyZSBpcyBw b2xsdXRlZC4gS2VybmVsIHRydXN0cyB0aGUgdXNlcnNwYWNlIHRvIHZhbGlkYXRlCnRoZSBTUk0g aW50ZWdyaXR5IHRocm91Z2ggRENQIHNpZ25hdHVyZS4gQWN0dWFsbHkgdGhpcyB0ZXN0IGV4cGxv aXRzCnRoYXQgdHJ1c3QgdG8gdGVzdCBTUk0gYW5kIGRvd25zdHJlYW1faW5mbyBmZWF0dXJlcy4K CkhEQ1AxLjQgQktTViBhbmQgSERDUDIuMiByZWNlaXZlciBpZCBvZiBhIEhEQ1Agc2luayBpcyBk aWZmZXJlbnQuIFNvIHdlCm5lZWQgdG8gZm9yY2UgdGhlIEtNRCB0byB1c2UgYSBzaW5nbGUgSERD UCB2ZXJzaW9uIGFjcm9zcwpkb3duc3RyZWFtX2luZm8gZ2F0aGVyaW5nIGFuZCBTUk0gc2V0dGlu ZyBhbmQgdmVyaWZ5aW5nIHRlaCByZXZvY2F0aW9uCnByb2Nlc3MuIFNvIFR5cGUgMSBpcyB1c2Vk LgoKdjI6CiAgYmluYXJ5IHN5c2ZzIGlzIHVzZWQgdG8gd3JpdGUgdGhlIHNybSBpbnRvIGtlcm5l bCBbRGFuaWVsXQoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50 ZWwuY29tPgotLS0KIGxpYi9pZ3Rfa21zLmMgICAgICAgICAgICAgICAgICB8ICAgMSArCiBsaWIv aWd0X2ttcy5oICAgICAgICAgICAgICAgICAgfCAgIDEgKwogdGVzdHMva21zX2NvbnRlbnRfcHJv dGVjdGlvbi5jIHwgMjExICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMyBmaWxl cyBjaGFuZ2VkLCAyMDEgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGliL2lndF9rbXMuYyBiL2xpYi9pZ3Rfa21zLmMKaW5kZXggZDMwNzQxZjc0N2U3Li4wMTMy MGE5YjdjNDAgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rfa21zLmMKKysrIGIvbGliL2lndF9rbXMuYwpA QCAtMjAwLDYgKzIwMCw3IEBAIGNvbnN0IGNoYXIgKiBjb25zdCBpZ3RfY29ubmVjdG9yX3Byb3Bf bmFtZXNbSUdUX05VTV9DT05ORUNUT1JfUFJPUFNdID0gewogCVtJR1RfQ09OTkVDVE9SX0NPTlRF TlRfUFJPVEVDVElPTl0gPSAiQ29udGVudCBQcm90ZWN0aW9uIiwKIAlbSUdUX0NPTk5FQ1RPUl9W UlJfQ0FQQUJMRV0gPSAidnJyX2NhcGFibGUiLAogCVtJR1RfQ09OTkVDVE9SX0NQX0NPTlRFTlRf VFlQRV0gPSAiQ29udGVudF9wcm90ZWN0aW9uX3R5cGUiLAorCVtJR1RfQ09OTkVDVE9SX0NQX0RP V05TVFJFQU1fSU5GT10gPSAiQ1BfZG93bnN0cmVhbV9pbmZvIiwKIH07CiAKIC8qCmRpZmYgLS1n aXQgYS9saWIvaWd0X2ttcy5oIGIvbGliL2lndF9rbXMuaAppbmRleCA1OWNkYTM2ZWNkMjEuLmQw ZDA0MjAyOThlNyAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuaAorKysgYi9saWIvaWd0X2ttcy5o CkBAIC0xMjQsNiArMTI0LDcgQEAgZW51bSBpZ3RfYXRvbWljX2Nvbm5lY3Rvcl9wcm9wZXJ0aWVz IHsKICAgICAgICBJR1RfQ09OTkVDVE9SX0NPTlRFTlRfUFJPVEVDVElPTiwKICAgICAgICBJR1Rf Q09OTkVDVE9SX1ZSUl9DQVBBQkxFLAogICAgICAgIElHVF9DT05ORUNUT1JfQ1BfQ09OVEVOVF9U WVBFLAorICAgICAgIElHVF9DT05ORUNUT1JfQ1BfRE9XTlNUUkVBTV9JTkZPLAogICAgICAgIElH VF9OVU1fQ09OTkVDVE9SX1BST1BTCiB9OwogCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY29udGVu dF9wcm90ZWN0aW9uLmMgYi90ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMKaW5kZXggNDU2 M2E2MDY3YTMyLi4zZDJhMDFkYjI3N2IgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19jb250ZW50X3By b3RlY3Rpb24uYworKysgYi90ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMKQEAgLTU1LDYg KzU1LDExNiBAQCBzdHJ1Y3QgZGF0YSB7CiAjZGVmaW5lIEZMSVBfRVZFTlRfUE9MTElOR19USU1F T1VUX01TRUMJCTEwMDAKIAogCisjZGVmaW5lIERSTV9NT0RFX0hEQ1BfS1NWX0xFTgkJCTUKKyNk ZWZpbmUgRFJNX01PREVfSERDUF9NQVhfREVWSUNFX0NOVAkJMTI3CisKKyNkZWZpbmUgRFJNX01P REVfSERDUDE0X0lOX0ZPUkNFCQkoMTw8MCkKKyNkZWZpbmUgRFJNX01PREVfSERDUDIyX0lOX0ZP UkNFCQkoMTw8MSkKKworc3RydWN0IGNwX2Rvd25zdHJlYW1faW5mbyB7CisKKwkvKiBIRENQIHZl ciBpbiBmb3JjZSAqLworCV9fdTMyIHZlcl9pbl9mb3JjZTsKKwlfX3U4IGNvbnRlbnRfdHlwZTsK KworCS8qIEtTViBvZiBpbW1lZGlhdGUgSERDUCBTaW5rLiBJbiBMaXR0bGUtRW5kaWFuIEZvcm1h dC4gKi8KKwljaGFyIGJrc3ZbRFJNX01PREVfSERDUF9LU1ZfTEVOXTsKKworCS8qIFdoZXRoZXIg SW1tZWRpYXRlIEhEQ1Agc2luayBpcyBhIHJlcGVhdGVyPyAqLworCWJvb2wgaXNfcmVwZWF0ZXI7 CisKKwkvKiBEZXB0aCByZWNlaXZlZCBmcm9tIGltbWVkaWF0ZSBkb3duc3RyZWFtIHJlcGVhdGVy ICovCisJX191OCBkZXB0aDsKKworCS8qIERldmljZSBjb3VudCByZWNlaXZlZCBmcm9tIGltbWVk aWF0ZSBkb3duc3RyZWFtIHJlcGVhdGVyICovCisJX191MzIgZGV2aWNlX2NvdW50OworCisJLyoK KwkgKiBNYXggYnVmZmVyIHJlcXVpcmVkIHRvIGhvbGQga3N2IGxpc3QgcmVjZWl2ZWQgZnJvbSBp bW1lZGlhdGUKKwkgKiByZXBlYXRlci4gSW4gdGhpcyBhcnJheSBmaXJzdCBkZXZpY2VfY291bnQg KiBEUk1fTU9ERV9IRENQX0tTVl9MRU4KKwkgKiB3aWxsIGhvbGQgdGhlIHZhbGlkIGtzdiBieXRl cy4KKwkgKiBJZiBhdXRoZW50aWNhdGlvbiBzcGVjaWZpY2F0aW9uIGlzCisJICogICAgICBIRENQ MS40IC0gZWFjaCBLU1YncyBCeXRlcyB3aWxsIGJlIGluIExpdHRsZS1FbmRpYW4gZm9ybWF0Lgor CSAqICAgICAgSERDUDIuMiAtIGVhY2ggS1NWJ3MgQnl0ZXMgd2lsbCBiZSBpbiBCaWctRW5kaWFu IGZvcm1hdC4KKwkgKi8KKwljaGFyIGtzdl9saXN0W0RSTV9NT0RFX0hEQ1BfS1NWX0xFTiAqIERS TV9NT0RFX0hEQ1BfTUFYX0RFVklDRV9DTlRdOworfTsKKworCitfX3U4IGZhY3NpbWlsZV9zcm1b XSA9IHsKKwkweDgwLCAweDAsIDB4MCwgMHgwNSwgMHgwMSwgMHgwLCAweDAsIDB4MzYsIDB4MDIs IDB4NTEsIDB4MUUsIDB4RjIsCisJMHgxQSwgMHhDRCwgMHhFNywgMHgyNiwgMHg5NywgMHhGNCwg MHgwMSwgMHg5NywgMHgxMCwgMHgxOSwgMHg5MiwgMHg1MywKKwkweEU5LCAweEYwLCAweDU5LCAw eDk1LCAweEEzLCAweDdBLCAweDNCLCAweEZFLCAweEUwLCAweDlDLCAweDc2LCAweERELAorCTB4 ODMsIDB4QUEsIDB4QzIsIDB4NUIsIDB4MjQsIDB4QjMsIDB4MzYsIDB4ODQsIDB4OTQsIDB4NzUs IDB4MzQsIDB4REIsCisJMHgxMCwgMHg5RSwgMHgzQiwgMHgyMywgMHgxMywgMHhEOCwgMHg3QSwg MHhDMiwgMHgzMCwgMHg3OSwgMHg4NH07CisKK3N0YXRpYyB2b2lkIHBhcnNlX2Rvd25zdHJlYW1f aW5mbyhzdHJ1Y3QgY3BfZG93bnN0cmVhbV9pbmZvICpkc19pbmZvKQoreworCWNoYXIgKmtzdnM7 CisJaW50IGk7CisKKwlpZiAoZHNfaW5mby0+dmVyX2luX2ZvcmNlICYgRFJNX01PREVfSERDUDE0 X0lOX0ZPUkNFKQorCQlpZ3RfaW5mbygiSERDUDEuNCBpcyBFbmFibGVkXG4iKTsKKwllbHNlIGlm IChkc19pbmZvLT52ZXJfaW5fZm9yY2UgJiBEUk1fTU9ERV9IRENQMjJfSU5fRk9SQ0UpCisJCWln dF9pbmZvKCJIRENQMi4yIGlzIEVuYWJsZWQuIFR5cGUlZFxuIiwKKwkJCSBkc19pbmZvLT5jb250 ZW50X3R5cGUgJiBDUF9UWVBFXzEgPworCQkJIDEgOiAwKTsKKwllbHNlCisJCXJldHVybjsKKwor CWlndF9pbmZvKCJcdFJlY2VpdmVyIElEOiAlIzA0eCAlIzA0eCAlIzA0eCAlIzA0eCAlIzA0eFxu IiwKKwkJCWRzX2luZm8tPmJrc3ZbMF0gJiAweEZGLCBkc19pbmZvLT5ia3N2WzFdICYgMHhGRiwK KwkJCWRzX2luZm8tPmJrc3ZbMl0gJiAweEZGLCBkc19pbmZvLT5ia3N2WzNdICYgMHhGRiwKKwkJ CWRzX2luZm8tPmJrc3ZbNF0gJiAweEZGKTsKKworCWlmIChkc19pbmZvLT5pc19yZXBlYXRlcikg eworCQlpZ3RfaW5mbygiXHRIRENQIHNpbmsgaXMgYSBSZXBlYXRlclxuIik7CisKKwkJaWd0X2lu Zm8oIlx0RGVwdGg6ICVkLCBEZXZpY2UgY291bnQ6ICVkXG4iLCBkc19pbmZvLT5kZXB0aCwKKwkJ CQkJCQlkc19pbmZvLT5kZXZpY2VfY291bnQpOworCQlrc3ZzID0gZHNfaW5mby0+a3N2X2xpc3Q7 CisKKwkJZm9yIChpID0gMDsgaSA8IGRzX2luZm8tPmRldmljZV9jb3VudDsgaSsrKSB7CisJCQlp Z3RfaW5mbygiXHRrc3YtJWQ6ICUjMDR4ICUjMDR4ICUjMDR4ICUjMDR4ICUjMDR4XG4iLCBpLAor CQkJCQlrc3ZzWzBdICYgMHhGRiwga3N2c1sxXSAmIDB4RkYsCisJCQkJCWtzdnNbMl0gJiAweEZG LCBrc3ZzWzNdICYgMHhGRiwKKwkJCQkJa3N2c1s0XSAmIDB4RkYpOworCQkJa3N2cyArPSBEUk1f TU9ERV9IRENQX0tTVl9MRU47CisJCX0KKwl9IGVsc2UgeworCQlpZ3RfaW5mbygiXHRIRENQIHNp bmsgaXMgYSBSZWNlaXZlclxuIik7CisJfQorfQorCitzdGF0aWMgdm9pZCByZXRyaWV2ZV9kb3du c3RyZWFtX2luZm9fcHJlcGFyZV9zcm0oaWd0X291dHB1dF90ICpvdXRwdXQpCit7CisJZHJtTW9k ZVByb3BlcnR5QmxvYlJlcyAqZHNfaW5mb19wcm9wID0gTlVMTDsKKwl1aW50NjRfdCBkb3duc3Ry ZWFtX2Jsb2JfaWQ7CisJc3RydWN0IGNwX2Rvd25zdHJlYW1faW5mbyAqZHNfaW5mbzsKKwlpbnQg aTsKKworCWlndF9pbmZvKCJDUF9kb3duc3RyZWFtX2luZm8gcHJvcGVydHkgaXMgYXR0YWNoZWRc biIpOworCisJZG93bnN0cmVhbV9ibG9iX2lkID0gaWd0X291dHB1dF9nZXRfcHJvcChvdXRwdXQs CisJCQkJSUdUX0NPTk5FQ1RPUl9DUF9ET1dOU1RSRUFNX0lORk8pOworCisJaWd0X2Fzc2VydF9m KGRvd25zdHJlYW1fYmxvYl9pZCwKKwkJCQkiSW52YWxpZCBkb3duc3RyZWFtIGJsb2IgaWRcbiIp OworCisJZHNfaW5mb19wcm9wID0gZHJtTW9kZUdldFByb3BlcnR5QmxvYihkYXRhLmRybV9mZCwK KwkJCQkJCWRvd25zdHJlYW1fYmxvYl9pZCk7CisKKwlpZ3RfYXNzZXJ0KGRzX2luZm9fcHJvcCk7 CisJaWd0X2Fzc2VydF9lcShkc19pbmZvX3Byb3AtPmxlbmd0aCwKKwkJCQlzaXplb2Yoc3RydWN0 IGNwX2Rvd25zdHJlYW1faW5mbykpOworCWRzX2luZm8gPSBkc19pbmZvX3Byb3AtPmRhdGE7CisK KwlwYXJzZV9kb3duc3RyZWFtX2luZm8oZHNfaW5mbyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNTsg aSsrKQorCQlmYWNzaW1pbGVfc3JtW2kgKyA5XSA9IGRzX2luZm8tPmJrc3ZbaV07Cit9CisKIHN0 YXRpYyB2b2lkIGZsaXBfaGFuZGxlcihpbnQgZmQsIHVuc2lnbmVkIGludCBzZXF1ZW5jZSwgdW5z aWduZWQgaW50IHR2X3NlYywKIAkJCSB1bnNpZ25lZCBpbnQgdHZfdXNlYywgdm9pZCAqX2RhdGEp CiB7CkBAIC0yMTQsNyArMzI0LDggQEAgc3RhdGljIHZvaWQgdGVzdF9jcF9kaXNhYmxlKGlndF9v dXRwdXRfdCAqb3V0cHV0LCBlbnVtIGlndF9jb21taXRfc3R5bGUgcykKIAogc3RhdGljIHZvaWQg dGVzdF9jcF9lbmFibGVfd2l0aF9yZXRyeShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKIAkJCQkgICAg ICBlbnVtIGlndF9jb21taXRfc3R5bGUgcywgaW50IHJldHJ5LAotCQkJCSAgICAgIGludCBjb250 ZW50X3R5cGUsIGJvb2wgZXhwZWN0X2ZhaWx1cmUpCisJCQkJICAgICAgaW50IGNvbnRlbnRfdHlw ZSwgYm9vbCBleHBlY3RfZmFpbHVyZSwKKwkJCQkgICAgICBib29sIHRlc3Rfc3JtKQogewogCWJv b2wgcmV0OwogCkBAIC0yMjksNiArMzQwLDkgQEAgc3RhdGljIHZvaWQgdGVzdF9jcF9lbmFibGVf d2l0aF9yZXRyeShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKIAlpZiAoZXhwZWN0X2ZhaWx1cmUpCiAJ CWlndF9hc3NlcnRfZighcmV0LAogCQkJICAgICAiQ1AgRW5hYmxlZC4gVGhvdWdoIGl0IGlzIGV4 cGVjdGVkIHRvIGZhaWxcbiIpOworCWVsc2UgaWYgKHRlc3Rfc3JtKQorCQlpZ3RfYXNzZXJ0X2Yo IXJldCwKKwkJCSAgICAgIkNQIEVuYWJsZWQuIFRob3VnaCBJRCBpcyByZXZva2VkIHRocm91Z2gg U1JNXG4iKTsKIAllbHNlCiAJCWlndF9hc3NlcnRfZihyZXQsICJDb250ZW50IFByb3RlY3Rpb24g bm90IGVuYWJsZWRcbiIpOwogfQpAQCAtMjUzLDE1ICszNjcsMzAgQEAgc3RhdGljIHZvaWQgdGVz dF9jcF9saWMoaWd0X291dHB1dF90ICpvdXRwdXQpCiAJaWd0X2Fzc2VydF9mKCFyZXQsICJDb250 ZW50IFByb3RlY3Rpb24gTElDIEZhaWxlZFxuIik7CiB9CiAKK3N0YXRpYyBib29sIHdyaXRlX3Ny bV9pbnRvX3N5c2ZzKGNvbnN0IGNoYXIgKnNybSwgaW50IGxlbikKK3sKKwlpbnQgZmQ7CisJYm9v bCByZXQgPSBmYWxzZTsKKworCWZkID0gaWd0X3N5c2ZzX29wZW4oZGF0YS5kcm1fZmQsIE5VTEwp OworCWlmIChmZCA+IDApIHsKKwkJaWYgKGlndF9zeXNmc193cml0ZShmZCwgImhkY3Bfc3JtIiwg c3JtLCBsZW4pID09IGxlbikKKwkJCXJldCA9IHRydWU7CisJCWNsb3NlKGZkKTsKKwl9CisJcmV0 dXJuIHJldDsKK30KKwogc3RhdGljIHZvaWQKIHRlc3RfY29udGVudF9wcm90ZWN0aW9uX29uX291 dHB1dChpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMsCiAJCQkJ ICBib29sIGRwbXNfdGVzdCwgaW50IGNvbnRlbnRfdHlwZSwKLQkJCQkgIGJvb2wgbWVpX3JlbG9h ZF90ZXN0KQorCQkJCSAgYm9vbCBtZWlfcmVsb2FkX3Rlc3QsIGJvb2wgdGVzdF9zcm0pCiB7CiAJ aWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZkYXRhLmRpc3BsYXk7CiAJaWd0X3BsYW5lX3QgKnBy aW1hcnk7CiAJZW51bSBwaXBlIHBpcGU7Ci0JYm9vbCByZXQ7CisJYm9vbCByZXQsIHNybV9tb2Rp ZmllZCA9IGZhbHNlOworCWludCBpOwogCiAJZm9yX2VhY2hfcGlwZShkaXNwbGF5LCBwaXBlKSB7 CiAJCWlmICghaWd0X3BpcGVfY29ubmVjdG9yX3ZhbGlkKHBpcGUsIG91dHB1dCkpCkBAIC0yNzYs OCArNDA1LDEwIEBAIHRlc3RfY29udGVudF9wcm90ZWN0aW9uX29uX291dHB1dChpZ3Rfb3V0cHV0 X3QgKm91dHB1dCwgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMsCiAJCWlmICghaWd0X3BpcGVfaXNf ZnJlZShkaXNwbGF5LCBwaXBlKSkKIAkJCWNvbnRpbnVlOwogCisJCXNybV9tb2RpZmllZCA9IGZh bHNlOwogCQltb2Rlc2V0X3dpdGhfZmIocGlwZSwgb3V0cHV0LCBzKTsKLQkJdGVzdF9jcF9lbmFi bGVfd2l0aF9yZXRyeShvdXRwdXQsIHMsIDMsIGNvbnRlbnRfdHlwZSwgZmFsc2UpOworCQl0ZXN0 X2NwX2VuYWJsZV93aXRoX3JldHJ5KG91dHB1dCwgcywgMywgY29udGVudF90eXBlLCBmYWxzZSwK KwkJCQkJICBmYWxzZSk7CiAKIAkJaWYgKG1laV9yZWxvYWRfdGVzdCkgewogCQkJaWd0X2Fzc2Vy dF9mKCFpZ3Rfa21vZF91bmxvYWQoIm1laV9oZGNwIiwgMCksCkBAIC0yOTcsNiArNDI4LDMzIEBA IHRlc3RfY29udGVudF9wcm90ZWN0aW9uX29uX291dHB1dChpZ3Rfb3V0cHV0X3QgKm91dHB1dCwg ZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMsCiAKIAkJdGVzdF9jcF9saWMob3V0cHV0KTsKIAorCQlp ZiAob3V0cHV0LT5wcm9wc1tJR1RfQ09OTkVDVE9SX0NQX0RPV05TVFJFQU1fSU5GT10gJiYKKwkJ ICAgIHRlc3Rfc3JtKSB7CisJCQlyZXRyaWV2ZV9kb3duc3RyZWFtX2luZm9fcHJlcGFyZV9zcm0o b3V0cHV0KTsKKwkJCXNybV9tb2RpZmllZCA9CisJCQkJd3JpdGVfc3JtX2ludG9fc3lzZnMoKGNv bnN0IGNoYXIgKilmYWNzaW1pbGVfc3JtLAorCQkJCQkJICAgICBzaXplb2YoZmFjc2ltaWxlX3Ny bSkpOworCQkJaWd0X2Fzc2VydF9mKHNybV9tb2RpZmllZCwgIlNSTSB1cGRhdGUgZmFpbGVkIik7 CisJCX0KKworCQlpZiAodGVzdF9zcm0gJiYgc3JtX21vZGlmaWVkKSB7CisJCQl0ZXN0X2NwX2Rp c2FibGUob3V0cHV0LCBzKTsKKwkJCXRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnkob3V0cHV0LCBz LCAzLCBjb250ZW50X3R5cGUsCisJCQkJCQkgIGZhbHNlLCB0ZXN0X3NybSk7CisKKwkJCS8qIFJl bW92aW5nIHRoZSBzaW5rJ3MgUmVjZWl2ZXIgSUQgZnJvbSBTUk0gQmxvYiAqLworCQkJZm9yIChp ID0gMDsgaSA8IDU7IGkrKykKKwkJCQlmYWNzaW1pbGVfc3JtW2kgKyA5XSA9IDA7CisKKwkJCXNy bV9tb2RpZmllZCA9CisJCQkJd3JpdGVfc3JtX2ludG9fc3lzZnMoKGNvbnN0IGNoYXIgKilmYWNz aW1pbGVfc3JtLAorCQkJCQkJICAgICBzaXplb2YoZmFjc2ltaWxlX3NybSkpOworCQkJaWd0X2Fz c2VydF9mKHNybV9tb2RpZmllZCwgIlNSTSB1cGRhdGUgZmFpbGVkIik7CisKKwkJCXRlc3RfY3Bf ZW5hYmxlX3dpdGhfcmV0cnkob3V0cHV0LCBzLCAxLCBjb250ZW50X3R5cGUsCisJCQkJCQkgIGZh bHNlLCBmYWxzZSk7CisJCX0KKwogCQlpZiAoZHBtc190ZXN0KSB7CiAJCQlpZ3RfcGlwZV9zZXRf cHJvcF92YWx1ZShkaXNwbGF5LCBwaXBlLAogCQkJCQkJSUdUX0NSVENfQUNUSVZFLCAwKTsKQEAg LTMxMCw3ICs0NjgsOCBAQCB0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRwdXQoaWd0X291 dHB1dF90ICpvdXRwdXQsIGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzLAogCQkJCQkJICBLRVJORUxf QVVUSF9USU1FX0FMTE9XRURfTVNFQyk7CiAJCQlpZiAoIXJldCkKIAkJCQl0ZXN0X2NwX2VuYWJs ZV93aXRoX3JldHJ5KG91dHB1dCwgcywgMiwKLQkJCQkJCQkgIGNvbnRlbnRfdHlwZSwgZmFsc2Up OworCQkJCQkJCSAgY29udGVudF90eXBlLCBmYWxzZSwKKwkJCQkJCQkgIGZhbHNlKTsKIAkJfQog CiAJCXRlc3RfY3BfZGlzYWJsZShvdXRwdXQsIHMpOwpAQCAtMzc1LDcgKzUzNCw4IEBAIHN0YXRp YyBib29sIHNpbmtfaGRjcDJfY2FwYWJsZShpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKIAogc3RhdGlj IHZvaWQKIHRlc3RfY29udGVudF9wcm90ZWN0aW9uKGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzLCBi b29sIGRwbXNfdGVzdCwKLQkJCWludCBjb250ZW50X3R5cGUsIGJvb2wgbWVpX3JlbG9hZF90ZXN0 KQorCQkJaW50IGNvbnRlbnRfdHlwZSwgYm9vbCBtZWlfcmVsb2FkX3Rlc3QsCisJCQlib29sIHRl c3Rfc3JtKQogewogCWlndF9kaXNwbGF5X3QgKmRpc3BsYXkgPSAmZGF0YS5kaXNwbGF5OwogCWln dF9vdXRwdXRfdCAqb3V0cHV0OwpAQCAtNDA3LDcgKzU2Nyw3IEBAIHRlc3RfY29udGVudF9wcm90 ZWN0aW9uKGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzLCBib29sIGRwbXNfdGVzdCwKIAogCQl0ZXN0 X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRwdXQob3V0cHV0LCBzLCBkcG1zX3Rlc3QsCiAJCQkJ CQkgIGNvbnRlbnRfdHlwZSwKLQkJCQkJCSAgbWVpX3JlbG9hZF90ZXN0KTsKKwkJCQkJCSAgbWVp X3JlbG9hZF90ZXN0LCB0ZXN0X3NybSk7CiAJCXZhbGlkX3Rlc3RzKys7CiAJfQogCkBAIC00MjYs MzIgKzU4Niw1OSBAQCBpZ3RfbWFpbgogCiAJaWd0X3N1YnRlc3QoImxlZ2FjeSIpCiAJCXRlc3Rf Y29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9MRUdBQ1ksIGZhbHNlLCBDUF9UWVBFXzAsCi0JCQkJ CWZhbHNlKTsKKwkJCQkJZmFsc2UsIGZhbHNlKTsKIAogCWlndF9zdWJ0ZXN0KCJhdG9taWMiKSB7 CiAJCWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOwogCQl0ZXN0X2NvbnRlbnRf cHJvdGVjdGlvbihDT01NSVRfQVRPTUlDLCBmYWxzZSwgQ1BfVFlQRV8wLAotCQkJCQlmYWxzZSk7 CisJCQkJCWZhbHNlLCBmYWxzZSk7CiAJfQogCiAJaWd0X3N1YnRlc3QoImF0b21pYy1kcG1zIikg ewogCQlpZ3RfcmVxdWlyZShkYXRhLmRpc3BsYXkuaXNfYXRvbWljKTsKIAkJdGVzdF9jb250ZW50 X3Byb3RlY3Rpb24oQ09NTUlUX0FUT01JQywgdHJ1ZSwgQ1BfVFlQRV8wLAotCQkJCQlmYWxzZSk7 CisJCQkJCWZhbHNlLCBmYWxzZSk7CiAJfQogCiAJaWd0X3N1YnRlc3QoIlR5cGUxIikgewogCQlp Z3RfcmVxdWlyZShkYXRhLmRpc3BsYXkuaXNfYXRvbWljKTsKIAkJdGVzdF9jb250ZW50X3Byb3Rl Y3Rpb24oQ09NTUlUX0FUT01JQywgZmFsc2UsIENQX1RZUEVfMSwKLQkJCQkJZmFsc2UpOworCQkJ CQlmYWxzZSwgZmFsc2UpOwogCX0KIAogCWlndF9zdWJ0ZXN0KCJ0eXBlMV9tZWlfaW50ZXJmYWNl IikgewogCQlpZ3RfcmVxdWlyZShkYXRhLmRpc3BsYXkuaXNfYXRvbWljKTsKIAkJdGVzdF9jb250 ZW50X3Byb3RlY3Rpb24oQ09NTUlUX0FUT01JQywgZmFsc2UsIENQX1RZUEVfMSwKLQkJCQkJdHJ1 ZSk7CisJCQkJCXRydWUsIGZhbHNlKTsKIAl9CiAKKwkvKgorCSAqIFNSTSBzdWJ0ZXN0IHBlcmZv cm0gdGhlIEhEQ1AgYXV0aGVudGljYXRpb24sIGFuZCB0aGVuIHJldHJpdmUgdGhlCisJICogcmVj ZWl2ZXIgaWQgdGhyb3VnaCBkb3duc3RyZWFtIGluZm8uCisJICoKKwkgKiBVc2luZyB0aGUgcmVj ZWl2ZXIgSUQsIGZhY3NpbWlsZSBTUk0gdGFibGUgaXMgbW9kaWZpZWQgd2l0aAorCSAqIHJlY2Vp dmVyIElEIHJldHJpZXZlZCBmcm9tIHRlaCBkb3duc3RyZWFtIGluZm8uIEFmdGVyIG1vZGlmaWNh dGlvbgorCSAqIFNSTSB0YWJsZSBpcyBub3QgaW50YWN0IGFzIHBlciBEQ1AgU2lnbmF0dXJlLgor CSAqCisJICogQnV0IEtlcm5lbCBiZWxpZXZlcyB1c2Vyc3BhY2UgYW5kIGRvZXNuJ3QgdmVyaWZ5 IHRoZSBEQ1Agc2lnbmF0dXJlLgorCSAqIFNvIHdlIGNhbiBleHBsb2l0ZSB0aGF0IHRydXN0IHRv IHRlc3QgdGhlIFNSTSBhbmQgZG93bnN0cmVhbSBpbmZvCisJICogZmVhdHVyZXMuCisJICoKKwkg KiBTbyB3aGVuIG1vZGlmaWVkIFNSTSBpcyBhcHBsaWVkIEF1dGhlbnRpY2F0aW9uIHdpbGwgZmFp bCBkdWUgdG8KKwkgKiByZWNlaXZlciBJRCByZXZvY2F0aW9uLgorCSAqCisJICogQW5kIEtlcm5l bCBhdHRlbXB0cyBIRENQMi4yIGFsd2F5cyBhbmQgb24gZmFpbHVyZSBvZiBpdCBIRENQMS40CisJ ICogd2lsbCBiZSBhdHRlbXB0ZWQuIEJ1dCB0aGVpciBJRCBvZiB0aGUgc2luayB2YXJpZXMgYmV0 d2VlbiAxLjQgYW5kCisJICogMi4yIHZlcnNpb25zLiBTbyB3ZSBuZWVkIHRvIHN0aWNrIHRvIG9u ZSB2ZXJzaW9uLiBIZW5jZSBIRENQMi4yIGlzCisJICogY2hvb3NlbiB1c2luZyBUeXBlIDEuCisJ ICovCisJaWd0X3N1YnRlc3QoInNybSIpIHsKKwkJaWd0X3JlcXVpcmUoZGF0YS5kaXNwbGF5Lmlz X2F0b21pYyk7CisJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9NSUMsIGZhbHNl LCBDUF9UWVBFXzEsCisJCQkJCWZhbHNlLCB0cnVlKTsKKwl9CisKKwogCWlndF9maXh0dXJlCiAJ CWlndF9kaXNwbGF5X2ZpbmkoJmRhdGEuZGlzcGxheSk7CiB9Ci0tIAoyLjE5LjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBs aXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==