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 DC4296E15F for ; Thu, 21 Mar 2019 17:43:03 +0000 (UTC) From: Ramalingam C Date: Thu, 21 Mar 2019 23:14:44 +0530 Message-Id: <20190321174444.10099-1-ramalingam.c@intel.com> In-Reply-To: <20190321155522.2848-6-ramalingam.c@intel.com> References: <20190321155522.2848-6-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v4 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 bmllbF0KdjM6CiAgcy9DUF9kb3duc3RyZWFtX2luZm8vSERDUCBUb3BvbG9neQp2NDoKICBSZWJh c2VkLgoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29t PgotLS0KIGxpYi9pZ3Rfa21zLmMgICAgICAgICAgICAgICAgICB8ICAgMSArCiBsaWIvaWd0X2tt cy5oICAgICAgICAgICAgICAgICAgfCAgIDEgKwogdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlv bi5jIHwgMjIyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMyBmaWxlcyBjaGFu Z2VkLCAyMDYgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGli L2lndF9rbXMuYyBiL2xpYi9pZ3Rfa21zLmMKaW5kZXggNjM5NjJlOTU4NDU1Li4zYjg5NzE2NDYz MGYgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rfa21zLmMKKysrIGIvbGliL2lndF9rbXMuYwpAQCAtMjAy LDYgKzIwMiw3IEBAIGNvbnN0IGNoYXIgKiBjb25zdCBpZ3RfY29ubmVjdG9yX3Byb3BfbmFtZXNb SUdUX05VTV9DT05ORUNUT1JfUFJPUFNdID0gewogCVtJR1RfQ09OTkVDVE9SX0NPTlRFTlRfUFJP VEVDVElPTl0gPSAiQ29udGVudCBQcm90ZWN0aW9uIiwKIAlbSUdUX0NPTk5FQ1RPUl9WUlJfQ0FQ QUJMRV0gPSAidnJyX2NhcGFibGUiLAogCVtJR1RfQ09OTkVDVE9SX0hEQ1BfQ09OVEVOVF9UWVBF XSA9ICJIRENQIENvbnRlbnQgVHlwZSIsCisJW0lHVF9DT05ORUNUT1JfSERDUF9UT1BPTE9HWV9J TkZPXSA9ICJIRENQIFRvcG9sb2d5IiwKIH07CiAKIC8qCmRpZmYgLS1naXQgYS9saWIvaWd0X2tt cy5oIGIvbGliL2lndF9rbXMuaAppbmRleCBkMjgxYzQ5MzFiODMuLjc4Yjg5MjAxMjhmZiAxMDA2 NDQKLS0tIGEvbGliL2lndF9rbXMuaAorKysgYi9saWIvaWd0X2ttcy5oCkBAIC0xMjQsNiArMTI0 LDcgQEAgZW51bSBpZ3RfYXRvbWljX2Nvbm5lY3Rvcl9wcm9wZXJ0aWVzIHsKICAgICAgICBJR1Rf Q09OTkVDVE9SX0NPTlRFTlRfUFJPVEVDVElPTiwKICAgICAgICBJR1RfQ09OTkVDVE9SX1ZSUl9D QVBBQkxFLAogICAgICAgIElHVF9DT05ORUNUT1JfSERDUF9DT05URU5UX1RZUEUsCisgICAgICAg SUdUX0NPTk5FQ1RPUl9IRENQX1RPUE9MT0dZX0lORk8sCiAgICAgICAgSUdUX05VTV9DT05ORUNU T1JfUFJPUFMKIH07CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24u YyBiL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwppbmRleCBhYmJlY2M0YjBjNTYuLjFj MmIyNjNhMjUzZSAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jCisr KyBiL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwpAQCAtNTgsNiArNTgsMTE2IEBAIHN0 cnVjdCBkYXRhIHsKICNkZWZpbmUgRkxJUF9FVkVOVF9QT0xMSU5HX1RJTUVPVVRfTVNFQwkJMTAw MAogCiAKKyNkZWZpbmUgRFJNX01PREVfSERDUF9LU1ZfTEVOCQkJNQorI2RlZmluZSBEUk1fTU9E RV9IRENQX01BWF9ERVZJQ0VfQ05UCQkxMjcKKworI2RlZmluZSBEUk1fTU9ERV9IRENQMTRfSU5f Rk9SQ0UJCSgxPDwwKQorI2RlZmluZSBEUk1fTU9ERV9IRENQMjJfSU5fRk9SQ0UJCSgxPDwxKQor CitzdHJ1Y3QgaGRjcF90b3BvbG9neV9pbmZvIHsKKworCS8qIEhEQ1AgdmVyIGluIGZvcmNlICov CisJX191MzIgdmVyX2luX2ZvcmNlOworCV9fdTggY29udGVudF90eXBlOworCisJLyogS1NWIG9m IGltbWVkaWF0ZSBIRENQIFNpbmsuIEluIExpdHRsZS1FbmRpYW4gRm9ybWF0LiAqLworCWNoYXIg YmtzdltEUk1fTU9ERV9IRENQX0tTVl9MRU5dOworCisJLyogV2hldGhlciBJbW1lZGlhdGUgSERD UCBzaW5rIGlzIGEgcmVwZWF0ZXI/ICovCisJYm9vbCBpc19yZXBlYXRlcjsKKworCS8qIERlcHRo IHJlY2VpdmVkIGZyb20gaW1tZWRpYXRlIGRvd25zdHJlYW0gcmVwZWF0ZXIgKi8KKwlfX3U4IGRl cHRoOworCisJLyogRGV2aWNlIGNvdW50IHJlY2VpdmVkIGZyb20gaW1tZWRpYXRlIGRvd25zdHJl YW0gcmVwZWF0ZXIgKi8KKwlfX3UzMiBkZXZpY2VfY291bnQ7CisKKwkvKgorCSAqIE1heCBidWZm ZXIgcmVxdWlyZWQgdG8gaG9sZCBrc3YgbGlzdCByZWNlaXZlZCBmcm9tIGltbWVkaWF0ZQorCSAq IHJlcGVhdGVyLiBJbiB0aGlzIGFycmF5IGZpcnN0IGRldmljZV9jb3VudCAqIERSTV9NT0RFX0hE Q1BfS1NWX0xFTgorCSAqIHdpbGwgaG9sZCB0aGUgdmFsaWQga3N2IGJ5dGVzLgorCSAqIElmIGF1 dGhlbnRpY2F0aW9uIHNwZWNpZmljYXRpb24gaXMKKwkgKiAgICAgIEhEQ1AxLjQgLSBlYWNoIEtT VidzIEJ5dGVzIHdpbGwgYmUgaW4gTGl0dGxlLUVuZGlhbiBmb3JtYXQuCisJICogICAgICBIRENQ Mi4yIC0gZWFjaCBLU1YncyBCeXRlcyB3aWxsIGJlIGluIEJpZy1FbmRpYW4gZm9ybWF0LgorCSAq LworCWNoYXIga3N2X2xpc3RbRFJNX01PREVfSERDUF9LU1ZfTEVOICogRFJNX01PREVfSERDUF9N QVhfREVWSUNFX0NOVF07Cit9OworCisKK19fdTggZmFjc2ltaWxlX3NybVtdID0geworCTB4ODAs IDB4MCwgMHgwLCAweDA1LCAweDAxLCAweDAsIDB4MCwgMHgzNiwgMHgwMiwgMHg1MSwgMHgxRSwg MHhGMiwKKwkweDFBLCAweENELCAweEU3LCAweDI2LCAweDk3LCAweEY0LCAweDAxLCAweDk3LCAw eDEwLCAweDE5LCAweDkyLCAweDUzLAorCTB4RTksIDB4RjAsIDB4NTksIDB4OTUsIDB4QTMsIDB4 N0EsIDB4M0IsIDB4RkUsIDB4RTAsIDB4OUMsIDB4NzYsIDB4REQsCisJMHg4MywgMHhBQSwgMHhD MiwgMHg1QiwgMHgyNCwgMHhCMywgMHgzNiwgMHg4NCwgMHg5NCwgMHg3NSwgMHgzNCwgMHhEQiwK KwkweDEwLCAweDlFLCAweDNCLCAweDIzLCAweDEzLCAweEQ4LCAweDdBLCAweEMyLCAweDMwLCAw eDc5LCAweDg0fTsKKworc3RhdGljIHZvaWQgcGFyc2VfdG9wb2xvZ3lfaW5mbyhzdHJ1Y3QgaGRj cF90b3BvbG9neV9pbmZvICpkc19pbmZvKQoreworCWNoYXIgKmtzdnM7CisJaW50IGk7CisKKwlp ZiAoZHNfaW5mby0+dmVyX2luX2ZvcmNlICYgRFJNX01PREVfSERDUDE0X0lOX0ZPUkNFKQorCQlp Z3RfaW5mbygiSERDUDEuNCBpcyBFbmFibGVkXG4iKTsKKwllbHNlIGlmIChkc19pbmZvLT52ZXJf aW5fZm9yY2UgJiBEUk1fTU9ERV9IRENQMjJfSU5fRk9SQ0UpCisJCWlndF9pbmZvKCJIRENQMi4y IGlzIEVuYWJsZWQuIFR5cGUlZFxuIiwKKwkJCSBkc19pbmZvLT5jb250ZW50X3R5cGUgJiBIRENQ X0NPTlRFTlRfVFlQRV8xID8KKwkJCSAxIDogMCk7CisJZWxzZQorCQlyZXR1cm47CisKKwlpZ3Rf aW5mbygiXHRSZWNlaXZlciBJRDogJSMwNHggJSMwNHggJSMwNHggJSMwNHggJSMwNHhcbiIsCisJ CQlkc19pbmZvLT5ia3N2WzBdICYgMHhGRiwgZHNfaW5mby0+YmtzdlsxXSAmIDB4RkYsCisJCQlk c19pbmZvLT5ia3N2WzJdICYgMHhGRiwgZHNfaW5mby0+YmtzdlszXSAmIDB4RkYsCisJCQlkc19p bmZvLT5ia3N2WzRdICYgMHhGRik7CisKKwlpZiAoZHNfaW5mby0+aXNfcmVwZWF0ZXIpIHsKKwkJ aWd0X2luZm8oIlx0SERDUCBzaW5rIGlzIGEgUmVwZWF0ZXJcbiIpOworCisJCWlndF9pbmZvKCJc dERlcHRoOiAlZCwgRGV2aWNlIGNvdW50OiAlZFxuIiwgZHNfaW5mby0+ZGVwdGgsCisJCQkJCQkJ ZHNfaW5mby0+ZGV2aWNlX2NvdW50KTsKKwkJa3N2cyA9IGRzX2luZm8tPmtzdl9saXN0OworCisJ CWZvciAoaSA9IDA7IGkgPCBkc19pbmZvLT5kZXZpY2VfY291bnQ7IGkrKykgeworCQkJaWd0X2lu Zm8oIlx0a3N2LSVkOiAlIzA0eCAlIzA0eCAlIzA0eCAlIzA0eCAlIzA0eFxuIiwgaSwKKwkJCQkJ a3N2c1swXSAmIDB4RkYsIGtzdnNbMV0gJiAweEZGLAorCQkJCQlrc3ZzWzJdICYgMHhGRiwga3N2 c1szXSAmIDB4RkYsCisJCQkJCWtzdnNbNF0gJiAweEZGKTsKKwkJCWtzdnMgKz0gRFJNX01PREVf SERDUF9LU1ZfTEVOOworCQl9CisJfSBlbHNlIHsKKwkJaWd0X2luZm8oIlx0SERDUCBzaW5rIGlz IGEgUmVjZWl2ZXJcbiIpOworCX0KK30KKworc3RhdGljIHZvaWQgcmV0cmlldmVfdG9wb2xvZ3lf aW5mb19wcmVwYXJlX3NybShpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKK3sKKwlkcm1Nb2RlUHJvcGVy dHlCbG9iUmVzICpkc19pbmZvX3Byb3AgPSBOVUxMOworCXVpbnQ2NF90IHRvcG9sb2d5X2Jsb2Jf aWQ7CisJc3RydWN0IGhkY3BfdG9wb2xvZ3lfaW5mbyAqZHNfaW5mbzsKKwlpbnQgaTsKKworCWln dF9pbmZvKCJIRENQIHRvcG9sb2d5IHByb3BlcnR5IGlzIGF0dGFjaGVkXG4iKTsKKworCXRvcG9s b2d5X2Jsb2JfaWQgPSBpZ3Rfb3V0cHV0X2dldF9wcm9wKG91dHB1dCwKKwkJCQlJR1RfQ09OTkVD VE9SX0hEQ1BfVE9QT0xPR1lfSU5GTyk7CisKKwlpZ3RfYXNzZXJ0X2YodG9wb2xvZ3lfYmxvYl9p ZCwKKwkJCQkiSW52YWxpZCB0b3BvbG9neSBibG9iIGlkXG4iKTsKKworCWRzX2luZm9fcHJvcCA9 IGRybU1vZGVHZXRQcm9wZXJ0eUJsb2IoZGF0YS5kcm1fZmQsCisJCQkJCQl0b3BvbG9neV9ibG9i X2lkKTsKKworCWlndF9hc3NlcnQoZHNfaW5mb19wcm9wKTsKKwlpZ3RfYXNzZXJ0X2VxKGRzX2lu Zm9fcHJvcC0+bGVuZ3RoLAorCQkJCXNpemVvZihzdHJ1Y3QgaGRjcF90b3BvbG9neV9pbmZvKSk7 CisJZHNfaW5mbyA9IGRzX2luZm9fcHJvcC0+ZGF0YTsKKworCXBhcnNlX3RvcG9sb2d5X2luZm8o ZHNfaW5mbyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKQorCQlmYWNzaW1pbGVfc3JtW2kg KyA5XSA9IGRzX2luZm8tPmJrc3ZbaV07Cit9CisKIHN0YXRpYyB2b2lkIGZsaXBfaGFuZGxlcihp bnQgZmQsIHVuc2lnbmVkIGludCBzZXF1ZW5jZSwgdW5zaWduZWQgaW50IHR2X3NlYywKIAkJCSB1 bnNpZ25lZCBpbnQgdHZfdXNlYywgdm9pZCAqX2RhdGEpCiB7CkBAIC0zNTUsNyArNDY1LDcgQEAg c3RhdGljIHZvaWQgdGVzdF9jcF9kaXNhYmxlKGlndF9vdXRwdXRfdCAqb3V0cHV0LCBlbnVtIGln dF9jb21taXRfc3R5bGUgcykKIHN0YXRpYyB2b2lkIHRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnko aWd0X291dHB1dF90ICpvdXRwdXQsCiAJCQkJICAgICAgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMs IGludCByZXRyeSwKIAkJCQkgICAgICBpbnQgY29udGVudF90eXBlLCBib29sIGV4cGVjdF9mYWls dXJlLAotCQkJCSAgICAgIGJvb2wgdGVzdF90eXBlX2NoYW5nZSkKKwkJCQkgICAgICBib29sIHRl c3RfdHlwZV9jaGFuZ2UsIGJvb2wgdGVzdF9zcm0pCiB7CiAJaW50IHJldHJ5X29yaWcgPSByZXRy eTsKIAlib29sIHJldDsKQEAgLTM3Myw2ICs0ODMsOSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2NwX2Vu YWJsZV93aXRoX3JldHJ5KGlndF9vdXRwdXRfdCAqb3V0cHV0LAogCWlmIChleHBlY3RfZmFpbHVy ZSkKIAkJaWd0X2Fzc2VydF9mKCFyZXQsCiAJCQkgICAgICJDUCBFbmFibGVkLiBUaG91Z2ggaXQg aXMgZXhwZWN0ZWQgdG8gZmFpbFxuIik7CisJZWxzZSBpZiAodGVzdF9zcm0pCisJCWlndF9hc3Nl cnRfZighcmV0LAorCQkJICAgICAiQ1AgRW5hYmxlZC4gVGhvdWdoIElEIGlzIHJldm9rZWQgdGhy b3VnaCBTUk1cbiIpOwogCWVsc2UKIAkJaWd0X2Fzc2VydF9mKHJldCwgIkNvbnRlbnQgUHJvdGVj dGlvbiBub3QgZW5hYmxlZFxuIik7CiB9CkBAIC0zOTcsMTUgKzUxMCwzMSBAQCBzdGF0aWMgdm9p ZCB0ZXN0X2NwX2xpYyhpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKIAlpZ3RfYXNzZXJ0X2YoIXJldCwg IkNvbnRlbnQgUHJvdGVjdGlvbiBMSUMgRmFpbGVkXG4iKTsKIH0KIAorc3RhdGljIGJvb2wgd3Jp dGVfc3JtX2ludG9fc3lzZnMoY29uc3QgY2hhciAqc3JtLCBpbnQgbGVuKQoreworCWludCBmZDsK Kwlib29sIHJldCA9IGZhbHNlOworCisJZmQgPSBpZ3Rfc3lzZnNfb3BlbihkYXRhLmRybV9mZCk7 CisJaWYgKGZkID4gMCkgeworCQlpZiAoaWd0X3N5c2ZzX3dyaXRlKGZkLCAiaGRjcF9zcm0iLCBz cm0sIGxlbikgPT0gbGVuKQorCQkJcmV0ID0gdHJ1ZTsKKwkJY2xvc2UoZmQpOworCX0KKwlyZXR1 cm4gcmV0OworfQorCiBzdGF0aWMgdm9pZAogdGVzdF9jb250ZW50X3Byb3RlY3Rpb25fb25fb3V0 cHV0KGlndF9vdXRwdXRfdCAqb3V0cHV0LCBlbnVtIGlndF9jb21taXRfc3R5bGUgcywKIAkJCQkg IGJvb2wgZHBtc190ZXN0LCBpbnQgY29udGVudF90eXBlLAotCQkJCSAgYm9vbCBtZWlfcmVsb2Fk X3Rlc3QsIGJvb2wgdGVzdF90eXBlX2NoYW5nZSkKKwkJCQkgIGJvb2wgbWVpX3JlbG9hZF90ZXN0 LCBib29sIHRlc3RfdHlwZV9jaGFuZ2UsCisJCQkJICBib29sIHRlc3Rfc3JtKQogewogCWlndF9k aXNwbGF5X3QgKmRpc3BsYXkgPSAmZGF0YS5kaXNwbGF5OwogCWlndF9wbGFuZV90ICpwcmltYXJ5 OwogCWVudW0gcGlwZSBwaXBlOwotCWJvb2wgcmV0OworCWJvb2wgcmV0LCBzcm1fbW9kaWZpZWQg PSBmYWxzZTsKKwlpbnQgaTsKIAogCWZvcl9lYWNoX3BpcGUoZGlzcGxheSwgcGlwZSkgewogCQlp ZiAoIWlndF9waXBlX2Nvbm5lY3Rvcl92YWxpZChwaXBlLCBvdXRwdXQpKQpAQCAtNDIwLDEzICs1 NDksMTUgQEAgdGVzdF9jb250ZW50X3Byb3RlY3Rpb25fb25fb3V0cHV0KGlndF9vdXRwdXRfdCAq b3V0cHV0LCBlbnVtIGlndF9jb21taXRfc3R5bGUgcywKIAkJaWYgKCFpZ3RfcGlwZV9pc19mcmVl KGRpc3BsYXksIHBpcGUpKQogCQkJY29udGludWU7CiAKKwkJc3JtX21vZGlmaWVkID0gZmFsc2U7 CiAJCW1vZGVzZXRfd2l0aF9mYihwaXBlLCBvdXRwdXQsIHMpOwogCQl0ZXN0X2NwX2VuYWJsZV93 aXRoX3JldHJ5KG91dHB1dCwgcywgMywgY29udGVudF90eXBlLCBmYWxzZSwKLQkJCQkJICBmYWxz ZSk7CisJCQkJCSAgZmFsc2UsIGZhbHNlKTsKKwogCQlpZiAodGVzdF90eXBlX2NoYW5nZSAmJiBj b250ZW50X3R5cGUgPT0gSERDUF9DT05URU5UX1RZUEVfMSkKIAkJCXRlc3RfY3BfZW5hYmxlX3dp dGhfcmV0cnkob3V0cHV0LCBzLCAzLAogCQkJCQkJICBIRENQX0NPTlRFTlRfVFlQRV8wLCBmYWxz ZSwKLQkJCQkJCSAgdGVzdF90eXBlX2NoYW5nZSk7CisJCQkJCQkgIHRlc3RfdHlwZV9jaGFuZ2Us IGZhbHNlKTsKIAogCQlpZiAobWVpX3JlbG9hZF90ZXN0KSB7CiAJCQlpZ3RfYXNzZXJ0X2YoIWln dF9rbW9kX3VubG9hZCgibWVpX2hkY3AiLCAwKSwKQEAgLTQzNCwxOCArNTY1LDQ3IEBAIHRlc3Rf Y29udGVudF9wcm90ZWN0aW9uX29uX291dHB1dChpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgZW51bSBp Z3RfY29tbWl0X3N0eWxlIHMsCiAKIAkJCS8qIEV4cGVjdGVkIHRvIGZhaWwgKi8KIAkJCXRlc3Rf Y3BfZW5hYmxlX3dpdGhfcmV0cnkob3V0cHV0LCBzLCAzLAotCQkJCQkJICBjb250ZW50X3R5cGUs IHRydWUsIGZhbHNlKTsKKwkJCQkJCSAgY29udGVudF90eXBlLCB0cnVlLCBmYWxzZSwKKwkJCQkJ CSAgZmFsc2UpOwogCiAJCQlpZ3RfYXNzZXJ0X2YoIWlndF9rbW9kX2xvYWQoIm1laV9oZGNwIiwg TlVMTCksCiAJCQkJICAgICAibWVpX2hkY3AgbG9hZCBmYWlsZWQiKTsKIAogCQkJLyogRXhwZWN0 ZWQgdG8gcGFzcyAqLwogCQkJdGVzdF9jcF9lbmFibGVfd2l0aF9yZXRyeShvdXRwdXQsIHMsIDMs Ci0JCQkJCQkgIGNvbnRlbnRfdHlwZSwgZmFsc2UsIGZhbHNlKTsKKwkJCQkJCSAgY29udGVudF90 eXBlLCBmYWxzZSwgZmFsc2UsCisJCQkJCQkgIGZhbHNlKTsKIAkJfQogCiAJCXRlc3RfY3BfbGlj KG91dHB1dCk7CiAKKwkJaWYgKG91dHB1dC0+cHJvcHNbSUdUX0NPTk5FQ1RPUl9IRENQX1RPUE9M T0dZX0lORk9dICYmCisJCSAgICB0ZXN0X3NybSkgeworCQkJcmV0cmlldmVfdG9wb2xvZ3lfaW5m b19wcmVwYXJlX3NybShvdXRwdXQpOworCQkJc3JtX21vZGlmaWVkID0KKwkJCQl3cml0ZV9zcm1f aW50b19zeXNmcygoY29uc3QgY2hhciAqKWZhY3NpbWlsZV9zcm0sCisJCQkJCQkgICAgIHNpemVv ZihmYWNzaW1pbGVfc3JtKSk7CisJCQlpZ3RfYXNzZXJ0X2Yoc3JtX21vZGlmaWVkLCAiU1JNIHVw ZGF0ZSBmYWlsZWQiKTsKKwkJfQorCisJCWlmICh0ZXN0X3NybSAmJiBzcm1fbW9kaWZpZWQpIHsK KwkJCXRlc3RfY3BfZGlzYWJsZShvdXRwdXQsIHMpOworCQkJdGVzdF9jcF9lbmFibGVfd2l0aF9y ZXRyeShvdXRwdXQsIHMsIDMsIGNvbnRlbnRfdHlwZSwKKwkJCQkJCSAgZmFsc2UsIGZhbHNlLCB0 ZXN0X3NybSk7CisKKwkJCS8qIFJlbW92aW5nIHRoZSBzaW5rJ3MgUmVjZWl2ZXIgSUQgZnJvbSBT Uk0gQmxvYiAqLworCQkJZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKwkJCQlmYWNzaW1pbGVfc3Jt W2kgKyA5XSA9IDA7CisKKwkJCXNybV9tb2RpZmllZCA9CisJCQkJd3JpdGVfc3JtX2ludG9fc3lz ZnMoKGNvbnN0IGNoYXIgKilmYWNzaW1pbGVfc3JtLAorCQkJCQkJICAgICBzaXplb2YoZmFjc2lt aWxlX3NybSkpOworCQkJaWd0X2Fzc2VydF9mKHNybV9tb2RpZmllZCwgIlNSTSB1cGRhdGUgZmFp bGVkIik7CisKKwkJCXRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnkob3V0cHV0LCBzLCAxLCBjb250 ZW50X3R5cGUsCisJCQkJCQkgIGZhbHNlLCBmYWxzZSwgZmFsc2UpOworCQl9CisKIAkJaWYgKGRw bXNfdGVzdCkgewogCQkJaWd0X3BpcGVfc2V0X3Byb3BfdmFsdWUoZGlzcGxheSwgcGlwZSwKIAkJ CQkJCUlHVF9DUlRDX0FDVElWRSwgMCk7CkBAIC00NjAsNyArNjIwLDcgQEAgdGVzdF9jb250ZW50 X3Byb3RlY3Rpb25fb25fb3V0cHV0KGlndF9vdXRwdXRfdCAqb3V0cHV0LCBlbnVtIGlndF9jb21t aXRfc3R5bGUgcywKIAkJCWlmICghcmV0KQogCQkJCXRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnko b3V0cHV0LCBzLCAyLAogCQkJCQkJCSAgY29udGVudF90eXBlLCBmYWxzZSwKLQkJCQkJCQkgIGZh bHNlKTsKKwkJCQkJCQkgIGZhbHNlLCBmYWxzZSk7CiAJCX0KIAogCQl0ZXN0X2NwX2Rpc2FibGUo b3V0cHV0LCBzKTsKQEAgLTUyNiw3ICs2ODYsNyBAQCBzdGF0aWMgYm9vbCBzaW5rX2hkY3AyX2Nh cGFibGUoaWd0X291dHB1dF90ICpvdXRwdXQpCiBzdGF0aWMgdm9pZAogdGVzdF9jb250ZW50X3By b3RlY3Rpb24oZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMsIGJvb2wgZHBtc190ZXN0LAogCQkJaW50 IGNvbnRlbnRfdHlwZSwgYm9vbCBtZWlfcmVsb2FkX3Rlc3QsCi0JCQlib29sIHRlc3RfdHlwZV9j aGFuZ2UpCisJCQlib29sIHRlc3RfdHlwZV9jaGFuZ2UsIGJvb2wgdGVzdF9zcm0pCiB7CiAJaWd0 X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZkYXRhLmRpc3BsYXk7CiAJaWd0X291dHB1dF90ICpvdXRw dXQ7CkBAIC01NTcsOSArNzE3LDggQEAgdGVzdF9jb250ZW50X3Byb3RlY3Rpb24oZW51bSBpZ3Rf Y29tbWl0X3N0eWxlIHMsIGJvb2wgZHBtc190ZXN0LAogCQl9CiAKIAkJdGVzdF9jb250ZW50X3By b3RlY3Rpb25fb25fb3V0cHV0KG91dHB1dCwgcywgZHBtc190ZXN0LAotCQkJCQkJICBjb250ZW50 X3R5cGUsCi0JCQkJCQkgIG1laV9yZWxvYWRfdGVzdCwKLQkJCQkJCSAgdGVzdF90eXBlX2NoYW5n ZSk7CisJCQkJCQkgIGNvbnRlbnRfdHlwZSwgbWVpX3JlbG9hZF90ZXN0LAorCQkJCQkJICB0ZXN0 X3R5cGVfY2hhbmdlLCB0ZXN0X3NybSk7CiAJCXZhbGlkX3Rlc3RzKys7CiAJfQogCkBAIC01Nzks MzMgKzczOCwzMyBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJsZWdhY3kiKQogCQl0ZXN0X2Nv bnRlbnRfcHJvdGVjdGlvbihDT01NSVRfTEVHQUNZLCBmYWxzZSwKIAkJCQkJSERDUF9DT05URU5U X1RZUEVfMCwgZmFsc2UsCi0JCQkJCWZhbHNlKTsKKwkJCQkJZmFsc2UsIGZhbHNlKTsKIAogCWln dF9zdWJ0ZXN0KCJhdG9taWMiKSB7CiAJCWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5pc19hdG9t aWMpOwogCQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihDT01NSVRfQVRPTUlDLCBmYWxzZSwKLQkJ CQkJSERDUF9DT05URU5UX1RZUEVfMCwgZmFsc2UsCisJCQkJCUhEQ1BfQ09OVEVOVF9UWVBFXzAs IGZhbHNlLCBmYWxzZSwKIAkJCQkJZmFsc2UpOwogCX0KIAogCWlndF9zdWJ0ZXN0KCJhdG9taWMt ZHBtcyIpIHsKIAkJaWd0X3JlcXVpcmUoZGF0YS5kaXNwbGF5LmlzX2F0b21pYyk7CiAJCXRlc3Rf Y29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9NSUMsIHRydWUsCi0JCQkJCUhEQ1BfQ09OVEVO VF9UWVBFXzAsIGZhbHNlLAorCQkJCQlIRENQX0NPTlRFTlRfVFlQRV8wLCBmYWxzZSwgZmFsc2Us CiAJCQkJCWZhbHNlKTsKIAl9CiAKIAlpZ3Rfc3VidGVzdCgidHlwZTEiKSB7CiAJCWlndF9yZXF1 aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOwogCQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihD T01NSVRfQVRPTUlDLCBmYWxzZSwKLQkJCQkJSERDUF9DT05URU5UX1RZUEVfMSwgZmFsc2UsCisJ CQkJCUhEQ1BfQ09OVEVOVF9UWVBFXzEsIGZhbHNlLCBmYWxzZSwKIAkJCQkJZmFsc2UpOwogCX0K IAogCWlndF9zdWJ0ZXN0KCJ0eXBlMV9tZWlfaW50ZXJmYWNlIikgewogCQlpZ3RfcmVxdWlyZShk YXRhLmRpc3BsYXkuaXNfYXRvbWljKTsKIAkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb24oQ09NTUlU X0FUT01JQywgZmFsc2UsCi0JCQkJCUhEQ1BfQ09OVEVOVF9UWVBFXzEsIHRydWUsCisJCQkJCUhE Q1BfQ09OVEVOVF9UWVBFXzEsIHRydWUsIGZhbHNlLAogCQkJCQlmYWxzZSk7CiAJfQogCkBAIC02 MTMsOSArNzcyLDM2IEBAIGlndF9tYWluCiAJCWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5pc19h dG9taWMpOwogCQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihDT01NSVRfQVRPTUlDLCBmYWxzZSwK IAkJCQkJSERDUF9DT05URU5UX1RZUEVfMSwgZmFsc2UsCi0JCQkJCXRydWUpOworCQkJCQl0cnVl LCBmYWxzZSk7CisJfQorCisJLyoKKwkgKiBTUk0gc3VidGVzdCBwZXJmb3JtIHRoZSBIRENQIGF1 dGhlbnRpY2F0aW9uLCBhbmQgdGhlbiByZXRyaXZlIHRoZQorCSAqIHJlY2VpdmVyIGlkIHRocm91 Z2ggdG9wb2xvZ3kgaW5mby4KKwkgKgorCSAqIFVzaW5nIHRoZSByZWNlaXZlciBJRCwgZmFjc2lt aWxlIFNSTSB0YWJsZSBpcyBtb2RpZmllZCB3aXRoCisJICogcmVjZWl2ZXIgSUQgcmV0cmlldmVk IGZyb20gdGVoIHRvcG9sb2d5IGluZm8uIEFmdGVyIG1vZGlmaWNhdGlvbgorCSAqIFNSTSB0YWJs ZSBpcyBub3QgaW50YWN0IGFzIHBlciBEQ1AgU2lnbmF0dXJlLgorCSAqCisJICogQnV0IEtlcm5l bCBiZWxpZXZlcyB1c2Vyc3BhY2UgYW5kIGRvZXNuJ3QgdmVyaWZ5IHRoZSBEQ1Agc2lnbmF0dXJl LgorCSAqIFNvIHdlIGNhbiBleHBsb2l0ZSB0aGF0IHRydXN0IHRvIHRlc3QgdGhlIFNSTSBhbmQg dG9wb2xvZ3kgaW5mbworCSAqIGZlYXR1cmVzLgorCSAqCisJICogU28gd2hlbiBtb2RpZmllZCBT Uk0gaXMgYXBwbGllZCBBdXRoZW50aWNhdGlvbiB3aWxsIGZhaWwgZHVlIHRvCisJICogcmVjZWl2 ZXIgSUQgcmV2b2NhdGlvbi4KKwkgKgorCSAqIEFuZCBLZXJuZWwgYXR0ZW1wdHMgSERDUDIuMiBh bHdheXMgYW5kIG9uIGZhaWx1cmUgb2YgaXQgSERDUDEuNAorCSAqIHdpbGwgYmUgYXR0ZW1wdGVk LiBCdXQgdGhlaXIgSUQgb2YgdGhlIHNpbmsgdmFyaWVzIGJldHdlZW4gMS40IGFuZAorCSAqIDIu MiB2ZXJzaW9ucy4gU28gd2UgbmVlZCB0byBzdGljayB0byBvbmUgdmVyc2lvbi4gSGVuY2UgSERD UDIuMiBpcworCSAqIGNob29zZW4gdXNpbmcgVHlwZSAxLgorCSAqLworCWlndF9zdWJ0ZXN0KCJz cm0iKSB7CisJCWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOworCQl0ZXN0X2Nv bnRlbnRfcHJvdGVjdGlvbihDT01NSVRfQVRPTUlDLCBmYWxzZSwKKwkJCQkJSERDUF9DT05URU5U X1RZUEVfMSwgZmFsc2UsIGZhbHNlLCB0cnVlKTsKIAl9CiAKKwogCWlndF9maXh0dXJlCiAJCWln dF9kaXNwbGF5X2ZpbmkoJmRhdGEuZGlzcGxheSk7CiB9Ci0tIAoyLjE5LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==