From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0FB6A6E128 for ; Thu, 21 Mar 2019 15:53:49 +0000 (UTC) From: Ramalingam C Date: Thu, 21 Mar 2019 21:25:21 +0530 Message-Id: <20190321155522.2848-6-ramalingam.c@intel.com> In-Reply-To: <20190321155522.2848-1-ramalingam.c@intel.com> References: <20190321155522.2848-1-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v3 5/6] kms_content_protection: srm and topology_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@ffwll.ch List-ID: UmV0cmlldmUgdGhlIHRvcG9sb2d5IGluZm8gYW5kIHVzZSB0aGF0IHRvIHN0aXRjaCBhIHNybSBh bmQKdmVyaWZ5IHRoZSByZXZvY2F0aW9uIHByb2Nlc3MuCgpBZGRzIGEgY29ubmVjdG9yIHByb3Bl cnRpZXMgY2FsbGVkICJIRENQIFRvcG9sb2d5IgoKU1JNIHN0aXRjaGVkIGhlcmUgaXMgcG9sbHV0 ZWQuIEtlcm5lbCB0cnVzdHMgdGhlIHVzZXJzcGFjZSB0byB2YWxpZGF0ZQp0aGUgU1JNIGludGVn cml0eSB0aHJvdWdoIERDUCBzaWduYXR1cmUuIEFjdHVhbGx5IHRoaXMgdGVzdCBleHBsb2l0cwp0 aGF0IHRydXN0IHRvIHRlc3QgU1JNIGFuZCBkb3duc3RyZWFtX2luZm8gZmVhdHVyZXMuCgpIRENQ MS40IEJLU1YgYW5kIEhEQ1AyLjIgcmVjZWl2ZXIgaWQgb2YgYSBIRENQIHNpbmsgaXMgZGlmZmVy ZW50LiBTbyB3ZQpuZWVkIHRvIGZvcmNlIHRoZSBLTUQgdG8gdXNlIGEgc2luZ2xlIEhEQ1AgdmVy c2lvbiBhY3Jvc3MKZG93bnN0cmVhbV9pbmZvIGdhdGhlcmluZyBhbmQgU1JNIHNldHRpbmcgYW5k IHZlcmlmeWluZyB0ZWggcmV2b2NhdGlvbgpwcm9jZXNzLiBTbyBUeXBlIDEgaXMgdXNlZC4KCnYy OgogIGJpbmFyeSBzeXNmcyBpcyB1c2VkIHRvIHdyaXRlIHRoZSBzcm0gaW50byBrZXJuZWwgW0Rh bmllbF0KdjM6CiAgcy9DUF9kb3duc3RyZWFtX2luZm8vSERDUCBUb3BvbG9neQoKU2lnbmVkLW9m Zi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgotLS0KIGxpYi9pZ3Rf a21zLmMgICAgICAgICAgICAgICAgICB8ICAgMSArCiBsaWIvaWd0X2ttcy5oICAgICAgICAgICAg ICAgICAgfCAgIDEgKwogdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jIHwgMjIyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCAyMDYgaW5zZXJ0 aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9rbXMuYyBiL2xp Yi9pZ3Rfa21zLmMKaW5kZXggMzdkZWMyY2YwNzQ1Li43MzhkZWVhYmFiZDAgMTAwNjQ0Ci0tLSBh L2xpYi9pZ3Rfa21zLmMKKysrIGIvbGliL2lndF9rbXMuYwpAQCAtMjAxLDYgKzIwMSw3IEBAIGNv bnN0IGNoYXIgKiBjb25zdCBpZ3RfY29ubmVjdG9yX3Byb3BfbmFtZXNbSUdUX05VTV9DT05ORUNU T1JfUFJPUFNdID0gewogCVtJR1RfQ09OTkVDVE9SX0NPTlRFTlRfUFJPVEVDVElPTl0gPSAiQ29u dGVudCBQcm90ZWN0aW9uIiwKIAlbSUdUX0NPTk5FQ1RPUl9WUlJfQ0FQQUJMRV0gPSAidnJyX2Nh cGFibGUiLAogCVtJR1RfQ09OTkVDVE9SX0hEQ1BfQ09OVEVOVF9UWVBFXSA9ICJIRENQIENvbnRl bnQgVHlwZSIsCisJW0lHVF9DT05ORUNUT1JfSERDUF9UT1BPTE9HWV9JTkZPXSA9ICJIRENQIFRv cG9sb2d5IiwKIH07CiAKIC8qCmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5oIGIvbGliL2lndF9r bXMuaAppbmRleCBkMjgxYzQ5MzFiODMuLjc4Yjg5MjAxMjhmZiAxMDA2NDQKLS0tIGEvbGliL2ln dF9rbXMuaAorKysgYi9saWIvaWd0X2ttcy5oCkBAIC0xMjQsNiArMTI0LDcgQEAgZW51bSBpZ3Rf YXRvbWljX2Nvbm5lY3Rvcl9wcm9wZXJ0aWVzIHsKICAgICAgICBJR1RfQ09OTkVDVE9SX0NPTlRF TlRfUFJPVEVDVElPTiwKICAgICAgICBJR1RfQ09OTkVDVE9SX1ZSUl9DQVBBQkxFLAogICAgICAg IElHVF9DT05ORUNUT1JfSERDUF9DT05URU5UX1RZUEUsCisgICAgICAgSUdUX0NPTk5FQ1RPUl9I RENQX1RPUE9MT0dZX0lORk8sCiAgICAgICAgSUdUX05VTV9DT05ORUNUT1JfUFJPUFMKIH07CiAK ZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYyBiL3Rlc3RzL2ttc19j b250ZW50X3Byb3RlY3Rpb24uYwppbmRleCBhYmJlY2M0YjBjNTYuLmNmMmU1NjU0MzA3MyAxMDA2 NDQKLS0tIGEvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jCisrKyBiL3Rlc3RzL2ttc19j b250ZW50X3Byb3RlY3Rpb24uYwpAQCAtNTgsNiArNTgsMTE2IEBAIHN0cnVjdCBkYXRhIHsKICNk ZWZpbmUgRkxJUF9FVkVOVF9QT0xMSU5HX1RJTUVPVVRfTVNFQwkJMTAwMAogCiAKKyNkZWZpbmUg RFJNX01PREVfSERDUF9LU1ZfTEVOCQkJNQorI2RlZmluZSBEUk1fTU9ERV9IRENQX01BWF9ERVZJ Q0VfQ05UCQkxMjcKKworI2RlZmluZSBEUk1fTU9ERV9IRENQMTRfSU5fRk9SQ0UJCSgxPDwwKQor I2RlZmluZSBEUk1fTU9ERV9IRENQMjJfSU5fRk9SQ0UJCSgxPDwxKQorCitzdHJ1Y3QgaGRjcF90 b3BvbG9neV9pbmZvIHsKKworCS8qIEhEQ1AgdmVyIGluIGZvcmNlICovCisJX191MzIgdmVyX2lu X2ZvcmNlOworCV9fdTggY29udGVudF90eXBlOworCisJLyogS1NWIG9mIGltbWVkaWF0ZSBIRENQ IFNpbmsuIEluIExpdHRsZS1FbmRpYW4gRm9ybWF0LiAqLworCWNoYXIgYmtzdltEUk1fTU9ERV9I RENQX0tTVl9MRU5dOworCisJLyogV2hldGhlciBJbW1lZGlhdGUgSERDUCBzaW5rIGlzIGEgcmVw ZWF0ZXI/ICovCisJYm9vbCBpc19yZXBlYXRlcjsKKworCS8qIERlcHRoIHJlY2VpdmVkIGZyb20g aW1tZWRpYXRlIGRvd25zdHJlYW0gcmVwZWF0ZXIgKi8KKwlfX3U4IGRlcHRoOworCisJLyogRGV2 aWNlIGNvdW50IHJlY2VpdmVkIGZyb20gaW1tZWRpYXRlIGRvd25zdHJlYW0gcmVwZWF0ZXIgKi8K KwlfX3UzMiBkZXZpY2VfY291bnQ7CisKKwkvKgorCSAqIE1heCBidWZmZXIgcmVxdWlyZWQgdG8g aG9sZCBrc3YgbGlzdCByZWNlaXZlZCBmcm9tIGltbWVkaWF0ZQorCSAqIHJlcGVhdGVyLiBJbiB0 aGlzIGFycmF5IGZpcnN0IGRldmljZV9jb3VudCAqIERSTV9NT0RFX0hEQ1BfS1NWX0xFTgorCSAq IHdpbGwgaG9sZCB0aGUgdmFsaWQga3N2IGJ5dGVzLgorCSAqIElmIGF1dGhlbnRpY2F0aW9uIHNw ZWNpZmljYXRpb24gaXMKKwkgKiAgICAgIEhEQ1AxLjQgLSBlYWNoIEtTVidzIEJ5dGVzIHdpbGwg YmUgaW4gTGl0dGxlLUVuZGlhbiBmb3JtYXQuCisJICogICAgICBIRENQMi4yIC0gZWFjaCBLU1Yn cyBCeXRlcyB3aWxsIGJlIGluIEJpZy1FbmRpYW4gZm9ybWF0LgorCSAqLworCWNoYXIga3N2X2xp c3RbRFJNX01PREVfSERDUF9LU1ZfTEVOICogRFJNX01PREVfSERDUF9NQVhfREVWSUNFX0NOVF07 Cit9OworCisKK19fdTggZmFjc2ltaWxlX3NybVtdID0geworCTB4ODAsIDB4MCwgMHgwLCAweDA1 LCAweDAxLCAweDAsIDB4MCwgMHgzNiwgMHgwMiwgMHg1MSwgMHgxRSwgMHhGMiwKKwkweDFBLCAw eENELCAweEU3LCAweDI2LCAweDk3LCAweEY0LCAweDAxLCAweDk3LCAweDEwLCAweDE5LCAweDky LCAweDUzLAorCTB4RTksIDB4RjAsIDB4NTksIDB4OTUsIDB4QTMsIDB4N0EsIDB4M0IsIDB4RkUs IDB4RTAsIDB4OUMsIDB4NzYsIDB4REQsCisJMHg4MywgMHhBQSwgMHhDMiwgMHg1QiwgMHgyNCwg MHhCMywgMHgzNiwgMHg4NCwgMHg5NCwgMHg3NSwgMHgzNCwgMHhEQiwKKwkweDEwLCAweDlFLCAw eDNCLCAweDIzLCAweDEzLCAweEQ4LCAweDdBLCAweEMyLCAweDMwLCAweDc5LCAweDg0fTsKKwor c3RhdGljIHZvaWQgcGFyc2VfdG9wb2xvZ3lfaW5mbyhzdHJ1Y3QgaGRjcF90b3BvbG9neV9pbmZv ICpkc19pbmZvKQoreworCWNoYXIgKmtzdnM7CisJaW50IGk7CisKKwlpZiAoZHNfaW5mby0+dmVy X2luX2ZvcmNlICYgRFJNX01PREVfSERDUDE0X0lOX0ZPUkNFKQorCQlpZ3RfaW5mbygiSERDUDEu NCBpcyBFbmFibGVkXG4iKTsKKwllbHNlIGlmIChkc19pbmZvLT52ZXJfaW5fZm9yY2UgJiBEUk1f TU9ERV9IRENQMjJfSU5fRk9SQ0UpCisJCWlndF9pbmZvKCJIRENQMi4yIGlzIEVuYWJsZWQuIFR5 cGUlZFxuIiwKKwkJCSBkc19pbmZvLT5jb250ZW50X3R5cGUgJiBIRENQX0NPTlRFTlRfVFlQRV8x ID8KKwkJCSAxIDogMCk7CisJZWxzZQorCQlyZXR1cm47CisKKwlpZ3RfaW5mbygiXHRSZWNlaXZl ciBJRDogJSMwNHggJSMwNHggJSMwNHggJSMwNHggJSMwNHhcbiIsCisJCQlkc19pbmZvLT5ia3N2 WzBdICYgMHhGRiwgZHNfaW5mby0+YmtzdlsxXSAmIDB4RkYsCisJCQlkc19pbmZvLT5ia3N2WzJd ICYgMHhGRiwgZHNfaW5mby0+YmtzdlszXSAmIDB4RkYsCisJCQlkc19pbmZvLT5ia3N2WzRdICYg MHhGRik7CisKKwlpZiAoZHNfaW5mby0+aXNfcmVwZWF0ZXIpIHsKKwkJaWd0X2luZm8oIlx0SERD UCBzaW5rIGlzIGEgUmVwZWF0ZXJcbiIpOworCisJCWlndF9pbmZvKCJcdERlcHRoOiAlZCwgRGV2 aWNlIGNvdW50OiAlZFxuIiwgZHNfaW5mby0+ZGVwdGgsCisJCQkJCQkJZHNfaW5mby0+ZGV2aWNl X2NvdW50KTsKKwkJa3N2cyA9IGRzX2luZm8tPmtzdl9saXN0OworCisJCWZvciAoaSA9IDA7IGkg PCBkc19pbmZvLT5kZXZpY2VfY291bnQ7IGkrKykgeworCQkJaWd0X2luZm8oIlx0a3N2LSVkOiAl IzA0eCAlIzA0eCAlIzA0eCAlIzA0eCAlIzA0eFxuIiwgaSwKKwkJCQkJa3N2c1swXSAmIDB4RkYs IGtzdnNbMV0gJiAweEZGLAorCQkJCQlrc3ZzWzJdICYgMHhGRiwga3N2c1szXSAmIDB4RkYsCisJ CQkJCWtzdnNbNF0gJiAweEZGKTsKKwkJCWtzdnMgKz0gRFJNX01PREVfSERDUF9LU1ZfTEVOOwor CQl9CisJfSBlbHNlIHsKKwkJaWd0X2luZm8oIlx0SERDUCBzaW5rIGlzIGEgUmVjZWl2ZXJcbiIp OworCX0KK30KKworc3RhdGljIHZvaWQgcmV0cmlldmVfdG9wb2xvZ3lfaW5mb19wcmVwYXJlX3Ny bShpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKK3sKKwlkcm1Nb2RlUHJvcGVydHlCbG9iUmVzICpkc19p bmZvX3Byb3AgPSBOVUxMOworCXVpbnQ2NF90IHRvcG9sb2d5X2Jsb2JfaWQ7CisJc3RydWN0IGhk Y3BfdG9wb2xvZ3lfaW5mbyAqZHNfaW5mbzsKKwlpbnQgaTsKKworCWlndF9pbmZvKCJIRENQIHRv cG9sb2d5IHByb3BlcnR5IGlzIGF0dGFjaGVkXG4iKTsKKworCXRvcG9sb2d5X2Jsb2JfaWQgPSBp Z3Rfb3V0cHV0X2dldF9wcm9wKG91dHB1dCwKKwkJCQlJR1RfQ09OTkVDVE9SX0hEQ1BfVE9QT0xP R1lfSU5GTyk7CisKKwlpZ3RfYXNzZXJ0X2YodG9wb2xvZ3lfYmxvYl9pZCwKKwkJCQkiSW52YWxp ZCB0b3BvbG9neSBibG9iIGlkXG4iKTsKKworCWRzX2luZm9fcHJvcCA9IGRybU1vZGVHZXRQcm9w ZXJ0eUJsb2IoZGF0YS5kcm1fZmQsCisJCQkJCQl0b3BvbG9neV9ibG9iX2lkKTsKKworCWlndF9h c3NlcnQoZHNfaW5mb19wcm9wKTsKKwlpZ3RfYXNzZXJ0X2VxKGRzX2luZm9fcHJvcC0+bGVuZ3Ro LAorCQkJCXNpemVvZihzdHJ1Y3QgaGRjcF90b3BvbG9neV9pbmZvKSk7CisJZHNfaW5mbyA9IGRz X2luZm9fcHJvcC0+ZGF0YTsKKworCXBhcnNlX3RvcG9sb2d5X2luZm8oZHNfaW5mbyk7CisKKwlm b3IgKGkgPSAwOyBpIDwgNTsgaSsrKQorCQlmYWNzaW1pbGVfc3JtW2kgKyA5XSA9IGRzX2luZm8t PmJrc3ZbaV07Cit9CisKIHN0YXRpYyB2b2lkIGZsaXBfaGFuZGxlcihpbnQgZmQsIHVuc2lnbmVk IGludCBzZXF1ZW5jZSwgdW5zaWduZWQgaW50IHR2X3NlYywKIAkJCSB1bnNpZ25lZCBpbnQgdHZf dXNlYywgdm9pZCAqX2RhdGEpCiB7CkBAIC0zNTUsNyArNDY1LDcgQEAgc3RhdGljIHZvaWQgdGVz dF9jcF9kaXNhYmxlKGlndF9vdXRwdXRfdCAqb3V0cHV0LCBlbnVtIGlndF9jb21taXRfc3R5bGUg cykKIHN0YXRpYyB2b2lkIHRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnkoaWd0X291dHB1dF90ICpv dXRwdXQsCiAJCQkJICAgICAgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMsIGludCByZXRyeSwKIAkJ CQkgICAgICBpbnQgY29udGVudF90eXBlLCBib29sIGV4cGVjdF9mYWlsdXJlLAotCQkJCSAgICAg IGJvb2wgdGVzdF90eXBlX2NoYW5nZSkKKwkJCQkgICAgICBib29sIHRlc3RfdHlwZV9jaGFuZ2Us IGJvb2wgdGVzdF9zcm0pCiB7CiAJaW50IHJldHJ5X29yaWcgPSByZXRyeTsKIAlib29sIHJldDsK QEAgLTM3Myw2ICs0ODMsOSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2NwX2VuYWJsZV93aXRoX3JldHJ5 KGlndF9vdXRwdXRfdCAqb3V0cHV0LAogCWlmIChleHBlY3RfZmFpbHVyZSkKIAkJaWd0X2Fzc2Vy dF9mKCFyZXQsCiAJCQkgICAgICJDUCBFbmFibGVkLiBUaG91Z2ggaXQgaXMgZXhwZWN0ZWQgdG8g ZmFpbFxuIik7CisJZWxzZSBpZiAodGVzdF9zcm0pCisJCWlndF9hc3NlcnRfZighcmV0LAorCQkJ ICAgICAiQ1AgRW5hYmxlZC4gVGhvdWdoIElEIGlzIHJldm9rZWQgdGhyb3VnaCBTUk1cbiIpOwog CWVsc2UKIAkJaWd0X2Fzc2VydF9mKHJldCwgIkNvbnRlbnQgUHJvdGVjdGlvbiBub3QgZW5hYmxl ZFxuIik7CiB9CkBAIC0zOTcsMTUgKzUxMCwzMSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2NwX2xpYyhp Z3Rfb3V0cHV0X3QgKm91dHB1dCkKIAlpZ3RfYXNzZXJ0X2YoIXJldCwgIkNvbnRlbnQgUHJvdGVj dGlvbiBMSUMgRmFpbGVkXG4iKTsKIH0KIAorc3RhdGljIGJvb2wgd3JpdGVfc3JtX2ludG9fc3lz ZnMoY29uc3QgY2hhciAqc3JtLCBpbnQgbGVuKQoreworCWludCBmZDsKKwlib29sIHJldCA9IGZh bHNlOworCisJZmQgPSBpZ3Rfc3lzZnNfb3BlbihkYXRhLmRybV9mZCwgTlVMTCk7CisJaWYgKGZk ID4gMCkgeworCQlpZiAoaWd0X3N5c2ZzX3dyaXRlKGZkLCAiaGRjcF9zcm0iLCBzcm0sIGxlbikg PT0gbGVuKQorCQkJcmV0ID0gdHJ1ZTsKKwkJY2xvc2UoZmQpOworCX0KKwlyZXR1cm4gcmV0Owor fQorCiBzdGF0aWMgdm9pZAogdGVzdF9jb250ZW50X3Byb3RlY3Rpb25fb25fb3V0cHV0KGlndF9v dXRwdXRfdCAqb3V0cHV0LCBlbnVtIGlndF9jb21taXRfc3R5bGUgcywKIAkJCQkgIGJvb2wgZHBt c190ZXN0LCBpbnQgY29udGVudF90eXBlLAotCQkJCSAgYm9vbCBtZWlfcmVsb2FkX3Rlc3QsIGJv b2wgdGVzdF90eXBlX2NoYW5nZSkKKwkJCQkgIGJvb2wgbWVpX3JlbG9hZF90ZXN0LCBib29sIHRl c3RfdHlwZV9jaGFuZ2UsCisJCQkJICBib29sIHRlc3Rfc3JtKQogewogCWlndF9kaXNwbGF5X3Qg KmRpc3BsYXkgPSAmZGF0YS5kaXNwbGF5OwogCWlndF9wbGFuZV90ICpwcmltYXJ5OwogCWVudW0g cGlwZSBwaXBlOwotCWJvb2wgcmV0OworCWJvb2wgcmV0LCBzcm1fbW9kaWZpZWQgPSBmYWxzZTsK KwlpbnQgaTsKIAogCWZvcl9lYWNoX3BpcGUoZGlzcGxheSwgcGlwZSkgewogCQlpZiAoIWlndF9w aXBlX2Nvbm5lY3Rvcl92YWxpZChwaXBlLCBvdXRwdXQpKQpAQCAtNDIwLDEzICs1NDksMTUgQEAg dGVzdF9jb250ZW50X3Byb3RlY3Rpb25fb25fb3V0cHV0KGlndF9vdXRwdXRfdCAqb3V0cHV0LCBl bnVtIGlndF9jb21taXRfc3R5bGUgcywKIAkJaWYgKCFpZ3RfcGlwZV9pc19mcmVlKGRpc3BsYXks IHBpcGUpKQogCQkJY29udGludWU7CiAKKwkJc3JtX21vZGlmaWVkID0gZmFsc2U7CiAJCW1vZGVz ZXRfd2l0aF9mYihwaXBlLCBvdXRwdXQsIHMpOwogCQl0ZXN0X2NwX2VuYWJsZV93aXRoX3JldHJ5 KG91dHB1dCwgcywgMywgY29udGVudF90eXBlLCBmYWxzZSwKLQkJCQkJICBmYWxzZSk7CisJCQkJ CSAgZmFsc2UsIGZhbHNlKTsKKwogCQlpZiAodGVzdF90eXBlX2NoYW5nZSAmJiBjb250ZW50X3R5 cGUgPT0gSERDUF9DT05URU5UX1RZUEVfMSkKIAkJCXRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnko b3V0cHV0LCBzLCAzLAogCQkJCQkJICBIRENQX0NPTlRFTlRfVFlQRV8wLCBmYWxzZSwKLQkJCQkJ CSAgdGVzdF90eXBlX2NoYW5nZSk7CisJCQkJCQkgIHRlc3RfdHlwZV9jaGFuZ2UsIGZhbHNlKTsK IAogCQlpZiAobWVpX3JlbG9hZF90ZXN0KSB7CiAJCQlpZ3RfYXNzZXJ0X2YoIWlndF9rbW9kX3Vu bG9hZCgibWVpX2hkY3AiLCAwKSwKQEAgLTQzNCwxOCArNTY1LDQ3IEBAIHRlc3RfY29udGVudF9w cm90ZWN0aW9uX29uX291dHB1dChpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZW51bSBpZ3RfY29tbWl0 X3N0eWxlIHMsCiAKIAkJCS8qIEV4cGVjdGVkIHRvIGZhaWwgKi8KIAkJCXRlc3RfY3BfZW5hYmxl X3dpdGhfcmV0cnkob3V0cHV0LCBzLCAzLAotCQkJCQkJICBjb250ZW50X3R5cGUsIHRydWUsIGZh bHNlKTsKKwkJCQkJCSAgY29udGVudF90eXBlLCB0cnVlLCBmYWxzZSwKKwkJCQkJCSAgZmFsc2Up OwogCiAJCQlpZ3RfYXNzZXJ0X2YoIWlndF9rbW9kX2xvYWQoIm1laV9oZGNwIiwgTlVMTCksCiAJ CQkJICAgICAibWVpX2hkY3AgbG9hZCBmYWlsZWQiKTsKIAogCQkJLyogRXhwZWN0ZWQgdG8gcGFz cyAqLwogCQkJdGVzdF9jcF9lbmFibGVfd2l0aF9yZXRyeShvdXRwdXQsIHMsIDMsCi0JCQkJCQkg IGNvbnRlbnRfdHlwZSwgZmFsc2UsIGZhbHNlKTsKKwkJCQkJCSAgY29udGVudF90eXBlLCBmYWxz ZSwgZmFsc2UsCisJCQkJCQkgIGZhbHNlKTsKIAkJfQogCiAJCXRlc3RfY3BfbGljKG91dHB1dCk7 CiAKKwkJaWYgKG91dHB1dC0+cHJvcHNbSUdUX0NPTk5FQ1RPUl9IRENQX1RPUE9MT0dZX0lORk9d ICYmCisJCSAgICB0ZXN0X3NybSkgeworCQkJcmV0cmlldmVfdG9wb2xvZ3lfaW5mb19wcmVwYXJl X3NybShvdXRwdXQpOworCQkJc3JtX21vZGlmaWVkID0KKwkJCQl3cml0ZV9zcm1faW50b19zeXNm cygoY29uc3QgY2hhciAqKWZhY3NpbWlsZV9zcm0sCisJCQkJCQkgICAgIHNpemVvZihmYWNzaW1p bGVfc3JtKSk7CisJCQlpZ3RfYXNzZXJ0X2Yoc3JtX21vZGlmaWVkLCAiU1JNIHVwZGF0ZSBmYWls ZWQiKTsKKwkJfQorCisJCWlmICh0ZXN0X3NybSAmJiBzcm1fbW9kaWZpZWQpIHsKKwkJCXRlc3Rf Y3BfZGlzYWJsZShvdXRwdXQsIHMpOworCQkJdGVzdF9jcF9lbmFibGVfd2l0aF9yZXRyeShvdXRw dXQsIHMsIDMsIGNvbnRlbnRfdHlwZSwKKwkJCQkJCSAgZmFsc2UsIGZhbHNlLCB0ZXN0X3NybSk7 CisKKwkJCS8qIFJlbW92aW5nIHRoZSBzaW5rJ3MgUmVjZWl2ZXIgSUQgZnJvbSBTUk0gQmxvYiAq LworCQkJZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKwkJCQlmYWNzaW1pbGVfc3JtW2kgKyA5XSA9 IDA7CisKKwkJCXNybV9tb2RpZmllZCA9CisJCQkJd3JpdGVfc3JtX2ludG9fc3lzZnMoKGNvbnN0 IGNoYXIgKilmYWNzaW1pbGVfc3JtLAorCQkJCQkJICAgICBzaXplb2YoZmFjc2ltaWxlX3NybSkp OworCQkJaWd0X2Fzc2VydF9mKHNybV9tb2RpZmllZCwgIlNSTSB1cGRhdGUgZmFpbGVkIik7CisK KwkJCXRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnkob3V0cHV0LCBzLCAxLCBjb250ZW50X3R5cGUs CisJCQkJCQkgIGZhbHNlLCBmYWxzZSwgZmFsc2UpOworCQl9CisKIAkJaWYgKGRwbXNfdGVzdCkg ewogCQkJaWd0X3BpcGVfc2V0X3Byb3BfdmFsdWUoZGlzcGxheSwgcGlwZSwKIAkJCQkJCUlHVF9D UlRDX0FDVElWRSwgMCk7CkBAIC00NjAsNyArNjIwLDcgQEAgdGVzdF9jb250ZW50X3Byb3RlY3Rp b25fb25fb3V0cHV0KGlndF9vdXRwdXRfdCAqb3V0cHV0LCBlbnVtIGlndF9jb21taXRfc3R5bGUg cywKIAkJCWlmICghcmV0KQogCQkJCXRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnkob3V0cHV0LCBz LCAyLAogCQkJCQkJCSAgY29udGVudF90eXBlLCBmYWxzZSwKLQkJCQkJCQkgIGZhbHNlKTsKKwkJ CQkJCQkgIGZhbHNlLCBmYWxzZSk7CiAJCX0KIAogCQl0ZXN0X2NwX2Rpc2FibGUob3V0cHV0LCBz KTsKQEAgLTUyNiw3ICs2ODYsNyBAQCBzdGF0aWMgYm9vbCBzaW5rX2hkY3AyX2NhcGFibGUoaWd0 X291dHB1dF90ICpvdXRwdXQpCiBzdGF0aWMgdm9pZAogdGVzdF9jb250ZW50X3Byb3RlY3Rpb24o ZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMsIGJvb2wgZHBtc190ZXN0LAogCQkJaW50IGNvbnRlbnRf dHlwZSwgYm9vbCBtZWlfcmVsb2FkX3Rlc3QsCi0JCQlib29sIHRlc3RfdHlwZV9jaGFuZ2UpCisJ CQlib29sIHRlc3RfdHlwZV9jaGFuZ2UsIGJvb2wgdGVzdF9zcm0pCiB7CiAJaWd0X2Rpc3BsYXlf dCAqZGlzcGxheSA9ICZkYXRhLmRpc3BsYXk7CiAJaWd0X291dHB1dF90ICpvdXRwdXQ7CkBAIC01 NTcsOSArNzE3LDggQEAgdGVzdF9jb250ZW50X3Byb3RlY3Rpb24oZW51bSBpZ3RfY29tbWl0X3N0 eWxlIHMsIGJvb2wgZHBtc190ZXN0LAogCQl9CiAKIAkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb25f b25fb3V0cHV0KG91dHB1dCwgcywgZHBtc190ZXN0LAotCQkJCQkJICBjb250ZW50X3R5cGUsCi0J CQkJCQkgIG1laV9yZWxvYWRfdGVzdCwKLQkJCQkJCSAgdGVzdF90eXBlX2NoYW5nZSk7CisJCQkJ CQkgIGNvbnRlbnRfdHlwZSwgbWVpX3JlbG9hZF90ZXN0LAorCQkJCQkJICB0ZXN0X3R5cGVfY2hh bmdlLCB0ZXN0X3NybSk7CiAJCXZhbGlkX3Rlc3RzKys7CiAJfQogCkBAIC01NzksMzMgKzczOCwz MyBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJsZWdhY3kiKQogCQl0ZXN0X2NvbnRlbnRfcHJv dGVjdGlvbihDT01NSVRfTEVHQUNZLCBmYWxzZSwKIAkJCQkJSERDUF9DT05URU5UX1RZUEVfMCwg ZmFsc2UsCi0JCQkJCWZhbHNlKTsKKwkJCQkJZmFsc2UsIGZhbHNlKTsKIAogCWlndF9zdWJ0ZXN0 KCJhdG9taWMiKSB7CiAJCWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOwogCQl0 ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihDT01NSVRfQVRPTUlDLCBmYWxzZSwKLQkJCQkJSERDUF9D T05URU5UX1RZUEVfMCwgZmFsc2UsCisJCQkJCUhEQ1BfQ09OVEVOVF9UWVBFXzAsIGZhbHNlLCBm YWxzZSwKIAkJCQkJZmFsc2UpOwogCX0KIAogCWlndF9zdWJ0ZXN0KCJhdG9taWMtZHBtcyIpIHsK IAkJaWd0X3JlcXVpcmUoZGF0YS5kaXNwbGF5LmlzX2F0b21pYyk7CiAJCXRlc3RfY29udGVudF9w cm90ZWN0aW9uKENPTU1JVF9BVE9NSUMsIHRydWUsCi0JCQkJCUhEQ1BfQ09OVEVOVF9UWVBFXzAs IGZhbHNlLAorCQkJCQlIRENQX0NPTlRFTlRfVFlQRV8wLCBmYWxzZSwgZmFsc2UsCiAJCQkJCWZh bHNlKTsKIAl9CiAKIAlpZ3Rfc3VidGVzdCgidHlwZTEiKSB7CiAJCWlndF9yZXF1aXJlKGRhdGEu ZGlzcGxheS5pc19hdG9taWMpOwogCQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihDT01NSVRfQVRP TUlDLCBmYWxzZSwKLQkJCQkJSERDUF9DT05URU5UX1RZUEVfMSwgZmFsc2UsCisJCQkJCUhEQ1Bf Q09OVEVOVF9UWVBFXzEsIGZhbHNlLCBmYWxzZSwKIAkJCQkJZmFsc2UpOwogCX0KIAogCWlndF9z dWJ0ZXN0KCJ0eXBlMV9tZWlfaW50ZXJmYWNlIikgewogCQlpZ3RfcmVxdWlyZShkYXRhLmRpc3Bs YXkuaXNfYXRvbWljKTsKIAkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb24oQ09NTUlUX0FUT01JQywg ZmFsc2UsCi0JCQkJCUhEQ1BfQ09OVEVOVF9UWVBFXzEsIHRydWUsCisJCQkJCUhEQ1BfQ09OVEVO VF9UWVBFXzEsIHRydWUsIGZhbHNlLAogCQkJCQlmYWxzZSk7CiAJfQogCkBAIC02MTMsOSArNzcy LDM2IEBAIGlndF9tYWluCiAJCWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOwog CQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihDT01NSVRfQVRPTUlDLCBmYWxzZSwKIAkJCQkJSERD UF9DT05URU5UX1RZUEVfMSwgZmFsc2UsCi0JCQkJCXRydWUpOworCQkJCQl0cnVlLCBmYWxzZSk7 CisJfQorCisJLyoKKwkgKiBTUk0gc3VidGVzdCBwZXJmb3JtIHRoZSBIRENQIGF1dGhlbnRpY2F0 aW9uLCBhbmQgdGhlbiByZXRyaXZlIHRoZQorCSAqIHJlY2VpdmVyIGlkIHRocm91Z2ggdG9wb2xv Z3kgaW5mby4KKwkgKgorCSAqIFVzaW5nIHRoZSByZWNlaXZlciBJRCwgZmFjc2ltaWxlIFNSTSB0 YWJsZSBpcyBtb2RpZmllZCB3aXRoCisJICogcmVjZWl2ZXIgSUQgcmV0cmlldmVkIGZyb20gdGVo IHRvcG9sb2d5IGluZm8uIEFmdGVyIG1vZGlmaWNhdGlvbgorCSAqIFNSTSB0YWJsZSBpcyBub3Qg aW50YWN0IGFzIHBlciBEQ1AgU2lnbmF0dXJlLgorCSAqCisJICogQnV0IEtlcm5lbCBiZWxpZXZl cyB1c2Vyc3BhY2UgYW5kIGRvZXNuJ3QgdmVyaWZ5IHRoZSBEQ1Agc2lnbmF0dXJlLgorCSAqIFNv IHdlIGNhbiBleHBsb2l0ZSB0aGF0IHRydXN0IHRvIHRlc3QgdGhlIFNSTSBhbmQgdG9wb2xvZ3kg aW5mbworCSAqIGZlYXR1cmVzLgorCSAqCisJICogU28gd2hlbiBtb2RpZmllZCBTUk0gaXMgYXBw bGllZCBBdXRoZW50aWNhdGlvbiB3aWxsIGZhaWwgZHVlIHRvCisJICogcmVjZWl2ZXIgSUQgcmV2 b2NhdGlvbi4KKwkgKgorCSAqIEFuZCBLZXJuZWwgYXR0ZW1wdHMgSERDUDIuMiBhbHdheXMgYW5k IG9uIGZhaWx1cmUgb2YgaXQgSERDUDEuNAorCSAqIHdpbGwgYmUgYXR0ZW1wdGVkLiBCdXQgdGhl aXIgSUQgb2YgdGhlIHNpbmsgdmFyaWVzIGJldHdlZW4gMS40IGFuZAorCSAqIDIuMiB2ZXJzaW9u cy4gU28gd2UgbmVlZCB0byBzdGljayB0byBvbmUgdmVyc2lvbi4gSGVuY2UgSERDUDIuMiBpcwor CSAqIGNob29zZW4gdXNpbmcgVHlwZSAxLgorCSAqLworCWlndF9zdWJ0ZXN0KCJzcm0iKSB7CisJ CWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOworCQl0ZXN0X2NvbnRlbnRfcHJv dGVjdGlvbihDT01NSVRfQVRPTUlDLCBmYWxzZSwKKwkJCQkJSERDUF9DT05URU5UX1RZUEVfMSwg ZmFsc2UsIGZhbHNlLCB0cnVlKTsKIAl9CiAKKwogCWlndF9maXh0dXJlCiAJCWlndF9kaXNwbGF5 X2ZpbmkoJmRhdGEuZGlzcGxheSk7CiB9Ci0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaWd0LWRldg==