From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C62C893E7 for ; Thu, 11 Oct 2018 14:20:54 +0000 (UTC) From: Ramalingam C Date: Thu, 11 Oct 2018 19:48:35 +0530 Message-Id: <1539267515-3768-1-git-send-email-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t] kms_content_protection: Add Content Protection 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: UHJldHR5IHNpbXBsZSB0ZXN0OgotIHBpY2tzIHRoZSBoZGNwIGNhcGFibGUgb3V0cHV0Ci0gY2hv b3NlcyB0aGUgUElQRSBhbmQgYXBwbHkgbW9kZXNldAotIGFwcGx5IGEgRkIgYW5kIHdhaXQgZm9y IHRoZSBmbGlwIGNvbXBsZXRpb24uCi0gY2xlYXJzIHRoZSBjb250ZW50IHByb3RlY3Rpb24gcHJv cGVydHkKLSB2ZXJpZmllcyB0aGF0IGl0IGNsZWFycwotIHNldHMgdGhlIGNvbnRlbnQgcHJvdGVj dGlvbiBwcm9wZXJ0eSB0byBkZXNpcmVkCi0gdmVyaWZpZXMgdGhhdCBpdCB0cmFuc2l0aW9ucyB0 byBlbmFibGVkCi0gaW5jYXNlIG9mIHRpbWVvdXQgdGhyZWUgcmVhdHRlbXB0cyBhcmUgaW1wbGVt ZW50ZWQKLSBjbGVhciB0aGUgY29udGVudCBwcm90ZWN0aW9uIHByb3BlcnR5IGFuZCBtb2Rlc2V0 IG9uIHRoZSBjcnRjCgpEb2VzIHRoaXMgaW4gc2VwYXJhdGUgc3ViLXRlc3QgZm9yIGJvdGggbGVn YWN5IGFuZCBhdG9taWMgZm9yCmVhY2ggY29ubmVjdG9yIHdpdGggdmFsaWQgcGlwZS4KClNpZ25l ZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgpTaWduZWQtb2ZmLWJ5 OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQogbGliL2lndF9rbXMu YyAgICAgICAgICAgICAgICAgIHwgICAxICsKIGxpYi9pZ3Rfa21zLmggICAgICAgICAgICAgICAg ICB8ICAgMSArCiB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzICAgICAgICAgfCAgIDEgKwogdGVzdHMv a21zX2NvbnRlbnRfcHJvdGVjdGlvbi5jIHwgMjY5ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiB0ZXN0cy9tZXNvbi5idWlsZCAgICAgICAgICAgICAgfCAgIDEgKwog NSBmaWxlcyBjaGFuZ2VkLCAyNzMgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRl c3RzL2ttc19jb250ZW50X3Byb3RlY3Rpb24uYwoKZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmMg Yi9saWIvaWd0X2ttcy5jCmluZGV4IDYyZDg0Njg0MTVjNi4uNDIzMTk5NmM2NWNhIDEwMDY0NAot LS0gYS9saWIvaWd0X2ttcy5jCisrKyBiL2xpYi9pZ3Rfa21zLmMKQEAgLTE5NCw2ICsxOTQsNyBA QCBjb25zdCBjaGFyICogY29uc3QgaWd0X2Nvbm5lY3Rvcl9wcm9wX25hbWVzW0lHVF9OVU1fQ09O TkVDVE9SX1BST1BTXSA9IHsKIAlbSUdUX0NPTk5FQ1RPUl9DUlRDX0lEXSA9ICJDUlRDX0lEIiwK IAlbSUdUX0NPTk5FQ1RPUl9EUE1TXSA9ICJEUE1TIiwKIAlbSUdUX0NPTk5FQ1RPUl9CUk9BRENB U1RfUkdCXSA9ICJCcm9hZGNhc3QgUkdCIiwKKwlbSUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RF Q1RJT05dID0gIkNvbnRlbnQgUHJvdGVjdGlvbiIsCiB9OwogCiAvKgpkaWZmIC0tZ2l0IGEvbGli L2lndF9rbXMuaCBiL2xpYi9pZ3Rfa21zLmgKaW5kZXggM2ExMmYyNzgyZWVkLi5hYTA2OGU1OGU2 MDcgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rfa21zLmgKKysrIGIvbGliL2lndF9rbXMuaApAQCAtMTIw LDYgKzEyMCw3IEBAIGVudW0gaWd0X2F0b21pY19jb25uZWN0b3JfcHJvcGVydGllcyB7CiAgICAg ICAgSUdUX0NPTk5FQ1RPUl9DUlRDX0lELAogICAgICAgIElHVF9DT05ORUNUT1JfRFBNUywKICAg ICAgICBJR1RfQ09OTkVDVE9SX0JST0FEQ0FTVF9SR0IsCisgICAgICAgSUdUX0NPTk5FQ1RPUl9D T05URU5UX1BST1RFQ1RJT04sCiAgICAgICAgSUdUX05VTV9DT05ORUNUT1JfUFJPUFMKIH07CiAK ZGlmZiAtLWdpdCBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmlsZS5zb3Vy Y2VzCmluZGV4IGM4NDkzM2YxZDk3MS4uNWFmNjhhNjFkZjUxIDEwMDY0NAotLS0gYS90ZXN0cy9N YWtlZmlsZS5zb3VyY2VzCisrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKQEAgLTE3NCw2ICsx NzQsNyBAQCBURVNUU19wcm9ncyA9IFwKIAlrbXNfY2h2X2N1cnNvcl9mYWlsIFwKIAlrbXNfY29s b3IgXAogCWttc19jb25jdXJyZW50IFwKKwlrbXNfY29udGVudF9wcm90ZWN0aW9uXAogCWttc19j cnRjX2JhY2tncm91bmRfY29sb3IgXAogCWttc19jdXJzb3JfY3JjIFwKIAlrbXNfY3Vyc29yX2xl Z2FjeSBcCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMgYi90ZXN0 cy9rbXNfY29udGVudF9wcm90ZWN0aW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi5mY2MyMmQwYjNiNDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9rbXNfY29u dGVudF9wcm90ZWN0aW9uLmMKQEAgLTAsMCArMSwyNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkg MjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50 ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9m IHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJT b2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlv biwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNv cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBh bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMg dG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0 byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBu b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICog cGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs IHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBS T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IK KyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBP UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBP VEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9S VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O IFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRI RSBTT0ZUV0FSRS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHBvbGwuaD4KKyNpbmNsdWRlICJpZ3Qu aCIKKworSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRlc3QgY29udGVudCBwcm90ZWN0aW9uIChIRENQ KSIpOworCit0eXBlZGVmIHN0cnVjdCB7CisJaW50IGRybV9mZDsKKwlpZ3RfZGlzcGxheV90IGRp c3BsYXk7Cit9IGRhdGFfdDsKKworc3RhdGljIHZvaWQgZmxpcF9oYW5kbGVyKGludCBmZCwgdW5z aWduZWQgaW50IHNlcXVlbmNlLCB1bnNpZ25lZCBpbnQgdHZfc2VjLAorCQkJIHVuc2lnbmVkIGlu dCB0dl91c2VjLCB2b2lkICpkYXRhKQoreworCWlndF9kZWJ1ZygiRmxpcCBldmVudCByZWNlaXZl ZC5cbiIpOworfQorCitzdGF0aWMgaW50IHdhaXRfZmxpcF9ldmVudChkYXRhX3QgKmRhdGEpCit7 CisJaW50IHJjOworCWRybUV2ZW50Q29udGV4dCBldmN0eDsKKwlzdHJ1Y3QgcG9sbGZkIHBmZDsK KworCWV2Y3R4LnZlcnNpb24gPSAyOworCWV2Y3R4LnZibGFua19oYW5kbGVyID0gTlVMTDsKKwll dmN0eC5wYWdlX2ZsaXBfaGFuZGxlciA9IGZsaXBfaGFuZGxlcjsKKworCXBmZC5mZCA9IGRhdGEt PmRybV9mZDsKKwlwZmQuZXZlbnRzID0gUE9MTElOOworCXBmZC5yZXZlbnRzID0gMDsKKworCXJj ID0gcG9sbCgmcGZkLCAxLCAxMDAwKTsKKwlzd2l0Y2ggKHJjKSB7CisJY2FzZSAwOgorCQlpZ3Rf aW5mbygiUG9sbCB0aW1lb3V0LiAxU2VjLlxuIik7CisJCXJjID0gLUVUSU1FRE9VVDsKKwkJYnJl YWs7CisJY2FzZSAxOgorCQlyYyA9IGRybUhhbmRsZUV2ZW50KGRhdGEtPmRybV9mZCwgJmV2Y3R4 KTsKKwkJaWd0X2Fzc2VydF9lcShyYywgMCk7CisJCXJjID0gMDsKKwkJYnJlYWs7CisJZGVmYXVs dDoKKwkJaWd0X2luZm8oIlVuZXhwZWN0ZWQgcG9sbCByYyAlZFxuIiwgcmMpOworCQlyYyA9IC0x OworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBib29sCit3YWl0X2Zv cl9wcm9wX3ZhbHVlKGlndF9vdXRwdXRfdCAqb3V0cHV0LCB1aW50NjRfdCBleHBlY3RlZCwKKwkJ ICAgIHVpbnQzMl90IHRpbWVvdXRfbVNlYykKK3sKKwl1aW50NjRfdCB2YWw7CisJaW50IGk7CisK Kwlmb3IgKGkgPSAwOyBpIDwgdGltZW91dF9tU2VjOyBpKyspIHsKKwkJdmFsID0gaWd0X291dHB1 dF9nZXRfcHJvcChvdXRwdXQsCisJCQkJCSAgSUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJ T04pOworCQlpZiAodmFsID09IGV4cGVjdGVkKQorCQkJcmV0dXJuIHRydWU7CisJCXVzbGVlcCgx MDAwKTsKKwl9CisJaWd0X2luZm8oInByb3BfdmFsdWUgbWlzbWF0Y2ggJWxkICE9ICVsZFxuIiwg dmFsLCBleHBlY3RlZCk7CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyB2b2lkCitjb21t aXRfZGlzcGxheV9hbmRfd2FpdF9mb3JfZmxpcChkYXRhX3QgKmRhdGEsIGlndF9kaXNwbGF5X3Qg KmRpc3BsYXksCisJCQkJIGVudW0gaWd0X2NvbW1pdF9zdHlsZSBzKQoreworCWludCByZXQ7CisJ dWludDMyX3QgZmxhZzsKKworCWlmIChzID09IENPTU1JVF9BVE9NSUMpIHsKKwkJZmxhZyA9IERS TV9NT0RFX1BBR0VfRkxJUF9FVkVOVCB8IERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VUOwor CQlpZ3RfZGlzcGxheV9jb21taXRfYXRvbWljKGRpc3BsYXksIGZsYWcsIE5VTEwpOworCisJCXJl dCA9IHdhaXRfZmxpcF9ldmVudChkYXRhKTsKKwkJaWd0X2Fzc2VydF9mKCFyZXQsICJ3YWl0X2Zs aXBfZXZlbnQgZmFpbGVkLiAlZFxuIiwgcmV0KTsKKwl9IGVsc2UgeworCQlpZ3RfZGlzcGxheV9j b21taXQyKGRpc3BsYXksIHMpOworCisJCS8qIFdhaXQgZm9yIDUwbVNlYyAqLworCQl1c2xlZXAo NTAgKiAxMDAwKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkCit0ZXN0X3BpcGVfb3V0cHV0KGRhdGFf dCAqZGF0YSwgY29uc3QgZW51bSBwaXBlIHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0cHV0LAorCQkg ZW51bSBpZ3RfY29tbWl0X3N0eWxlIHMpCit7CisJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZk YXRhLT5kaXNwbGF5OworCWRybU1vZGVNb2RlSW5mbyBtb2RlOworCWlndF9wbGFuZV90ICpwcmlt YXJ5OworCXN0cnVjdCBpZ3RfZmIgcmVkLCBncmVlbjsKKwlib29sIHJldDsKKwlpbnQgcmV0cnkg PSAzOworCisJaWd0X2Fzc2VydChrbXN0ZXN0X2dldF9jb25uZWN0b3JfZGVmYXVsdF9tb2RlKAor CQkJZGlzcGxheS0+ZHJtX2ZkLCBvdXRwdXQtPmNvbmZpZy5jb25uZWN0b3IsICZtb2RlKSk7CisK KwlpZ3Rfb3V0cHV0X292ZXJyaWRlX21vZGUob3V0cHV0LCAmbW9kZSk7CisJaWd0X291dHB1dF9z ZXRfcGlwZShvdXRwdXQsIHBpcGUpOworCisJaWd0X2NyZWF0ZV9jb2xvcl9mYihkaXNwbGF5LT5k cm1fZmQsIG1vZGUuaGRpc3BsYXksIG1vZGUudmRpc3BsYXksCisJCQkgICAgRFJNX0ZPUk1BVF9Y UkdCODg4OCwgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSwKKwkJCSAgICAxLmYsIDAuZiwgMC5m LCAmcmVkKTsKKwlpZ3RfY3JlYXRlX2NvbG9yX2ZiKGRpc3BsYXktPmRybV9mZCwgbW9kZS5oZGlz cGxheSwgbW9kZS52ZGlzcGxheSwKKwkJCSAgICBEUk1fRk9STUFUX1hSR0I4ODg4LCBMT0NBTF9E Uk1fRk9STUFUX01PRF9OT05FLAorCQkJICAgIDAuZiwgMS5mLCAwLmYsICZncmVlbik7CisKKwlw cmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShvdXRwdXQsIERSTV9QTEFORV9UWVBF X1BSSU1BUlkpOworCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgcyk7CisKKwlpZ3RfcGxh bmVfc2V0X2ZiKHByaW1hcnksICZyZWQpOworCisJLyogV2FpdCBmb3IgRmxpcCBjb21wbGV0aW9u IGJlZm9yZSBzdGFydGluZyB0aGUgSERDUCBhdXRoZW50aWNhdGlvbiAqLworCWNvbW1pdF9kaXNw bGF5X2FuZF93YWl0X2Zvcl9mbGlwKGRhdGEsIGRpc3BsYXksIHMpOworCisJZG8geworCQlpZ3Rf b3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1dCwKKwkJCQkJICBJR1RfQ09OTkVDVE9SX0NPTlRF TlRfUFJPVEVDVElPTiwgMCk7CisJCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgcyk7CisK KwkJLyogV2FpdCBmb3IgSERDUCB0byBiZSBkaXNhYmxlZCBmb3IgZnJlc2ggc3RhcnQuICovCisJ CXJldCA9IHdhaXRfZm9yX3Byb3BfdmFsdWUob3V0cHV0LCAwLCAxMDAwKTsKKwkJaWd0X2Fzc2Vy dF9mKHJldCwgIkNvbnRlbnQgUHJvdGVjdGlvbiBub3QgY2xlYXJlZFxuIik7CisKKwkJaWd0X291 dHB1dF9zZXRfcHJvcF92YWx1ZShvdXRwdXQsCisJCQkJCSAgSUdUX0NPTk5FQ1RPUl9DT05URU5U X1BST1RFQ1RJT04sIDEpOworCQlpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXksIHMpOworCisJ CS8qIFdhaXQgZm9yIDE4MDAwbVNlYyAoMyBhdXRoZW50aWNhdGlvbiAqIDZTZWMpICovCisJCXJl dCA9IHdhaXRfZm9yX3Byb3BfdmFsdWUob3V0cHV0LCAyLCAxODAwMCk7CisJCWlmIChyZXQpIHsK KwkJCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgJmdyZWVuKTsKKwkJCWlndF9kaXNwbGF5X2Nv bW1pdDIoZGlzcGxheSwgcyk7CisJCX0KKworCQlpZiAoIXJldCAmJiAtLXJldHJ5KQorCQkJaWd0 X2RlYnVnKCJSZXRyeSAoJWQvMikgLi4uXG4iLCAzIC0gcmV0cnkpOworCX0gd2hpbGUgKHJldHJ5 ICYmICFyZXQpOworCisJaWd0X2Fzc2VydF9mKHJldCwgIkNvbnRlbnQgUHJvdGVjdGlvbiBub3Qg ZW5hYmxlZFxuIik7CisKKwlpZ3Rfb3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1dCwgSUdUX0NP Tk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJT04sIDApOworCWlndF9wbGFuZV9zZXRfZmIocHJpbWFy eSwgJnJlZCk7CisJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBzKTsKKworCS8qIFdhaXQg Zm9yIEhEQ1AgdG8gYmUgZGlzYWJsZWQsIGJlZm9yZSBjcnRjIG9mZiAqLworCXdhaXRfZm9yX3By b3BfdmFsdWUob3V0cHV0LCAwLCAxMDAwKTsKKworCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwg TlVMTCk7CisJaWd0X291dHB1dF9zZXRfcGlwZShvdXRwdXQsIFBJUEVfTk9ORSk7Cit9CisKK3N0 YXRpYyBib29sIGlndF9waXBlX2lzX2ZyZWUoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBw aXBlIHBpcGUpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZGlzcGxheS0+bl9vdXRw dXRzOyBpKyspCisJCWlmIChkaXNwbGF5LT5vdXRwdXRzW2ldLnBlbmRpbmdfcGlwZSA9PSBwaXBl KQorCQkJcmV0dXJuIGZhbHNlOworCisJcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyB2b2lkCit0 ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRwdXQoZGF0YV90ICpkYXRhLCBpZ3Rfb3V0cHV0 X3QgKm91dHB1dCkKK3sKKwlpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEtPmRpc3BsYXk7 CisJZW51bSBwaXBlIHBpcGU7CisJY2hhciB0ZXN0X25hbWVbNTBdOworCisJZm9yX2VhY2hfcGlw ZV9zdGF0aWMocGlwZSkgeworCQlpZiAoIWlndF9waXBlX2Nvbm5lY3Rvcl92YWxpZChwaXBlLCBv dXRwdXQpKQorCQkJY29udGludWU7CisKKwkJLyoKKwkJICogSWYgcHJldmlvdXMgc3VidGVzdCBv ZiBjb25uZWN0b3IgZmFpbGVkLCBwaXBlCisJCSAqIGF0dGFjaGVkIHRvIHRoYXQgY29ubmVjdG9y IGlzIG5vdCByZWxlYXNlZC4KKwkJICogQmVjYXVzZSBvZiB0aGF0IHdlIGhhdmUgdG8gY2hvb3Nl IHRoZSBub24KKwkJICogYXR0YWNoZWQgcGlwZSBmb3IgdGhpcyBzdWJ0ZXN0LgorCQkgKi8KKwkJ aWYgKCFpZ3RfcGlwZV9pc19mcmVlKGRpc3BsYXksIHBpcGUpKQorCQkJY29udGludWU7CisKKwkJ c3ByaW50Zih0ZXN0X25hbWUsICJIRENQXyVzX1BJUEUtJXNfbGVnYWN5IiwKKwkJCQkJb3V0cHV0 LT5uYW1lLAorCQkJCQlrbXN0ZXN0X3BpcGVfbmFtZShwaXBlKSk7CisJCWlndF9zdWJ0ZXN0KHRl c3RfbmFtZSkKKwkJCXRlc3RfcGlwZV9vdXRwdXQoZGF0YSwgcGlwZSwgb3V0cHV0LCBDT01NSVRf TEVHQUNZKTsKKworCQlpZiAoIWRpc3BsYXktPmlzX2F0b21pYykKKwkJCWJyZWFrOworCisJCXNw cmludGYodGVzdF9uYW1lLCAiSERDUF8lc19QSVBFLSVzX2F0b21pYyIsCisJCQkJCW91dHB1dC0+ bmFtZSwKKwkJCQkJa21zdGVzdF9waXBlX25hbWUocGlwZSkpOworCQlpZ3Rfc3VidGVzdCh0ZXN0 X25hbWUpCisJCQl0ZXN0X3BpcGVfb3V0cHV0KGRhdGEsIHBpcGUsIG91dHB1dCwgQ09NTUlUX0FU T01JQyk7CisKKwkJLyoKKwkJICogVGVzdGluZyBhIG91dHB1dCB3aXRoIGEgcGlwZSBpcyBlbm91 Z2ggZm9yIEhEQ1AKKwkJICogdGVzdGluZy4gTm8gUk9JIGluIHRlc3RpbmcgdGhlIGNvbm5lY3Rv ciB3aXRoIG90aGVyCisJCSAqIHBpcGVzLiBTbyBCcmVhayB0aGUgbG9vcCBvbiBwaXBlLgorCQkg Ki8KKwkJYnJlYWs7CisJfQorfQorCitpZ3RfbWFpbgoreworCWRhdGFfdCBkYXRhID0ge307CisJ aWd0X291dHB1dF90ICpvdXRwdXQ7CisJaW50IHZhbGlkX3Rlc3RzID0gMCwgaTsKKworCWlndF9m aXh0dXJlIHsKKwkJaWd0X3NraXBfb25fc2ltdWxhdGlvbigpOworCisJCWRhdGEuZHJtX2ZkID0g ZHJtX29wZW5fZHJpdmVyKERSSVZFUl9BTlkpOworCisJCWlndF9kaXNwbGF5X2luaXQoJmRhdGEu ZGlzcGxheSwgZGF0YS5kcm1fZmQpOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBkYXRhLmRpc3Bs YXkubl9vdXRwdXRzOyBpKyspCisJCWZvcl9lYWNoX2lmKChvdXRwdXQgPSAmKGRhdGEuZGlzcGxh eS5vdXRwdXRzW2ldKSwKKwkJCSAgICBpZ3Rfb3V0cHV0X2lzX2Nvbm5lY3RlZChvdXRwdXQpKSkg eworCisJCQlpZiAoIW91dHB1dC0+cHJvcHNbSUdUX0NPTk5FQ1RPUl9DT05URU5UX1BST1RFQ1RJ T05dKQorCQkJCWNvbnRpbnVlOworCisJCQl0ZXN0X2NvbnRlbnRfcHJvdGVjdGlvbl9vbl9vdXRw dXQoJmRhdGEsIG91dHB1dCk7CisJCQl2YWxpZF90ZXN0cysrOworCQl9CisKKwlpZiAoIXZhbGlk X3Rlc3RzKQorCQlpZ3RfaW5mbygiTm8gQ29ubmVjdG9yIHN1cHBvcnRzIGNvbnRlbnQgcHJvdGVj aXRvblxuIik7CisKKwlpZ3RfZml4dHVyZQorCQlpZ3RfZGlzcGxheV9maW5pKCZkYXRhLmRpc3Bs YXkpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNvbi5idWls ZAppbmRleCAxN2RlYjk0NWVjOTUuLmE3NGRlNGZmMGVjZSAxMDA2NDQKLS0tIGEvdGVzdHMvbWVz b24uYnVpbGQKKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKQEAgLTE0OSw2ICsxNDksNyBAQCB0ZXN0 X3Byb2dzID0gWwogCSdrbXNfY2h2X2N1cnNvcl9mYWlsJywKIAkna21zX2NvbG9yJywKIAkna21z X2NvbmN1cnJlbnQnLAorCSdrbXNfY29udGVudF9wcm90ZWN0aW9uJywKIAkna21zX2NydGNfYmFj a2dyb3VuZF9jb2xvcicsCiAJJ2ttc19jdXJzb3JfY3JjJywKIAkna21zX2N1cnNvcl9sZWdhY3kn LAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=