From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 081666E165 for ; Fri, 5 Apr 2019 08:22:16 +0000 (UTC) From: Ramalingam C Date: Fri, 5 Apr 2019 13:53:45 +0530 Message-Id: <20190405082346.31222-6-ramalingam.c@intel.com> In-Reply-To: <20190405082346.31222-1-ramalingam.c@intel.com> References: <20190405082346.31222-1-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 bmllbF0KdjM6CiAgcy9DUF9kb3duc3RyZWFtX2luZm8vSERDUCBUb3BvbG9neQp2NDoKICBzcm0g c3lzZnMgaXMgbW92ZWQgdG8gL3N5cy9jbGFzcy9kcm0gYXMgcGVyIGtlcm5lbCBjaGFuZ2VzLgog IGV4cGxpY2l0IHBhZGRpbmcgaXMgYWRkZWQgZm9yIHRvcG9sb2d5IHN0cnVjdCwgaW4gc3luYyB3 aXRoIGtlcm5lbC4KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGlu dGVsLmNvbT4KLS0tCiBsaWIvaWd0X2ttcy5jICAgICAgICAgICAgICAgICAgfCAgIDEgKwogbGli L2lndF9rbXMuaCAgICAgICAgICAgICAgICAgIHwgICAxICsKIHRlc3RzL2ttc19jb250ZW50X3By b3RlY3Rpb24uYyB8IDIyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDMgZmls ZXMgY2hhbmdlZCwgMjEzIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xpYi9pZ3Rfa21zLmMgYi9saWIvaWd0X2ttcy5jCmluZGV4IDM3ZGVjMmNmMDc0NS4uNzM4 ZGVlYWJhYmQwIDEwMDY0NAotLS0gYS9saWIvaWd0X2ttcy5jCisrKyBiL2xpYi9pZ3Rfa21zLmMK QEAgLTIwMSw2ICsyMDEsNyBAQCBjb25zdCBjaGFyICogY29uc3QgaWd0X2Nvbm5lY3Rvcl9wcm9w X25hbWVzW0lHVF9OVU1fQ09OTkVDVE9SX1BST1BTXSA9IHsKIAlbSUdUX0NPTk5FQ1RPUl9DT05U RU5UX1BST1RFQ1RJT05dID0gIkNvbnRlbnQgUHJvdGVjdGlvbiIsCiAJW0lHVF9DT05ORUNUT1Jf VlJSX0NBUEFCTEVdID0gInZycl9jYXBhYmxlIiwKIAlbSUdUX0NPTk5FQ1RPUl9IRENQX0NPTlRF TlRfVFlQRV0gPSAiSERDUCBDb250ZW50IFR5cGUiLAorCVtJR1RfQ09OTkVDVE9SX0hEQ1BfVE9Q T0xPR1lfSU5GT10gPSAiSERDUCBUb3BvbG9neSIsCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvbGli L2lndF9rbXMuaCBiL2xpYi9pZ3Rfa21zLmgKaW5kZXggZDI4MWM0OTMxYjgzLi43OGI4OTIwMTI4 ZmYgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rfa21zLmgKKysrIGIvbGliL2lndF9rbXMuaApAQCAtMTI0 LDYgKzEyNCw3IEBAIGVudW0gaWd0X2F0b21pY19jb25uZWN0b3JfcHJvcGVydGllcyB7CiAgICAg ICAgSUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJT04sCiAgICAgICAgSUdUX0NPTk5FQ1RP Ul9WUlJfQ0FQQUJMRSwKICAgICAgICBJR1RfQ09OTkVDVE9SX0hEQ1BfQ09OVEVOVF9UWVBFLAor ICAgICAgIElHVF9DT05ORUNUT1JfSERDUF9UT1BPTE9HWV9JTkZPLAogICAgICAgIElHVF9OVU1f Q09OTkVDVE9SX1BST1BTCiB9OwogCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY29udGVudF9wcm90 ZWN0aW9uLmMgYi90ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMKaW5kZXggYWJiZWNjNGIw YzU2Li5mOTU4ODExMzY1YjcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19jb250ZW50X3Byb3RlY3Rp b24uYworKysgYi90ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMKQEAgLTU4LDYgKzU4LDEx OCBAQCBzdHJ1Y3QgZGF0YSB7CiAjZGVmaW5lIEZMSVBfRVZFTlRfUE9MTElOR19USU1FT1VUX01T RUMJCTEwMDAKIAogCisjZGVmaW5lIERSTV9NT0RFX0hEQ1BfS1NWX0xFTgkJCTUKKyNkZWZpbmUg RFJNX01PREVfSERDUF9NQVhfREVWSUNFX0NOVAkJMTI3CisKKyNkZWZpbmUgRFJNX01PREVfSERD UDE0X0lOX0ZPUkNFCQkoMTw8MCkKKyNkZWZpbmUgRFJNX01PREVfSERDUDIyX0lOX0ZPUkNFCQko MTw8MSkKKworc3RydWN0IGhkY3BfdG9wb2xvZ3lfaW5mbyB7CisJLyogVmVyc2lvbiBvZiBIRENQ IGF1dGhlbnRpY2F0ZWQgKDEuNC8yLjIpICovCisJX191MzIgdmVyX2luX2ZvcmNlOworCisJLyog QXBwbGljYWJsZSBvbmx5IGZvciBIRENQMi4yICovCisJX191MzIgY29udGVudF90eXBlOworCisJ LyogS1NWIG9mIGltbWVkaWF0ZSBIRENQIFNpbmsuIEluIExpdHRsZS1FbmRpYW4gRm9ybWF0LiAq LworCV9fdTggYmtzdltEUk1fTU9ERV9IRENQX0tTVl9MRU5dOworCisJLyogV2hldGhlciBJbW1l ZGlhdGUgSERDUCBzaW5rIGlzIGEgcmVwZWF0ZXI/ICovCisJX191OCBpc19yZXBlYXRlcjsKKwor CS8qIERlcHRoIHJlY2VpdmVkIGZyb20gaW1tZWRpYXRlIGRvd25zdHJlYW0gcmVwZWF0ZXIgKi8K KwlfX3U4IGRlcHRoOworCV9fdTggcGFkMTsKKworCS8qIERldmljZSBjb3VudCByZWNlaXZlZCBm cm9tIGltbWVkaWF0ZSBkb3duc3RyZWFtIHJlcGVhdGVyICovCisJX191MzIgZGV2aWNlX2NvdW50 OworCisJLyoKKwkgKiBNYXggYnVmZmVyIHJlcXVpcmVkIHRvIGhvbGQga3N2IGxpc3QgcmVjZWl2 ZWQgZnJvbSBpbW1lZGlhdGUKKwkgKiByZXBlYXRlci4gSW4gdGhpcyBhcnJheSBmaXJzdCBkZXZp Y2VfY291bnQgKiBEUk1fTU9ERV9IRENQX0tTVl9MRU4KKwkgKiB3aWxsIGhvbGQgdGhlIHZhbGlk IGtzdiBieXRlcy4KKwkgKiBJZiBhdXRoZW50aWNhdGlvbiBzcGVjaWZpY2F0aW9uIGlzCisJICog ICAgICBIRENQMS40IC0gZWFjaCBLU1YncyBCeXRlcyB3aWxsIGJlIGluIExpdHRsZS1FbmRpYW4g Zm9ybWF0LgorCSAqICAgICAgSERDUDIuMiAtIGVhY2ggS1NWJ3MgQnl0ZXMgd2lsbCBiZSBpbiBC aWctRW5kaWFuIGZvcm1hdC4KKwkgKi8KKwlfX3U4IGtzdl9saXN0W0RSTV9NT0RFX0hEQ1BfS1NW X0xFTiAqIERSTV9NT0RFX0hEQ1BfTUFYX0RFVklDRV9DTlRdOworCV9fdTggcGFkMls1XTsKK30g X19wYWNrZWQ7CisKK19fdTggZmFjc2ltaWxlX3NybVtdID0geworCTB4ODAsIDB4MCwgMHgwLCAw eDA1LCAweDAxLCAweDAsIDB4MCwgMHgzNiwgMHgwMiwgMHg1MSwgMHgxRSwgMHhGMiwKKwkweDFB LCAweENELCAweEU3LCAweDI2LCAweDk3LCAweEY0LCAweDAxLCAweDk3LCAweDEwLCAweDE5LCAw eDkyLCAweDUzLAorCTB4RTksIDB4RjAsIDB4NTksIDB4OTUsIDB4QTMsIDB4N0EsIDB4M0IsIDB4 RkUsIDB4RTAsIDB4OUMsIDB4NzYsIDB4REQsCisJMHg4MywgMHhBQSwgMHhDMiwgMHg1QiwgMHgy NCwgMHhCMywgMHgzNiwgMHg4NCwgMHg5NCwgMHg3NSwgMHgzNCwgMHhEQiwKKwkweDEwLCAweDlF LCAweDNCLCAweDIzLCAweDEzLCAweEQ4LCAweDdBLCAweEMyLCAweDMwLCAweDc5LCAweDg0fTsK Kworc3RhdGljIHZvaWQgcGFyc2VfdG9wb2xvZ3lfaW5mbyhzdHJ1Y3QgaGRjcF90b3BvbG9neV9p bmZvICpkc19pbmZvKQoreworCV9fdTggKmtzdnM7CisJaW50IGk7CisKKwlpZiAoZHNfaW5mby0+ dmVyX2luX2ZvcmNlICYgRFJNX01PREVfSERDUDE0X0lOX0ZPUkNFKQorCQlpZ3RfaW5mbygiSERD UDEuNCBpcyBFbmFibGVkXG4iKTsKKwllbHNlIGlmIChkc19pbmZvLT52ZXJfaW5fZm9yY2UgJiBE Uk1fTU9ERV9IRENQMjJfSU5fRk9SQ0UpCisJCWlndF9pbmZvKCJIRENQMi4yIGlzIEVuYWJsZWQu IFR5cGUlZFxuIiwKKwkJCSBkc19pbmZvLT5jb250ZW50X3R5cGUgJiBIRENQX0NPTlRFTlRfVFlQ RV8xID8KKwkJCSAxIDogMCk7CisJZWxzZQorCQlyZXR1cm47CisKKwlpZ3RfaW5mbygiXHRSZWNl aXZlciBJRDogJSMwNHggJSMwNHggJSMwNHggJSMwNHggJSMwNHhcbiIsCisJCQlkc19pbmZvLT5i a3N2WzBdICYgMHhGRiwgZHNfaW5mby0+YmtzdlsxXSAmIDB4RkYsCisJCQlkc19pbmZvLT5ia3N2 WzJdICYgMHhGRiwgZHNfaW5mby0+YmtzdlszXSAmIDB4RkYsCisJCQlkc19pbmZvLT5ia3N2WzRd ICYgMHhGRik7CisKKwlpZiAoZHNfaW5mby0+aXNfcmVwZWF0ZXIpIHsKKwkJaWd0X2luZm8oIlx0 SERDUCBzaW5rIGlzIGEgUmVwZWF0ZXJcbiIpOworCisJCWlndF9pbmZvKCJcdERlcHRoOiAlZCwg RGV2aWNlIGNvdW50OiAlZFxuIiwgZHNfaW5mby0+ZGVwdGgsCisJCQkJCQkJZHNfaW5mby0+ZGV2 aWNlX2NvdW50KTsKKwkJa3N2cyA9IGRzX2luZm8tPmtzdl9saXN0OworCisJCWZvciAoaSA9IDA7 IGkgPCBkc19pbmZvLT5kZXZpY2VfY291bnQ7IGkrKykgeworCQkJaWd0X2luZm8oIlx0a3N2LSVk OiAlIzA0eCAlIzA0eCAlIzA0eCAlIzA0eCAlIzA0eFxuIiwgaSwKKwkJCQkJa3N2c1swXSAmIDB4 RkYsIGtzdnNbMV0gJiAweEZGLAorCQkJCQlrc3ZzWzJdICYgMHhGRiwga3N2c1szXSAmIDB4RkYs CisJCQkJCWtzdnNbNF0gJiAweEZGKTsKKwkJCWtzdnMgKz0gRFJNX01PREVfSERDUF9LU1ZfTEVO OworCQl9CisJfSBlbHNlIHsKKwkJaWd0X2luZm8oIlx0SERDUCBzaW5rIGlzIGEgUmVjZWl2ZXJc biIpOworCX0KK30KKworc3RhdGljIHZvaWQgcmV0cmlldmVfdG9wb2xvZ3lfaW5mb19wcmVwYXJl X3NybShpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKK3sKKwlkcm1Nb2RlUHJvcGVydHlCbG9iUmVzICpk c19pbmZvX3Byb3AgPSBOVUxMOworCXVpbnQ2NF90IHRvcG9sb2d5X2Jsb2JfaWQ7CisJc3RydWN0 IGhkY3BfdG9wb2xvZ3lfaW5mbyAqZHNfaW5mbzsKKwlpbnQgaTsKKworCWlndF9pbmZvKCJIRENQ IHRvcG9sb2d5IHByb3BlcnR5IGlzIGF0dGFjaGVkXG4iKTsKKworCXRvcG9sb2d5X2Jsb2JfaWQg PSBpZ3Rfb3V0cHV0X2dldF9wcm9wKG91dHB1dCwKKwkJCQlJR1RfQ09OTkVDVE9SX0hEQ1BfVE9Q T0xPR1lfSU5GTyk7CisKKwlpZ3RfYXNzZXJ0X2YodG9wb2xvZ3lfYmxvYl9pZCwKKwkJCQkiSW52 YWxpZCB0b3BvbG9neSBibG9iIGlkXG4iKTsKKworCWRzX2luZm9fcHJvcCA9IGRybU1vZGVHZXRQ cm9wZXJ0eUJsb2IoZGF0YS5kcm1fZmQsCisJCQkJCQl0b3BvbG9neV9ibG9iX2lkKTsKKworCWln dF9hc3NlcnQoZHNfaW5mb19wcm9wKTsKKwlpZ3RfYXNzZXJ0X2VxKGRzX2luZm9fcHJvcC0+bGVu Z3RoLAorCQkJCXNpemVvZihzdHJ1Y3QgaGRjcF90b3BvbG9neV9pbmZvKSk7CisJZHNfaW5mbyA9 IGRzX2luZm9fcHJvcC0+ZGF0YTsKKworCXBhcnNlX3RvcG9sb2d5X2luZm8oZHNfaW5mbyk7CisK Kwlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKQorCQlmYWNzaW1pbGVfc3JtW2kgKyA5XSA9IGRzX2lu Zm8tPmJrc3ZbaV07Cit9CisKIHN0YXRpYyB2b2lkIGZsaXBfaGFuZGxlcihpbnQgZmQsIHVuc2ln bmVkIGludCBzZXF1ZW5jZSwgdW5zaWduZWQgaW50IHR2X3NlYywKIAkJCSB1bnNpZ25lZCBpbnQg dHZfdXNlYywgdm9pZCAqX2RhdGEpCiB7CkBAIC0zNTUsNyArNDY3LDcgQEAgc3RhdGljIHZvaWQg dGVzdF9jcF9kaXNhYmxlKGlndF9vdXRwdXRfdCAqb3V0cHV0LCBlbnVtIGlndF9jb21taXRfc3R5 bGUgcykKIHN0YXRpYyB2b2lkIHRlc3RfY3BfZW5hYmxlX3dpdGhfcmV0cnkoaWd0X291dHB1dF90 ICpvdXRwdXQsCiAJCQkJICAgICAgZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMsIGludCByZXRyeSwK IAkJCQkgICAgICBpbnQgY29udGVudF90eXBlLCBib29sIGV4cGVjdF9mYWlsdXJlLAotCQkJCSAg ICAgIGJvb2wgdGVzdF90eXBlX2NoYW5nZSkKKwkJCQkgICAgICBib29sIHRlc3RfdHlwZV9jaGFu Z2UsIGJvb2wgdGVzdF9zcm0pCiB7CiAJaW50IHJldHJ5X29yaWcgPSByZXRyeTsKIAlib29sIHJl dDsKQEAgLTM3Myw2ICs0ODUsOSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2NwX2VuYWJsZV93aXRoX3Jl dHJ5KGlndF9vdXRwdXRfdCAqb3V0cHV0LAogCWlmIChleHBlY3RfZmFpbHVyZSkKIAkJaWd0X2Fz c2VydF9mKCFyZXQsCiAJCQkgICAgICJDUCBFbmFibGVkLiBUaG91Z2ggaXQgaXMgZXhwZWN0ZWQg dG8gZmFpbFxuIik7CisJZWxzZSBpZiAodGVzdF9zcm0pCisJCWlndF9hc3NlcnRfZighcmV0LAor CQkJICAgICAiQ1AgRW5hYmxlZC4gVGhvdWdoIElEIGlzIHJldm9rZWQgdGhyb3VnaCBTUk1cbiIp OwogCWVsc2UKIAkJaWd0X2Fzc2VydF9mKHJldCwgIkNvbnRlbnQgUHJvdGVjdGlvbiBub3QgZW5h YmxlZFxuIik7CiB9CkBAIC0zOTcsMTUgKzUxMiwzNiBAQCBzdGF0aWMgdm9pZCB0ZXN0X2NwX2xp YyhpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKIAlpZ3RfYXNzZXJ0X2YoIXJldCwgIkNvbnRlbnQgUHJv dGVjdGlvbiBMSUMgRmFpbGVkXG4iKTsKIH0KIAorc3RhdGljIGJvb2wgd3JpdGVfc3JtX2ludG9f c3lzZnMoY29uc3QgX191OCAqc3JtLCBpbnQgbGVuKQoreworCWludCBmZCwgcmV0LCB0b3RhbCA9 IDA7CisKKwlmZCA9IG9wZW4oIi9zeXMvY2xhc3MvZHJtL2hkY3Bfc3JtIiwgT19XUk9OTFkpOwor CWRvIHsKKwkJcmV0ID0gd3JpdGUoZmQsIHNybSArIHRvdGFsLCBsZW4gLSB0b3RhbCk7CisJCWlm IChyZXQgPCAwKQorCQkJcmV0ID0gLWVycm5vOworCQlpZiAocmV0ID09IC1FSU5UUiB8fCByZXQg PT0gLUVBR0FJTikKKwkJCWNvbnRpbnVlOworCQlpZiAocmV0IDw9IDApCisJCQlicmVhazsKKwkJ dG90YWwgKz0gcmV0OworCX0gd2hpbGUgKHRvdGFsICE9IGxlbik7CisKKwlyZXR1cm4gdG90YWwg PCBsZW4gPyBmYWxzZSA6IHRydWU7Cit9CisKIHN0YXRpYyB2b2lkCiB0ZXN0X2NvbnRlbnRfcHJv dGVjdGlvbl9vbl9vdXRwdXQoaWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0gaWd0X2NvbW1pdF9z dHlsZSBzLAogCQkJCSAgYm9vbCBkcG1zX3Rlc3QsIGludCBjb250ZW50X3R5cGUsCi0JCQkJICBi b29sIG1laV9yZWxvYWRfdGVzdCwgYm9vbCB0ZXN0X3R5cGVfY2hhbmdlKQorCQkJCSAgYm9vbCBt ZWlfcmVsb2FkX3Rlc3QsIGJvb2wgdGVzdF90eXBlX2NoYW5nZSwKKwkJCQkgIGJvb2wgdGVzdF9z cm0pCiB7CiAJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZkYXRhLmRpc3BsYXk7CiAJaWd0X3Bs YW5lX3QgKnByaW1hcnk7CiAJZW51bSBwaXBlIHBpcGU7Ci0JYm9vbCByZXQ7CisJYm9vbCByZXQs IHNybV9tb2RpZmllZCA9IGZhbHNlOworCWludCBpOwogCiAJZm9yX2VhY2hfcGlwZShkaXNwbGF5 LCBwaXBlKSB7CiAJCWlmICghaWd0X3BpcGVfY29ubmVjdG9yX3ZhbGlkKHBpcGUsIG91dHB1dCkp CkBAIC00MjAsMTMgKzU1NiwxNSBAQCB0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRwdXQo aWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzLAogCQlpZiAoIWln dF9waXBlX2lzX2ZyZWUoZGlzcGxheSwgcGlwZSkpCiAJCQljb250aW51ZTsKIAorCQlzcm1fbW9k aWZpZWQgPSBmYWxzZTsKIAkJbW9kZXNldF93aXRoX2ZiKHBpcGUsIG91dHB1dCwgcyk7CiAJCXRl c3RfY3BfZW5hYmxlX3dpdGhfcmV0cnkob3V0cHV0LCBzLCAzLCBjb250ZW50X3R5cGUsIGZhbHNl LAotCQkJCQkgIGZhbHNlKTsKKwkJCQkJICBmYWxzZSwgZmFsc2UpOworCiAJCWlmICh0ZXN0X3R5 cGVfY2hhbmdlICYmIGNvbnRlbnRfdHlwZSA9PSBIRENQX0NPTlRFTlRfVFlQRV8xKQogCQkJdGVz dF9jcF9lbmFibGVfd2l0aF9yZXRyeShvdXRwdXQsIHMsIDMsCiAJCQkJCQkgIEhEQ1BfQ09OVEVO VF9UWVBFXzAsIGZhbHNlLAotCQkJCQkJICB0ZXN0X3R5cGVfY2hhbmdlKTsKKwkJCQkJCSAgdGVz dF90eXBlX2NoYW5nZSwgZmFsc2UpOwogCiAJCWlmIChtZWlfcmVsb2FkX3Rlc3QpIHsKIAkJCWln dF9hc3NlcnRfZighaWd0X2ttb2RfdW5sb2FkKCJtZWlfaGRjcCIsIDApLApAQCAtNDM0LDE4ICs1 NzIsNDcgQEAgdGVzdF9jb250ZW50X3Byb3RlY3Rpb25fb25fb3V0cHV0KGlndF9vdXRwdXRfdCAq b3V0cHV0LCBlbnVtIGlndF9jb21taXRfc3R5bGUgcywKIAogCQkJLyogRXhwZWN0ZWQgdG8gZmFp bCAqLwogCQkJdGVzdF9jcF9lbmFibGVfd2l0aF9yZXRyeShvdXRwdXQsIHMsIDMsCi0JCQkJCQkg IGNvbnRlbnRfdHlwZSwgdHJ1ZSwgZmFsc2UpOworCQkJCQkJICBjb250ZW50X3R5cGUsIHRydWUs IGZhbHNlLAorCQkJCQkJICBmYWxzZSk7CiAKIAkJCWlndF9hc3NlcnRfZighaWd0X2ttb2RfbG9h ZCgibWVpX2hkY3AiLCBOVUxMKSwKIAkJCQkgICAgICJtZWlfaGRjcCBsb2FkIGZhaWxlZCIpOwog CiAJCQkvKiBFeHBlY3RlZCB0byBwYXNzICovCiAJCQl0ZXN0X2NwX2VuYWJsZV93aXRoX3JldHJ5 KG91dHB1dCwgcywgMywKLQkJCQkJCSAgY29udGVudF90eXBlLCBmYWxzZSwgZmFsc2UpOworCQkJ CQkJICBjb250ZW50X3R5cGUsIGZhbHNlLCBmYWxzZSwKKwkJCQkJCSAgZmFsc2UpOwogCQl9CiAK IAkJdGVzdF9jcF9saWMob3V0cHV0KTsKIAorCQlpZiAob3V0cHV0LT5wcm9wc1tJR1RfQ09OTkVD VE9SX0hEQ1BfVE9QT0xPR1lfSU5GT10gJiYKKwkJICAgIHRlc3Rfc3JtKSB7CisJCQlyZXRyaWV2 ZV90b3BvbG9neV9pbmZvX3ByZXBhcmVfc3JtKG91dHB1dCk7CisJCQlzcm1fbW9kaWZpZWQgPQor CQkJCXdyaXRlX3NybV9pbnRvX3N5c2ZzKChjb25zdCBfX3U4ICopZmFjc2ltaWxlX3NybSwKKwkJ CQkJCSAgICAgc2l6ZW9mKGZhY3NpbWlsZV9zcm0pKTsKKwkJCWlndF9hc3NlcnRfZihzcm1fbW9k aWZpZWQsICJTUk0gdXBkYXRlIGZhaWxlZCIpOworCQl9CisKKwkJaWYgKHRlc3Rfc3JtICYmIHNy bV9tb2RpZmllZCkgeworCQkJdGVzdF9jcF9kaXNhYmxlKG91dHB1dCwgcyk7CisJCQl0ZXN0X2Nw X2VuYWJsZV93aXRoX3JldHJ5KG91dHB1dCwgcywgMywgY29udGVudF90eXBlLAorCQkJCQkJICBm YWxzZSwgZmFsc2UsIHRlc3Rfc3JtKTsKKworCQkJLyogUmVtb3ZpbmcgdGhlIHNpbmsncyBSZWNl aXZlciBJRCBmcm9tIFNSTSBCbG9iICovCisJCQlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKQorCQkJ CWZhY3NpbWlsZV9zcm1baSArIDldID0gMDsKKworCQkJc3JtX21vZGlmaWVkID0KKwkJCQl3cml0 ZV9zcm1faW50b19zeXNmcygoY29uc3QgX191OCAqKWZhY3NpbWlsZV9zcm0sCisJCQkJCQkgICAg IHNpemVvZihmYWNzaW1pbGVfc3JtKSk7CisJCQlpZ3RfYXNzZXJ0X2Yoc3JtX21vZGlmaWVkLCAi U1JNIHVwZGF0ZSBmYWlsZWQiKTsKKworCQkJdGVzdF9jcF9lbmFibGVfd2l0aF9yZXRyeShvdXRw dXQsIHMsIDEsIGNvbnRlbnRfdHlwZSwKKwkJCQkJCSAgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CisJ CX0KKwogCQlpZiAoZHBtc190ZXN0KSB7CiAJCQlpZ3RfcGlwZV9zZXRfcHJvcF92YWx1ZShkaXNw bGF5LCBwaXBlLAogCQkJCQkJSUdUX0NSVENfQUNUSVZFLCAwKTsKQEAgLTQ2MCw3ICs2MjcsNyBA QCB0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRwdXQoaWd0X291dHB1dF90ICpvdXRwdXQs IGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzLAogCQkJaWYgKCFyZXQpCiAJCQkJdGVzdF9jcF9lbmFi bGVfd2l0aF9yZXRyeShvdXRwdXQsIHMsIDIsCiAJCQkJCQkJICBjb250ZW50X3R5cGUsIGZhbHNl LAotCQkJCQkJCSAgZmFsc2UpOworCQkJCQkJCSAgZmFsc2UsIGZhbHNlKTsKIAkJfQogCiAJCXRl c3RfY3BfZGlzYWJsZShvdXRwdXQsIHMpOwpAQCAtNTI2LDcgKzY5Myw3IEBAIHN0YXRpYyBib29s IHNpbmtfaGRjcDJfY2FwYWJsZShpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKIHN0YXRpYyB2b2lkCiB0 ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbihlbnVtIGlndF9jb21taXRfc3R5bGUgcywgYm9vbCBkcG1z X3Rlc3QsCiAJCQlpbnQgY29udGVudF90eXBlLCBib29sIG1laV9yZWxvYWRfdGVzdCwKLQkJCWJv b2wgdGVzdF90eXBlX2NoYW5nZSkKKwkJCWJvb2wgdGVzdF90eXBlX2NoYW5nZSwgYm9vbCB0ZXN0 X3NybSkKIHsKIAlpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEuZGlzcGxheTsKIAlpZ3Rf b3V0cHV0X3QgKm91dHB1dDsKQEAgLTU1Nyw5ICs3MjQsOCBAQCB0ZXN0X2NvbnRlbnRfcHJvdGVj dGlvbihlbnVtIGlndF9jb21taXRfc3R5bGUgcywgYm9vbCBkcG1zX3Rlc3QsCiAJCX0KIAogCQl0 ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRwdXQob3V0cHV0LCBzLCBkcG1zX3Rlc3QsCi0J CQkJCQkgIGNvbnRlbnRfdHlwZSwKLQkJCQkJCSAgbWVpX3JlbG9hZF90ZXN0LAotCQkJCQkJICB0 ZXN0X3R5cGVfY2hhbmdlKTsKKwkJCQkJCSAgY29udGVudF90eXBlLCBtZWlfcmVsb2FkX3Rlc3Qs CisJCQkJCQkgIHRlc3RfdHlwZV9jaGFuZ2UsIHRlc3Rfc3JtKTsKIAkJdmFsaWRfdGVzdHMrKzsK IAl9CiAKQEAgLTU3OSwzMyArNzQ1LDMzIEBAIGlndF9tYWluCiAJaWd0X3N1YnRlc3QoImxlZ2Fj eSIpCiAJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9MRUdBQ1ksIGZhbHNlLAogCQkJ CQlIRENQX0NPTlRFTlRfVFlQRV8wLCBmYWxzZSwKLQkJCQkJZmFsc2UpOworCQkJCQlmYWxzZSwg ZmFsc2UpOwogCiAJaWd0X3N1YnRlc3QoImF0b21pYyIpIHsKIAkJaWd0X3JlcXVpcmUoZGF0YS5k aXNwbGF5LmlzX2F0b21pYyk7CiAJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9N SUMsIGZhbHNlLAotCQkJCQlIRENQX0NPTlRFTlRfVFlQRV8wLCBmYWxzZSwKKwkJCQkJSERDUF9D T05URU5UX1RZUEVfMCwgZmFsc2UsIGZhbHNlLAogCQkJCQlmYWxzZSk7CiAJfQogCiAJaWd0X3N1 YnRlc3QoImF0b21pYy1kcG1zIikgewogCQlpZ3RfcmVxdWlyZShkYXRhLmRpc3BsYXkuaXNfYXRv bWljKTsKIAkJdGVzdF9jb250ZW50X3Byb3RlY3Rpb24oQ09NTUlUX0FUT01JQywgdHJ1ZSwKLQkJ CQkJSERDUF9DT05URU5UX1RZUEVfMCwgZmFsc2UsCisJCQkJCUhEQ1BfQ09OVEVOVF9UWVBFXzAs IGZhbHNlLCBmYWxzZSwKIAkJCQkJZmFsc2UpOwogCX0KIAogCWlndF9zdWJ0ZXN0KCJ0eXBlMSIp IHsKIAkJaWd0X3JlcXVpcmUoZGF0YS5kaXNwbGF5LmlzX2F0b21pYyk7CiAJCXRlc3RfY29udGVu dF9wcm90ZWN0aW9uKENPTU1JVF9BVE9NSUMsIGZhbHNlLAotCQkJCQlIRENQX0NPTlRFTlRfVFlQ RV8xLCBmYWxzZSwKKwkJCQkJSERDUF9DT05URU5UX1RZUEVfMSwgZmFsc2UsIGZhbHNlLAogCQkJ CQlmYWxzZSk7CiAJfQogCiAJaWd0X3N1YnRlc3QoInR5cGUxX21laV9pbnRlcmZhY2UiKSB7CiAJ CWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5pc19hdG9taWMpOwogCQl0ZXN0X2NvbnRlbnRfcHJv dGVjdGlvbihDT01NSVRfQVRPTUlDLCBmYWxzZSwKLQkJCQkJSERDUF9DT05URU5UX1RZUEVfMSwg dHJ1ZSwKKwkJCQkJSERDUF9DT05URU5UX1RZUEVfMSwgdHJ1ZSwgZmFsc2UsCiAJCQkJCWZhbHNl KTsKIAl9CiAKQEAgLTYxMyw5ICs3NzksMzYgQEAgaWd0X21haW4KIAkJaWd0X3JlcXVpcmUoZGF0 YS5kaXNwbGF5LmlzX2F0b21pYyk7CiAJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9B VE9NSUMsIGZhbHNlLAogCQkJCQlIRENQX0NPTlRFTlRfVFlQRV8xLCBmYWxzZSwKLQkJCQkJdHJ1 ZSk7CisJCQkJCXRydWUsIGZhbHNlKTsKIAl9CiAKKwkvKgorCSAqIFNSTSBzdWJ0ZXN0IHBlcmZv cm0gdGhlIEhEQ1AgYXV0aGVudGljYXRpb24sIGFuZCB0aGVuIHJldHJpdmUgdGhlCisJICogcmVj ZWl2ZXIgaWQgdGhyb3VnaCB0b3BvbG9neSBpbmZvLgorCSAqCisJICogVXNpbmcgdGhlIHJlY2Vp dmVyIElELCBmYWNzaW1pbGUgU1JNIHRhYmxlIGlzIG1vZGlmaWVkIHdpdGgKKwkgKiByZWNlaXZl ciBJRCByZXRyaWV2ZWQgZnJvbSB0ZWggdG9wb2xvZ3kgaW5mby4gQWZ0ZXIgbW9kaWZpY2F0aW9u CisJICogU1JNIHRhYmxlIGlzIG5vdCBpbnRhY3QgYXMgcGVyIERDUCBTaWduYXR1cmUuCisJICoK KwkgKiBCdXQgS2VybmVsIGJlbGlldmVzIHVzZXJzcGFjZSBhbmQgZG9lc24ndCB2ZXJpZnkgdGhl IERDUCBzaWduYXR1cmUuCisJICogU28gd2UgY2FuIGV4cGxvaXRlIHRoYXQgdHJ1c3QgdG8gdGVz dCB0aGUgU1JNIGFuZCB0b3BvbG9neSBpbmZvCisJICogZmVhdHVyZXMuCisJICoKKwkgKiBTbyB3 aGVuIG1vZGlmaWVkIFNSTSBpcyBhcHBsaWVkIEF1dGhlbnRpY2F0aW9uIHdpbGwgZmFpbCBkdWUg dG8KKwkgKiByZWNlaXZlciBJRCByZXZvY2F0aW9uLgorCSAqCisJICogQW5kIEtlcm5lbCBhdHRl bXB0cyBIRENQMi4yIGFsd2F5cyBhbmQgb24gZmFpbHVyZSBvZiBpdCBIRENQMS40CisJICogd2ls bCBiZSBhdHRlbXB0ZWQuIEJ1dCB0aGVpciBJRCBvZiB0aGUgc2luayB2YXJpZXMgYmV0d2VlbiAx LjQgYW5kCisJICogMi4yIHZlcnNpb25zLiBTbyB3ZSBuZWVkIHRvIHN0aWNrIHRvIG9uZSB2ZXJz aW9uLiBIZW5jZSBIRENQMi4yIGlzCisJICogY2hvb3NlbiB1c2luZyBUeXBlIDEuCisJICovCisJ aWd0X3N1YnRlc3QoInNybSIpIHsKKwkJaWd0X3JlcXVpcmUoZGF0YS5kaXNwbGF5LmlzX2F0b21p Yyk7CisJCXRlc3RfY29udGVudF9wcm90ZWN0aW9uKENPTU1JVF9BVE9NSUMsIGZhbHNlLAorCQkJ CQlIRENQX0NPTlRFTlRfVFlQRV8xLCBmYWxzZSwgZmFsc2UsIHRydWUpOworCX0KKworCiAJaWd0 X2ZpeHR1cmUKIAkJaWd0X2Rpc3BsYXlfZmluaSgmZGF0YS5kaXNwbGF5KTsKIH0KLS0gCjIuMTku MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRl diBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2