From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4866889C6E for ; Tue, 26 Feb 2019 07:29:22 +0000 (UTC) From: Ramalingam C Date: Tue, 26 Feb 2019 12:53:24 +0530 Message-Id: <1551165805-19130-4-git-send-email-ramalingam.c@intel.com> In-Reply-To: <1551165805-19130-1-git-send-email-ramalingam.c@intel.com> References: <1551165805-19130-1-git-send-email-ramalingam.c@intel.com> Subject: [igt-dev] [PATCH i-g-t 3/4] kms_content_protection: srm and downstream_info test List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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 IGFuZAp2ZXJpZnkgdGhlIHJldm9jYXRpb24gcHJvY2Vzcy4KCkFkZHMgdHdvIG1vcmUgY29ubmVj dG9yIHByb3BlcnRpZXMgY2FsbGVkIENQX1NSTSBhbmQgQ1BfRG93bnN0cmVhbV9JbmZvCgpTUk0g c3RpdGNoZWQgaGVyZSBpcyBwb2xsdXRlZC4gS2VybmVsIHRydXN0cyB0aGUgdXNlcnNwYWNlIHRv IHZhbGlkYXRlCnRoZSBTUk0gaW50ZWdyaXR5IHRocm91Z2ggRENQIHNpZ25hdHVyZS4gQWN0dWFs bHkgdGhpcyB0ZXN0IGV4cGxvaXRzCnRoYXQgdHJ1c3QgdG8gdGVzdCBTUk0gYW5kIGRvd25zdHJl YW1faW5mbyBmZWF0dXJlcy4KCkhEQ1AxLjQgQktTViBhbmQgSERDUDIuMiByZWNlaXZlciBpZCBv ZiBhIEhEQ1Agc2luayBpcyBkaWZmZXJlbnQuIFNvIHdlCm5lZWQgdG8gZm9yY2UgdGhlIEtNRCB0 byB1c2UgYSBzaW5nbGUgSERDUCB2ZXJzaW9uIGFjcm9zcwpkb3duc3RyZWFtX2luZm8gZ2F0aGVy aW5nIGFuZCBTUk0gc2V0dGluZyBhbmQgdmVyaWZ5aW5nIHRlaCByZXZvY2F0aW9uCnByb2Nlc3Mu IFNvIFR5cGUgMSBpcyB1c2VkLgoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGlu Z2FtLmNAaW50ZWwuY29tPgotLS0KIGxpYi9pZ3Rfa21zLmMgICAgICAgICAgICAgICAgICB8ICAg MiArCiBsaWIvaWd0X2ttcy5oICAgICAgICAgICAgICAgICAgfCAgIDIgKwogdGVzdHMva21zX2Nv bnRlbnRfcHJvdGVjdGlvbi5jIHwgMjAxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDE5MSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5jIGIvbGliL2lndF9rbXMuYwppbmRleCBi M2QxYzM0NTYxNTcuLjUyOGNmZTQ1NDgxNiAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuYworKysg Yi9saWIvaWd0X2ttcy5jCkBAIC0yMDAsNiArMjAwLDggQEAgY29uc3QgY2hhciAqIGNvbnN0IGln dF9jb25uZWN0b3JfcHJvcF9uYW1lc1tJR1RfTlVNX0NPTk5FQ1RPUl9QUk9QU10gPSB7CiAJW0lH VF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OXSA9ICJDb250ZW50IFByb3RlY3Rpb24iLAog CVtJR1RfQ09OTkVDVE9SX1ZSUl9DQVBBQkxFXSA9ICJ2cnJfY2FwYWJsZSIsCiAJW0lHVF9DT05O RUNUT1JfQ1BfQ09OVEVOVF9UWVBFXSA9ICJDUF9Db250ZW50X1R5cGUiLAorCVtJR1RfQ09OTkVD VE9SX0NQX1NSTV0gPSAiQ1BfU1JNIiwKKwlbSUdUX0NPTk5FQ1RPUl9DUF9ET1dOU1RSRUFNX0lO Rk9dID0gIkNQX0Rvd25zdHJlYW1fSW5mbyIsCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvbGliL2ln dF9rbXMuaCBiL2xpYi9pZ3Rfa21zLmgKaW5kZXggZTE1MmI2YTJlZDU1Li5mN2ZiODhkN2U1ZTYg MTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rfa21zLmgKKysrIGIvbGliL2lndF9rbXMuaApAQCAtMTI0LDYg KzEyNCw4IEBAIGVudW0gaWd0X2F0b21pY19jb25uZWN0b3JfcHJvcGVydGllcyB7CiAgICAgICAg SUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJT04sCiAgICAgICAgSUdUX0NPTk5FQ1RPUl9W UlJfQ0FQQUJMRSwKICAgICAgICBJR1RfQ09OTkVDVE9SX0NQX0NPTlRFTlRfVFlQRSwKKyAgICAg ICBJR1RfQ09OTkVDVE9SX0NQX1NSTSwKKyAgICAgICBJR1RfQ09OTkVDVE9SX0NQX0RPV05TVFJF QU1fSU5GTywKICAgICAgICBJR1RfTlVNX0NPTk5FQ1RPUl9QUk9QUwogfTsKIApkaWZmIC0tZ2l0 IGEvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jIGIvdGVzdHMva21zX2NvbnRlbnRfcHJv dGVjdGlvbi5jCmluZGV4IDQ1NjNhNjA2N2EzMi4uYzQxZTk2ODRkZWI2IDEwMDY0NAotLS0gYS90 ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMKKysrIGIvdGVzdHMva21zX2NvbnRlbnRfcHJv dGVjdGlvbi5jCkBAIC01NSw2ICs1NSwxMDkgQEAgc3RydWN0IGRhdGEgewogI2RlZmluZSBGTElQ X0VWRU5UX1BPTExJTkdfVElNRU9VVF9NU0VDCQkxMDAwCiAKIAorI2RlZmluZSBEUk1fTU9ERV9I RENQX0tTVl9MRU4JCQk1CisjZGVmaW5lIERSTV9NT0RFX0hEQ1BfTUFYX0RFVklDRV9DTlQJCTEy NworCisjZGVmaW5lIERSTV9NT0RFX0hEQ1AxNF9JTl9GT1JDRQkJKDEgPDwgMCkKKyNkZWZpbmUg RFJNX01PREVfSERDUDIyX0lOX0ZPUkNFCQkoMSA8PCAxKQorCitzdHJ1Y3QgY3BfZG93bnN0cmVh bV9pbmZvIHsKKwkvKiBIRENQIHZlciBpbiBmb3JjZSAqLworCV9fdTMyIHZlcl9pbl9mb3JjZTsK KwlfX3U4IGNvbnRlbnRfdHlwZTsKKworCS8qIEtTViBvZiBpbW1lZGlhdGUgSERDUCBTaW5rLiBJ biBMaXR0bGUtRW5kaWFuIEZvcm1hdC4gKi8KKwljaGFyIGJrc3ZbRFJNX01PREVfSERDUF9LU1Zf TEVOXTsKKworCS8qIFdoZXRoZXIgSW1tZWRpYXRlIEhEQ1Agc2luayBpcyBhIHJlcGVhdGVyPyAq LworCWJvb2wgaXNfcmVwZWF0ZXI7CisKKwkvKiBEZXB0aCByZWNlaXZlZCBmcm9tIGltbWVkaWF0 ZSBkb3duc3RyZWFtIHJlcGVhdGVyICovCisJX191OCBkZXB0aDsKKworCS8qIERldmljZSBjb3Vu dCByZWNlaXZlZCBmcm9tIGltbWVkaWF0ZSBkb3duc3RyZWFtIHJlcGVhdGVyICovCisJX191MzIg ZGV2aWNlX2NvdW50OworCisJLyoKKwkgKiBNYXggYnVmZmVyIHJlcXVpcmVkIHRvIGhvbGQga3N2 IGxpc3QgcmVjZWl2ZWQgZnJvbSBpbW1lZGlhdGUKKwkgKiByZXBlYXRlci4gSW4gdGhpcyBhcnJh eSBmaXJzdCBkZXZpY2VfY291bnQgKiBEUk1fTU9ERV9IRENQX0tTVl9MRU4KKwkgKiB3aWxsIGhv bGQgdGhlIHZhbGlkIGtzdiBieXRlcy4KKwkgKiBJZiBhdXRoZW50aWNhdGlvbiBzcGVjaWZpY2F0 aW9uIGlzCisJICogICAgICBIRENQMS40IC0gZWFjaCBLU1YncyBCeXRlcyB3aWxsIGJlIGluIExp dHRsZS1FbmRpYW4gZm9ybWF0LgorCSAqICAgICAgSERDUDIuMiAtIGVhY2ggS1NWJ3MgQnl0ZXMg d2lsbCBiZSBpbiBCaWctRW5kaWFuIGZvcm1hdC4KKwkgKi8KKwljaGFyIGtzdl9saXN0W0RSTV9N T0RFX0hEQ1BfS1NWX0xFTiAqIERSTV9NT0RFX0hEQ1BfTUFYX0RFVklDRV9DTlRdOworfTsKKwor X191OCBmYWNzaW1pbGVfc3JtW10gPSB7CisJMHg4MCwgMHgwLCAweDAsIDB4MDUsIDB4MDEsIDB4 MCwgMHgwLCAweDM2LCAweDAyLCAweDUxLCAweDFFLCAweEYyLAorCTB4MUEsIDB4Q0QsIDB4RTcs IDB4MjYsIDB4OTcsIDB4RjQsIDB4MDEsIDB4OTcsIDB4MTAsIDB4MTksIDB4OTIsIDB4NTMsCisJ MHhFOSwgMHhGMCwgMHg1OSwgMHg5NSwgMHhBMywgMHg3QSwgMHgzQiwgMHhGRSwgMHhFMCwgMHg5 QywgMHg3NiwgMHhERCwKKwkweDgzLCAweEFBLCAweEMyLCAweDVCLCAweDI0LCAweEIzLCAweDM2 LCAweDg0LCAweDk0LCAweDc1LCAweDM0LCAweERCLAorCTB4MTAsIDB4OUUsIDB4M0IsIDB4MjMs IDB4MTMsIDB4RDgsIDB4N0EsIDB4QzIsIDB4MzAsIDB4NzksIDB4ODR9OworCitzdGF0aWMgdm9p ZCBwYXJzZV9kb3duc3RyZWFtX2luZm8oc3RydWN0IGNwX2Rvd25zdHJlYW1faW5mbyAqZHNfaW5m bykKK3sKKwljaGFyICprc3ZzOworCWludCBpOworCisJaWYgKGRzX2luZm8tPnZlcl9pbl9mb3Jj ZSAmIERSTV9NT0RFX0hEQ1AxNF9JTl9GT1JDRSkKKwkJaWd0X2RlYnVnKCJIRENQMS40IGlzIEVu YWJsZWRcbiIpOworCWVsc2UgaWYgKGRzX2luZm8tPnZlcl9pbl9mb3JjZSAmIERSTV9NT0RFX0hE Q1AyMl9JTl9GT1JDRSkKKwkJaWd0X2RlYnVnKCJIRENQMi4yIGlzIEVuYWJsZWQuIFR5cGUlZFxu IiwKKwkJCSAgZHNfaW5mby0+Y29udGVudF90eXBlICYgQ1BfVFlQRV8xID8gMSA6IDApOworCWVs c2UKKwkJcmV0dXJuOworCisJaWd0X2RlYnVnKCJcdFJlY2VpdmVyIElEOiAlIzA0eCAlIzA0eCAl IzA0eCAlIzA0eCAlIzA0eFxuIiwKKwkJICBkc19pbmZvLT5ia3N2WzBdICYgMHhGRiwgZHNfaW5m by0+YmtzdlsxXSAmIDB4RkYsCisJCSAgZHNfaW5mby0+YmtzdlsyXSAmIDB4RkYsIGRzX2luZm8t PmJrc3ZbM10gJiAweEZGLAorCQkgIGRzX2luZm8tPmJrc3ZbNF0gJiAweEZGKTsKKworCWlmIChk c19pbmZvLT5pc19yZXBlYXRlcikgeworCQlpZ3RfZGVidWcoIlx0SERDUCBzaW5rIGlzIGEgUmVw ZWF0ZXJcbiIpOworCisJCWlndF9kZWJ1ZygiXHREZXB0aDogJWQsIERldmljZSBjb3VudDogJWRc biIsIGRzX2luZm8tPmRlcHRoLAorCQkJICBkc19pbmZvLT5kZXZpY2VfY291bnQpOworCQlrc3Zz ID0gZHNfaW5mby0+a3N2X2xpc3Q7CisKKwkJZm9yIChpID0gMDsgaSA8IGRzX2luZm8tPmRldmlj ZV9jb3VudDsgaSsrKSB7CisJCQlpZ3RfZGVidWcoIlx0a3N2LSVkOiAlIzA0eCAlIzA0eCAlIzA0 eCAlIzA0eCAlIzA0eFxuIiwgaSwKKwkJCQkgIGtzdnNbMF0gJiAweEZGLCBrc3ZzWzFdICYgMHhG RiwKKwkJCQkgIGtzdnNbMl0gJiAweEZGLCBrc3ZzWzNdICYgMHhGRiwKKwkJCQkgIGtzdnNbNF0g JiAweEZGKTsKKwkJCWtzdnMgKz0gRFJNX01PREVfSERDUF9LU1ZfTEVOOworCQl9CisJfSBlbHNl IHsKKwkJaWd0X2RlYnVnKCJcdEhEQ1Agc2luayBpcyBhIFJlY2VpdmVyXG4iKTsKKwl9Cit9CisK K3N0YXRpYyB2b2lkIHJldHJpZXZlX2Rvd25zdHJlYW1faW5mb19wcmVwYXJlX3NybShpZ3Rfb3V0 cHV0X3QgKm91dHB1dCkKK3sKKwlkcm1Nb2RlUHJvcGVydHlCbG9iUmVzICpkc19pbmZvX3Byb3Ag PSBOVUxMOworCXVpbnQ2NF90IGRvd25zdHJlYW1fYmxvYl9pZDsKKwlzdHJ1Y3QgY3BfZG93bnN0 cmVhbV9pbmZvICpkc19pbmZvOworCWludCBpOworCisJaWd0X2RlYnVnKCJDUF9kb3duc3RyZWFt X2luZm8gcHJvcGVydHkgaXMgYXR0YWNoZWRcbiIpOworCisJZG93bnN0cmVhbV9ibG9iX2lkID0K KwkJaWd0X291dHB1dF9nZXRfcHJvcChvdXRwdXQsIElHVF9DT05ORUNUT1JfQ1BfRE9XTlNUUkVB TV9JTkZPKTsKKworCWlndF9hc3NlcnRfZihkb3duc3RyZWFtX2Jsb2JfaWQsICJJbnZhbGlkIGRv d25zdHJlYW0gYmxvYiBpZFxuIik7CisJZHNfaW5mb19wcm9wID0gZHJtTW9kZUdldFByb3BlcnR5 QmxvYihkYXRhLmRybV9mZCwgZG93bnN0cmVhbV9ibG9iX2lkKTsKKworCWlndF9hc3NlcnQoZHNf aW5mb19wcm9wKTsKKwlpZ3RfYXNzZXJ0X2VxKGRzX2luZm9fcHJvcC0+bGVuZ3RoLCBzaXplb2Yo c3RydWN0IGNwX2Rvd25zdHJlYW1faW5mbykpOworCWRzX2luZm8gPSBkc19pbmZvX3Byb3AtPmRh dGE7CisKKwlwYXJzZV9kb3duc3RyZWFtX2luZm8oZHNfaW5mbyk7CisKKwlmb3IgKGkgPSAwOyBp IDwgNTsgaSsrKQorCQlmYWNzaW1pbGVfc3JtW2kgKyA5XSA9IGRzX2luZm8tPmJrc3ZbaV07Cit9 CisKIHN0YXRpYyB2b2lkIGZsaXBfaGFuZGxlcihpbnQgZmQsIHVuc2lnbmVkIGludCBzZXF1ZW5j ZSwgdW5zaWduZWQgaW50IHR2X3NlYywKIAkJCSB1bnNpZ25lZCBpbnQgdHZfdXNlYywgdm9pZCAq X2RhdGEpCiB7CkBAIC0xNjQsNyArMjY3LDcgQEAgc3RhdGljIHZvaWQgbW9kZXNldF93aXRoX2Zi KGNvbnN0IGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKIH0KIAogc3RhdGlj IGJvb2wgdGVzdF9jcF9lbmFibGUoaWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0gaWd0X2NvbW1p dF9zdHlsZSBzLAotCQkJICAgaW50IGNvbnRlbnRfdHlwZSkKKwkJCSAgIGludCBjb250ZW50X3R5 cGUsIGJvb2wgdGVzdF9zcm0pCiB7CiAJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZkYXRhLmRp c3BsYXk7CiAJaWd0X3BsYW5lX3QgKnByaW1hcnk7CkBAIC0xNzIsNiArMjc1LDI1IEBAIHN0YXRp YyBib29sIHRlc3RfY3BfZW5hYmxlKGlndF9vdXRwdXRfdCAqb3V0cHV0LCBlbnVtIGlndF9jb21t aXRfc3R5bGUgcywKIAogCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKG91dHB1 dCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7CiAKKwlpZiAob3V0cHV0LT5wcm9wc1tJR1RfQ09O TkVDVE9SX0NQX1NSTV0pIHsKKwkJaWYgKHRlc3Rfc3JtKSB7CisJCQlpZ3RfZGVidWcoIkNQX1NS TSBwcm9wZXJ0eSBpcyB1cGRhdGVkIHdpdGggU1JNXG4iKTsKKworCQkJLyogU2V0IFNSTSBCbG9i IHRvIENSX1NSTSBwcm9wZXJ0eSAqLworCQkJaWd0X291dHB1dF9yZXBsYWNlX3Byb3BfYmxvYihv dXRwdXQsCisJCQkJCQkgICAgIElHVF9DT05ORUNUT1JfQ1BfU1JNLAorCQkJCQkJICAgICBmYWNz aW1pbGVfc3JtLAorCQkJCQkJICAgICBzaXplb2YoZmFjc2ltaWxlX3NybSkpOworCQl9IGVsc2Ug aWYgKG91dHB1dC0+dmFsdWVzW0lHVF9DT05ORUNUT1JfQ1BfU1JNXSkgeworCQkJaWd0X2RlYnVn KCJDUF9TUk0gcHJvcGVydHkgaXMgY2xlYXJlZFxuIik7CisKKwkJCS8qIFNldCBTUk0gQmxvYiB0 byBDUl9TUk0gcHJvcGVydHkgKi8KKwkJCWlndF9vdXRwdXRfcmVwbGFjZV9wcm9wX2Jsb2Iob3V0 cHV0LAorCQkJCQkJICAgICBJR1RfQ09OTkVDVE9SX0NQX1NSTSwKKwkJCQkJCSAgICAgTlVMTCwg MCk7CisJCX0KKwl9CisKIAlpZ3Rfb3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1dCwKIAkJCQkg IElHVF9DT05ORUNUT1JfQ09OVEVOVF9QUk9URUNUSU9OLCBDUF9ERVNJUkVEKTsKIAlpZiAob3V0 cHV0LT5wcm9wc1tJR1RfQ09OTkVDVE9SX0NQX0NPTlRFTlRfVFlQRV0pCkBAIC0yMTQsMTMgKzMz NiwxNCBAQCBzdGF0aWMgdm9pZCB0ZXN0X2NwX2Rpc2FibGUoaWd0X291dHB1dF90ICpvdXRwdXQs IGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzKQogCiBzdGF0aWMgdm9pZCB0ZXN0X2NwX2VuYWJsZV93 aXRoX3JldHJ5KGlndF9vdXRwdXRfdCAqb3V0cHV0LAogCQkJCSAgICAgIGVudW0gaWd0X2NvbW1p dF9zdHlsZSBzLCBpbnQgcmV0cnksCi0JCQkJICAgICAgaW50IGNvbnRlbnRfdHlwZSwgYm9vbCBl eHBlY3RfZmFpbHVyZSkKKwkJCQkgICAgICBpbnQgY29udGVudF90eXBlLCBib29sIGV4cGVjdF9m YWlsdXJlLAorCQkJCSAgICAgIGJvb2wgdGVzdF9zcm0pCiB7CiAJYm9vbCByZXQ7CiAKIAlkbyB7 CiAJCXRlc3RfY3BfZGlzYWJsZShvdXRwdXQsIHMpOwotCQlyZXQgPSB0ZXN0X2NwX2VuYWJsZShv dXRwdXQsIHMsIGNvbnRlbnRfdHlwZSk7CisJCXJldCA9IHRlc3RfY3BfZW5hYmxlKG91dHB1dCwg cywgY29udGVudF90eXBlLCB0ZXN0X3NybSk7CiAKIAkJaWYgKCFyZXQgJiYgLS1yZXRyeSkKIAkJ CWlndF9kZWJ1ZygiUmV0cnkgKCVkLzIpIC4uLlxuIiwgMyAtIHJldHJ5KTsKQEAgLTIyOSw2ICsz NTIsOSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2NwX2VuYWJsZV93aXRoX3JldHJ5KGlndF9vdXRwdXRf dCAqb3V0cHV0LAogCWlmIChleHBlY3RfZmFpbHVyZSkKIAkJaWd0X2Fzc2VydF9mKCFyZXQsCiAJ CQkgICAgICJDUCBFbmFibGVkLiBUaG91Z2ggaXQgaXMgZXhwZWN0ZWQgdG8gZmFpbFxuIik7CisJ ZWxzZSBpZiAodGVzdF9zcm0pCisJCWlndF9hc3NlcnRfZighcmV0LAorCQkJICAgICAiQ1AgRW5h YmxlZC4gVGhvdWdoIElEIGlzIHJldm9rZWQgdGhyb3VnaCBTUk1cbiIpOwogCWVsc2UKIAkJaWd0 X2Fzc2VydF9mKHJldCwgIkNvbnRlbnQgUHJvdGVjdGlvbiBub3QgZW5hYmxlZFxuIik7CiB9CkBA IC0yNTYsMTIgKzM4MiwxMiBAQCBzdGF0aWMgdm9pZCB0ZXN0X2NwX2xpYyhpZ3Rfb3V0cHV0X3Qg Km91dHB1dCkKIHN0YXRpYyB2b2lkCiB0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRwdXQo aWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzLAogCQkJCSAgYm9v bCBkcG1zX3Rlc3QsIGludCBjb250ZW50X3R5cGUsCi0JCQkJICBib29sIG1laV9yZWxvYWRfdGVz dCkKKwkJCQkgIGJvb2wgbWVpX3JlbG9hZF90ZXN0LCBib29sIHRlc3Rfc3JtKQogewogCWlndF9k aXNwbGF5X3QgKmRpc3BsYXkgPSAmZGF0YS5kaXNwbGF5OwogCWlndF9wbGFuZV90ICpwcmltYXJ5 OwogCWVudW0gcGlwZSBwaXBlOwotCWJvb2wgcmV0OworCWJvb2wgcmV0LCBzcm1fbW9kaWZpZWQg PSBmYWxzZTsKIAogCWZvcl9lYWNoX3BpcGUoZGlzcGxheSwgcGlwZSkgewogCQlpZiAoIWlndF9w aXBlX2Nvbm5lY3Rvcl92YWxpZChwaXBlLCBvdXRwdXQpKQpAQCAtMjc2LDggKzQwMiwxMCBAQCB0 ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRwdXQoaWd0X291dHB1dF90ICpvdXRwdXQsIGVu dW0gaWd0X2NvbW1pdF9zdHlsZSBzLAogCQlpZiAoIWlndF9waXBlX2lzX2ZyZWUoZGlzcGxheSwg cGlwZSkpCiAJCQljb250aW51ZTsKIAorCQlzcm1fbW9kaWZpZWQgPSBmYWxzZTsKIAkJbW9kZXNl dF93aXRoX2ZiKHBpcGUsIG91dHB1dCwgcyk7Ci0JCXRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnko b3V0cHV0LCBzLCAzLCBjb250ZW50X3R5cGUsIGZhbHNlKTsKKwkJdGVzdF9jcF9lbmFibGVfd2l0 aF9yZXRyeShvdXRwdXQsIHMsIDMsIGNvbnRlbnRfdHlwZSwgZmFsc2UsCisJCQkJCSAgZmFsc2Up OwogCiAJCWlmIChtZWlfcmVsb2FkX3Rlc3QpIHsKIAkJCWlndF9hc3NlcnRfZighaWd0X2ttb2Rf dW5sb2FkKCJtZWlfaGRjcCIsIDApLApAQCAtMjk3LDYgKzQyNSwyMyBAQCB0ZXN0X2NvbnRlbnRf cHJvdGVjdGlvbl9vbl9vdXRwdXQoaWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0gaWd0X2NvbW1p dF9zdHlsZSBzLAogCiAJCXRlc3RfY3BfbGljKG91dHB1dCk7CiAKKwkJaWYgKG91dHB1dC0+cHJv cHNbSUdUX0NPTk5FQ1RPUl9DUF9ET1dOU1RSRUFNX0lORk9dICYmCisJCSAgICBvdXRwdXQtPnBy b3BzW0lHVF9DT05ORUNUT1JfQ1BfU1JNXSAmJgorCQkgICAgdGVzdF9zcm0pIHsKKwkJCXJldHJp ZXZlX2Rvd25zdHJlYW1faW5mb19wcmVwYXJlX3NybShvdXRwdXQpOworCQkJc3JtX21vZGlmaWVk ID0gdHJ1ZTsKKwkJfQorCisJCWlmICh0ZXN0X3NybSAmJiBzcm1fbW9kaWZpZWQpIHsKKwkJCXRl c3RfY3BfZGlzYWJsZShvdXRwdXQsIHMpOworCQkJdGVzdF9jcF9lbmFibGVfd2l0aF9yZXRyeShv dXRwdXQsIHMsIDMsIGNvbnRlbnRfdHlwZSwKKwkJCQkJCSAgZmFsc2UsIHRlc3Rfc3JtKTsKKwor CQkJLyogRGVzdHJveSB0aGUgU1JNIEJsb2IgKi8KKwkJCXRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0 cnkob3V0cHV0LCBzLCAxLCBjb250ZW50X3R5cGUsCisJCQkJCQkgIGZhbHNlLCBmYWxzZSk7CisJ CX0KKwogCQlpZiAoZHBtc190ZXN0KSB7CiAJCQlpZ3RfcGlwZV9zZXRfcHJvcF92YWx1ZShkaXNw bGF5LCBwaXBlLAogCQkJCQkJSUdUX0NSVENfQUNUSVZFLCAwKTsKQEAgLTMxMCw3ICs0NTUsOCBA QCB0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRwdXQoaWd0X291dHB1dF90ICpvdXRwdXQs IGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzLAogCQkJCQkJICBLRVJORUxfQVVUSF9USU1FX0FMTE9X RURfTVNFQyk7CiAJCQlpZiAoIXJldCkKIAkJCQl0ZXN0X2NwX2VuYWJsZV93aXRoX3JldHJ5KG91 dHB1dCwgcywgMiwKLQkJCQkJCQkgIGNvbnRlbnRfdHlwZSwgZmFsc2UpOworCQkJCQkJCSAgY29u dGVudF90eXBlLCBmYWxzZSwKKwkJCQkJCQkgIGZhbHNlKTsKIAkJfQogCiAJCXRlc3RfY3BfZGlz YWJsZShvdXRwdXQsIHMpOwpAQCAtMzc1LDcgKzUyMSw4IEBAIHN0YXRpYyBib29sIHNpbmtfaGRj cDJfY2FwYWJsZShpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKIAogc3RhdGljIHZvaWQKIHRlc3RfY29u dGVudF9wcm90ZWN0aW9uKGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzLCBib29sIGRwbXNfdGVzdCwK LQkJCWludCBjb250ZW50X3R5cGUsIGJvb2wgbWVpX3JlbG9hZF90ZXN0KQorCQkJaW50IGNvbnRl bnRfdHlwZSwgYm9vbCBtZWlfcmVsb2FkX3Rlc3QsCisJCQlib29sIHRlc3Rfc3JtKQogewogCWln dF9kaXNwbGF5X3QgKmRpc3BsYXkgPSAmZGF0YS5kaXNwbGF5OwogCWlndF9vdXRwdXRfdCAqb3V0 cHV0OwpAQCAtNDA3LDcgKzU1NCw3IEBAIHRlc3RfY29udGVudF9wcm90ZWN0aW9uKGVudW0gaWd0 X2NvbW1pdF9zdHlsZSBzLCBib29sIGRwbXNfdGVzdCwKIAogCQl0ZXN0X2NvbnRlbnRfcHJvdGVj dGlvbl9vbl9vdXRwdXQob3V0cHV0LCBzLCBkcG1zX3Rlc3QsCiAJCQkJCQkgIGNvbnRlbnRfdHlw ZSwKLQkJCQkJCSAgbWVpX3JlbG9hZF90ZXN0KTsKKwkJCQkJCSAgbWVpX3JlbG9hZF90ZXN0LCB0 ZXN0X3NybSk7CiAJCXZhbGlkX3Rlc3RzKys7CiAJfQogCkBAIC00MjYsMzAgKzU3Myw1NiBAQCBp Z3RfbWFpbgogCiAJaWd0X3N1YnRlc3QoImxlZ2FjeSIpCiAJCXRlc3RfY29udGVudF9wcm90ZWN0 aW9uKENPTU1JVF9MRUdBQ1ksIGZhbHNlLCBDUF9UWVBFXzAsCi0JCQkJCWZhbHNlKTsKKwkJCQkJ ZmFsc2UsIGZhbHNlKTsKIAogCWlndF9zdWJ0ZXN0KCJhdG9taWMiKSB7CiAJCWlndF9yZXF1aXJl KGRhdGEuZGlzcGxheS5pc19hdG9taWMpOwogCQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihDT01N SVRfQVRPTUlDLCBmYWxzZSwgQ1BfVFlQRV8wLAotCQkJCQlmYWxzZSk7CisJCQkJCWZhbHNlLCBm YWxzZSk7CiAJfQogCiAJaWd0X3N1YnRlc3QoImF0b21pYy1kcG1zIikgewogCQlpZ3RfcmVxdWly ZShkYXRhLmRpc3BsYXkuaXNfYXRvbWljKTsKIAkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb24oQ09N TUlUX0FUT01JQywgdHJ1ZSwgQ1BfVFlQRV8wLAotCQkJCQlmYWxzZSk7CisJCQkJCWZhbHNlLCBm YWxzZSk7CiAJfQogCiAJaWd0X3N1YnRlc3QoIlR5cGUxIikgewogCQlpZ3RfcmVxdWlyZShkYXRh LmRpc3BsYXkuaXNfYXRvbWljKTsKIAkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb24oQ09NTUlUX0FU T01JQywgZmFsc2UsIENQX1RZUEVfMSwKLQkJCQkJZmFsc2UpOworCQkJCQlmYWxzZSwgZmFsc2Up OwogCX0KIAogCWlndF9zdWJ0ZXN0KCJ0eXBlMV9tZWlfaW50ZXJmYWNlIikgewogCQlpZ3RfcmVx dWlyZShkYXRhLmRpc3BsYXkuaXNfYXRvbWljKTsKIAkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb24o Q09NTUlUX0FUT01JQywgZmFsc2UsIENQX1RZUEVfMSwKLQkJCQkJdHJ1ZSk7CisJCQkJCXRydWUs IGZhbHNlKTsKKwl9CisKKwkvKgorCSAqIFNSTSBzdWJ0ZXN0IHBlcmZvcm0gdGhlIEhEQ1AgYXV0 aGVudGljYXRpb24sIGFuZCB0aGVuIHJldHJpZXZlIHRoZQorCSAqIHJlY2VpdmVyIGlkIHRocm91 Z2ggZG93bnN0cmVhbSBpbmZvLgorCSAqCisJICogVXNpbmcgdGhlIHJlY2VpdmVyIElELCBmYWNz aW1pbGUgU1JNIHRhYmxlIGlzIG1vZGlmaWVkIHdpdGgKKwkgKiByZWNlaXZlciBJRCByZXRyaWV2 ZWQgZnJvbSB0aGUgZG93bnN0cmVhbSBpbmZvLiBBZnRlciBtb2RpZmljYXRpb24KKwkgKiBTUk0g dGFibGUgaXMgbm90IGludGFjdCBhcyBwZXIgRENQIFNpZ25hdHVyZS4KKwkgKgorCSAqIEJ1dCBL ZXJuZWwgYmVsaWV2ZXMgdXNlcnNwYWNlIGFuZCBkb2Vzbid0IHZlcmlmeSB0aGUgRENQIHNpZ25h dHVyZS4KKwkgKiBTbyB3ZSBjYW4gZXhwbG9pdGUgdGhhdCB0cnVzdCB0byB0ZXN0IHRoZSBTUk0g YW5kIGRvd25zdHJlYW0gaW5mbworCSAqIGZlYXR1cmVzLgorCSAqCisJICogU28gd2hlbiBtb2Rp ZmllZCBTUk0gaXMgYXBwbGllZCBBdXRoZW50aWNhdGlvbiB3aWxsIGZhaWwgZHVlIHRvCisJICog cmVjZWl2ZXIgSUQgcmV2b2NhdGlvbi4KKwkgKgorCSAqIEFuZCBLZXJuZWwgYXR0ZW1wdHMgSERD UDIuMiBhbHdheXMgYW5kIG9uIGZhaWx1cmUgb2YgaXQgSERDUDEuNAorCSAqIHdpbGwgYmUgYXR0 ZW1wdGVkLiBCdXQgdGhlaXIgSUQgb2YgdGhlIHNpbmsgdmFyaWVzIGJldHdlZW4gMS40IGFuZAor CSAqIDIuMiB2ZXJzaW9ucy4gU28gd2UgbmVlZCB0byBzdGljayB0byBvbmUgdmVyc2lvbi4gSGVu Y2UgSERDUDIuMiBpcworCSAqIGNob3NlbiB1c2luZyBUeXBlIDEuCisJICovCisJaWd0X3N1YnRl c3QoInNybSIpIHsKKwkJaWd0X3JlcXVpcmUoZGF0YS5kaXNwbGF5LmlzX2F0b21pYyk7CisJCXRl c3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9NSUMsIGZhbHNlLCBDUF9UWVBFXzEsCisJ CQkJCWZhbHNlLCB0cnVlKTsKIAl9CiAKIAlpZ3RfZml4dHVyZQotLSAKMi43LjQKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBs aXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==