From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH 5/5] drm/i915: Move hdcp msg detection into shim Date: Mon, 26 Feb 2018 22:42:39 +0530 Message-ID: <1519665159-28639-6-git-send-email-ramalingam.c@intel.com> References: <1519665159-28639-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1519665159-28639-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, seanpaul@chromium.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RFAgYW5kIEhETUkgSERDUCBzcGVjaWZpY2F0aW9ucyBhcmUgdmFyeWluZyB3aXRoIHJlc3BlY3Qg dG8KZGV0ZWN0aW5nIHRoZSBSMCBhbmQga3N2X2ZpZm8gYXZhaWxhYmlsaXR5LgoKRFAgd2lsbCBw cm9kdWNlIENQX0lSUSBhbmQgc2V0IGEgYml0IGZvciBpbmRpY2F0aW5nIHRoZSBSMCBhbmQKRklG T19SRUFEWSBzdGF0dXMuCgpXaGVyZWFzIEhETUkgd2lsbCBzZXQgYSBiaXQgZm9yIEZJRk9fUkVB RFkgYnV0IHRoZXJlIGlzIG5vIGJpdAppbmRpY2F0aW9uIGZvciBSMCByZWFkeS4gQW5kIGFsc28g cG9sbGluZyBvZiBSRUFEWSBiaXQgaXMgbmVlZGVkIGZvcgpIRE1JIGFzIHRoZXIgaXMgbm8gQ1Bf SVJRLgoKU28gRmllbGRpbmcgdGhlIENQX0lSUSBmb3IgRFAgYW5kIHRoZSBwb2xsaW5nIHRoZSBS RUFEWSBiaXQgZm9yIGEKcGVyaW9kIGFuZCBibGluZGx5IHdhaXRpbmcgZm9yIGEgZml4ZWQgdGlt ZSBmb3IgUjAgaW5jYXNlIG9mIEhETUkgYXJlCm1vdmVkIGludG8gY29ycmVzcG9uZGluZyBoZGNw X3NoaW0uCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgIHwgNzAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaCAgfCAgNiArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgfCAz OSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMgfCAyOCArKysrKysrKysrKysrKystCiA0IGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMo KyksIDQ1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDJjM2ViOTBi OTQ5OS4uYWZlMzEwYTkxZDNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTQ0MzYsNiAr NDQzNiw3IEBAIHN0YXRpYyBib29sCiBpbnRlbF9kcF9zaG9ydF9wdWxzZShzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7CisJc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3RvcjsKIAl1OCBzaW5rX2ly cV92ZWN0b3IgPSAwOwogCXU4IG9sZF9zaW5rX2NvdW50ID0gaW50ZWxfZHAtPnNpbmtfY291bnQ7 CiAJYm9vbCByZXQ7CkBAIC00NDcwLDggKzQ0NzEsMTEgQEAgaW50ZWxfZHBfc2hvcnRfcHVsc2Uo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAogCQlpZiAoc2lua19pcnFfdmVjdG9yICYgRFBf QVVUT01BVEVEX1RFU1RfUkVRVUVTVCkKIAkJCWludGVsX2RwX2hhbmRsZV90ZXN0X3JlcXVlc3Qo aW50ZWxfZHApOwotCQlpZiAoc2lua19pcnFfdmVjdG9yICYgKERQX0NQX0lSUSB8IERQX1NJTktf U1BFQ0lGSUNfSVJRKSkKLQkJCURSTV9ERUJVR19EUklWRVIoIkNQIG9yIHNpbmsgc3BlY2lmaWMg aXJxIHVuaGFuZGxlZFxuIik7CisJCWlmIChzaW5rX2lycV92ZWN0b3IgJiBEUF9DUF9JUlEpCisJ CQlpZiAoY29ubmVjdG9yLT5oZGNwX3NoaW0pCisJCQkJY29tcGxldGVfYWxsKCZjb25uZWN0b3It PmNwX2lycV9yZWN2ZWQpOworCQlpZiAoc2lua19pcnFfdmVjdG9yICYgRFBfU0lOS19TUEVDSUZJ Q19JUlEpCisJCQlEUk1fREVCVUdfRFJJVkVSKCJTaW5rIHNwZWNpZmljIGlycSB1bmhhbmRsZWRc biIpOwogCX0KIAogCWludGVsX2RwX2NoZWNrX2xpbmtfc3RhdHVzKGludGVsX2RwKTsKQEAgLTUw ODMsNiArNTA4NywyNSBAQCB2b2lkIGludGVsX2RwX2VuY29kZXJfc3VzcGVuZChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKIAlwcHNfdW5sb2NrKGludGVsX2RwKTsKIH0KIAor c3RhdGljIGludCBpbnRlbF9kcF9oZGNwX3dhaXRfZm9yX2NwX2lycShzdHJ1Y3QgY29tcGxldGlv biAqY3BfaXJxX3JlY3ZlZCwKKwkJCQkJIGludCB0aW1lb3V0KQoreworCWxvbmcgcmV0OworCisJ aWYgKGNvbXBsZXRpb25fZG9uZShjcF9pcnFfcmVjdmVkKSkKKwkJcmVpbml0X2NvbXBsZXRpb24o Y3BfaXJxX3JlY3ZlZCk7CisKKwlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVycnVwdGli bGVfdGltZW91dChjcF9pcnFfcmVjdmVkLAorCQkJCQkJCW1zZWNzX3RvX2ppZmZpZXMoCisJCQkJ CQkJdGltZW91dCkpOworCXJlaW5pdF9jb21wbGV0aW9uKGNwX2lycV9yZWN2ZWQpOworCWlmIChy ZXQgPCAwKQorCQlyZXR1cm4gKGludClyZXQ7CisJZWxzZSBpZiAoIXJldCkKKwkJcmV0dXJuIC1F VElNRURPVVQ7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYwogaW50IGludGVsX2RwX2hkY3Bfd3Jp dGVfYW5fYWtzdihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIAkJ CQl1OCAqYW4pCkBAIC01MTg4LDExICs1MjExLDM4IEBAIGludCBpbnRlbF9kcF9oZGNwX3JlcGVh dGVyX3ByZXNlbnQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJ cmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgaW50ZWxfZHBfaGRjcF93YWl0X2Zvcl9yMChzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKK3sKKwlzdHJ1Y3QgaW50ZWxf ZHAgKmRwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IgPSBkcC0+YXR0YWNoZWRfY29ubmVjdG9yOworCWludCByZXQ7CisJdTggYnN0YXR1 czsKKworCWludGVsX2RwX2hkY3Bfd2FpdF9mb3JfY3BfaXJxKCZjb25uZWN0b3ItPmNwX2lycV9y ZWN2ZWQsIDEwMCk7CisKKwlyZXQgPSBkcm1fZHBfZHBjZF9yZWFkKCZpbnRlbF9kaWdfcG9ydC0+ ZHAuYXV4LCBEUF9BVVhfSERDUF9CU1RBVFVTLAorCQkJICAgICAgICZic3RhdHVzLCAxKTsKKwlp ZiAocmV0ICE9IDEpIHsKKwkJRFJNX0VSUk9SKCJSZWFkIGJzdGF0dXMgZnJvbSBEUC9BVVggZmFp bGVkICglZClcbiIsIHJldCk7CisJCXJldHVybiByZXQgPj0gMCA/IC1FSU8gOiByZXQ7CisJfQor CisJaWYgKCEoYnN0YXR1cyAmIERQX0JTVEFUVVNfUjBfUFJJTUVfUkVBRFkpKQorCQlyZXR1cm4g LUVUSU1FRE9VVDsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMKIGludCBpbnRlbF9kcF9oZGNw X3JlYWRfcmlfcHJpbWUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQs CiAJCQkJdTggKnJpX3ByaW1lKQogewogCXNzaXplX3QgcmV0OworCisJcmV0ID0gaW50ZWxfZHBf aGRjcF93YWl0X2Zvcl9yMChpbnRlbF9kaWdfcG9ydCk7CisJaWYgKCFyZXQpCisJCXJldHVybiBy ZXQ7CisKIAlyZXQgPSBkcm1fZHBfZHBjZF9yZWFkKCZpbnRlbF9kaWdfcG9ydC0+ZHAuYXV4LCBE UF9BVVhfSERDUF9SSV9QUklNRSwKIAkJCSAgICAgICByaV9wcmltZSwgRFJNX0hEQ1BfUklfTEVO KTsKIAlpZiAocmV0ICE9IERSTV9IRENQX1JJX0xFTikgewpAQCAtNTIwMywxOCArNTI1MywyNiBA QCBpbnQgaW50ZWxfZHBfaGRjcF9yZWFkX3JpX3ByaW1lKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0LAogfQogCiBzdGF0aWMKLWludCBpbnRlbF9kcF9oZGNwX3JlYWRf a3N2X3JlYWR5KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAotCQkJ CSBib29sICprc3ZfcmVhZHkpCitpbnQgaW50ZWxfZHBfaGRjcF9rc3ZfcmVhZHkoc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCiB7CisJc3RydWN0IGludGVsX2RwICpk cCA9ICZpbnRlbF9kaWdfcG9ydC0+ZHA7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yID0gZHAtPmF0dGFjaGVkX2Nvbm5lY3RvcjsKIAlzc2l6ZV90IHJldDsKIAl1OCBic3RhdHVz OworCisJaW50ZWxfZHBfaGRjcF93YWl0X2Zvcl9jcF9pcnEoJmNvbm5lY3Rvci0+Y3BfaXJxX3Jl Y3ZlZCwKKwkJCQkgICAgICA1ICogMTAwMCAqIDEwMDApOworCiAJcmV0ID0gZHJtX2RwX2RwY2Rf cmVhZCgmaW50ZWxfZGlnX3BvcnQtPmRwLmF1eCwgRFBfQVVYX0hEQ1BfQlNUQVRVUywKIAkJCSAg ICAgICAmYnN0YXR1cywgMSk7CiAJaWYgKHJldCAhPSAxKSB7CiAJCURSTV9FUlJPUigiUmVhZCBi c3RhdHVzIGZyb20gRFAvQVVYIGZhaWxlZCAoJXpkKVxuIiwgcmV0KTsKIAkJcmV0dXJuIHJldCA+ PSAwID8gLUVJTyA6IHJldDsKIAl9Ci0JKmtzdl9yZWFkeSA9IGJzdGF0dXMgJiBEUF9CU1RBVFVT X1JFQURZOworCisJaWYgKCEoYnN0YXR1cyAmIERQX0JTVEFUVVNfUkVBRFkpKQorCQlyZXR1cm4g LUVUSU1FRE9VVDsKKwogCXJldHVybiAwOwogfQogCkBAIC01MzA1LDcgKzUzNjMsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSBpbnRlbF9kcF9oZGNwX3NoaW0gPSB7CiAJ LnJlYWRfYnN0YXR1cyA9IGludGVsX2RwX2hkY3BfcmVhZF9ic3RhdHVzLAogCS5yZXBlYXRlcl9w cmVzZW50ID0gaW50ZWxfZHBfaGRjcF9yZXBlYXRlcl9wcmVzZW50LAogCS5yZWFkX3JpX3ByaW1l ID0gaW50ZWxfZHBfaGRjcF9yZWFkX3JpX3ByaW1lLAotCS5yZWFkX2tzdl9yZWFkeSA9IGludGVs X2RwX2hkY3BfcmVhZF9rc3ZfcmVhZHksCisJLndhaXRfZm9yX2tzdl9yZWFkeSA9IGludGVsX2Rw X2hkY3Bfa3N2X3JlYWR5LAogCS5yZWFkX2tzdl9maWZvID0gaW50ZWxfZHBfaGRjcF9yZWFkX2tz dl9maWZvLAogCS5yZWFkX3ZfcHJpbWVfcGFydCA9IGludGVsX2RwX2hkY3BfcmVhZF92X3ByaW1l X3BhcnQsCiAJLnRvZ2dsZV9zaWduYWxsaW5nID0gaW50ZWxfZHBfaGRjcF90b2dnbGVfc2lnbmFs bGluZywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggOGYzOGU1ODRkMzc1Li5hYjk3NTEw N2M5NzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0zNTMsOCArMzUzLDcgQEAgc3Ry dWN0IGludGVsX2hkY3Bfc2hpbSB7CiAJaW50ICgqcmVhZF9yaV9wcmltZSkoc3RydWN0IGludGVs X2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIHU4ICpyaSk7CiAKIAkvKiBEZXRlcm1pbmVz IGlmIHRoZSByZWNlaXZlcidzIEtTViBGSUZPIGlzIHJlYWR5IGZvciBjb25zdW1wdGlvbiAqLwot CWludCAoKnJlYWRfa3N2X3JlYWR5KShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydCwKLQkJCSAgICAgIGJvb2wgKmtzdl9yZWFkeSk7CisJaW50ICgqd2FpdF9mb3Jfa3N2 X3JlYWR5KShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCk7CiAKIAkv KiBSZWFkcyB0aGUga3N2IGZpZm8gZm9yIG51bV9kb3duc3RyZWFtIGRldmljZXMgKi8KIAlpbnQg KCpyZWFkX2tzdl9maWZvKShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCwKQEAgLTQxMyw2ICs0MTIsOSBAQCBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yIHsKIAl1aW50NjRf dCBoZGNwX3ZhbHVlOyAvKiBwcm90ZWN0ZWQgYnkgaGRjcF9tdXRleCAqLwogCXN0cnVjdCBkZWxh eWVkX3dvcmsgaGRjcF9jaGVja193b3JrOwogCXN0cnVjdCB3b3JrX3N0cnVjdCBoZGNwX3Byb3Bf d29yazsKKworCS8qIFRvIGluZGljYXRlIHRoZSBhc3NlcnRpb24gb2YgQ1BfSVJRICovCisJc3Ry dWN0IGNvbXBsZXRpb24gY3BfaXJxX3JlY3ZlZDsKIH07CiAKIHN0cnVjdCBpbnRlbF9kaWdpdGFs X2Nvbm5lY3Rvcl9zdGF0ZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZGNwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKaW5kZXggMTRiZTE0 YTQ1ZTVhLi5hMDc3ZTEzMzM4ODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkY3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKQEAgLTU3 LDI3ICs1Nyw2IEBAIHN0YXRpYyBib29sIHdhaXRfZm9yX2hkY3BfcG9ydChzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpCiAJcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbnQgaW50 ZWxfaGRjcF9wb2xsX2tzdl9maWZvKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0LAotCQkJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltICpzaGltKQotewot CWludCByZXQsIHJlYWRfcmV0OwotCWJvb2wga3N2X3JlYWR5OwotCi0JLyogUG9sbCBmb3Iga3N2 IGxpc3QgcmVhZHkgKHNwZWMgc2F5cyBtYXggdGltZSBhbGxvd2VkIGlzIDVzKSAqLwotCXJldCA9 IF9fd2FpdF9mb3IocmVhZF9yZXQgPSBzaGltLT5yZWFkX2tzdl9yZWFkeShpbnRlbF9kaWdfcG9y dCwKLQkJCQkJCQkgJmtzdl9yZWFkeSksCi0JCQkgcmVhZF9yZXQgfHwga3N2X3JlYWR5LCA1ICog MTAwMCAqIDEwMDAsIDEwMDAsCi0JCQkgMTAwICogMTAwMCk7Ci0JaWYgKHJldCkKLQkJcmV0dXJu IHJldDsKLQlpZiAocmVhZF9yZXQpCi0JCXJldHVybiByZWFkX3JldDsKLQlpZiAoIWtzdl9yZWFk eSkKLQkJcmV0dXJuIC1FVElNRURPVVQ7Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIGJvb2wg aGRjcF9rZXlfbG9hZGFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewog CXN0cnVjdCBpOTE1X3Bvd2VyX2RvbWFpbnMgKnBvd2VyX2RvbWFpbnMgPSAmZGV2X3ByaXYtPnBv d2VyX2RvbWFpbnM7CkBAIC0yMjIsNyArMjAxLDcgQEAgaW50IGludGVsX2hkY3BfYXV0aF9kb3du c3RyZWFtKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCiAJZGV2 X3ByaXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7CiAKLQly ZXQgPSBpbnRlbF9oZGNwX3BvbGxfa3N2X2ZpZm8oaW50ZWxfZGlnX3BvcnQsIHNoaW0pOworCXJl dCA9IHNoaW0tPndhaXRfZm9yX2tzdl9yZWFkeShpbnRlbF9kaWdfcG9ydCk7CiAJaWYgKHJldCkg ewogCQlEUk1fRVJST1IoIktTViBsaXN0IGZhaWxlZCB0byBiZWNvbWUgcmVhZHkgKCVkKVxuIiwg cmV0KTsKIAkJcmV0dXJuIHJldDsKQEAgLTQ3Niw3ICs0NTUsNiBAQCBzdGF0aWMgaW50IGludGVs X2hkY3BfYXV0aChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIHsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXY7CiAJZW51bSBwb3J0IHBvcnQ7Ci0J dW5zaWduZWQgbG9uZyByMF9wcmltZV9nZW5fc3RhcnQ7CiAJaW50IHJldCwgaSwgdHJpZXMgPSAy OwogCXVuaW9uIHsKIAkJdTMyIHJlZ1syXTsKQEAgLTUzMSw4ICs1MDksNiBAQCBzdGF0aWMgaW50 IGludGVsX2hkY3BfYXV0aChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCwKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JcjBfcHJpbWVfZ2VuX3N0YXJ0ID0gamlm ZmllczsKLQogCW1lbXNldCgmYmtzdiwgMCwgc2l6ZW9mKGJrc3YpKTsKIAogCS8qIEhEQ1Agc3Bl YyBzdGF0ZXMgdGhhdCB3ZSBtdXN0IHJldHJ5IHRoZSBia3N2IGlmIGl0IGlzIGludmFsaWQgKi8K QEAgLTU3MiwyMiArNTQ4LDExIEBAIHN0YXRpYyBpbnQgaW50ZWxfaGRjcF9hdXRoKHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCX0KIAogCS8qCi0JICogV2FpdCBm b3IgUjAnIHRvIGJlY29tZSBhdmFpbGFibGUuIFRoZSBzcGVjIHNheXMgbWluaW11bSAxMDBtcyBm cm9tCi0JICogQWtzdiwgYnV0IHNvbWUgbW9uaXRvcnMgY2FuIHRha2UgbG9uZ2VyIHRoYW4gdGhp cy4gU28gd2UgYXJlCi0JICogY29tYmluZWx5IHdhaXRpbmcgZm9yIDMwMG1TZWMganVzdCB0byBi ZSBzdXJlIGluIGNhc2Ugb2YgSERNSS4KIAkgKiBEUCBIRENQIFNwZWMgbWFuZGF0ZXMgdGhlIHR3 byBtb3JlIHJlYXR0ZW1wdCB0byByZWFkIFIwLCBpbmNhc2UKIAkgKiBvZiBSMCBtaXNtYXRjaC4K LQkgKgotCSAqIE9uIERQLCB0aGVyZSdzIGFuIFIwX1JFQURZIGJpdCBhdmFpbGFibGUgYnV0IG5v IHN1Y2ggYml0Ci0JICogZXhpc3RzIG9uIEhETUkuIFNpbmNlIHRoZSB1cHBlci1ib3VuZCBpcyB0 aGUgc2FtZSwgd2UnbGwganVzdCBkbwotCSAqIHRoZSBzdHVwaWQgdGhpbmcgaW5zdGVhZCBvZiBw b2xsaW5nIG9uIG9uZSBhbmQgbm90IHRoZSBvdGhlci4KIAkgKi8KLQogCXRyaWVzID0gMzsKIAlm b3IgKGkgPSAwOyBpIDwgdHJpZXM7IGkrKykgewotCQl3YWl0X3JlbWFpbmluZ19tc19mcm9tX2pp ZmZpZXMocjBfcHJpbWVfZ2VuX3N0YXJ0LAotCQkJCQkgICAgICAgMTAwICogKGkgKyAxKSk7Ci0K IAkJcmkucmVnID0gMDsKIAkJcmV0ID0gc2hpbS0+cmVhZF9yaV9wcmltZShpbnRlbF9kaWdfcG9y dCwgcmkuc2hpbSk7CiAJCWlmIChyZXQpCkBAIC03NDksNiArNzE0LDggQEAgaW50IGludGVsX2hk Y3BfaW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiAJbXV0ZXhfaW5pdCgm Y29ubmVjdG9yLT5oZGNwX211dGV4KTsKIAlJTklUX0RFTEFZRURfV09SSygmY29ubmVjdG9yLT5o ZGNwX2NoZWNrX3dvcmssIGludGVsX2hkY3BfY2hlY2tfd29yayk7CiAJSU5JVF9XT1JLKCZjb25u ZWN0b3ItPmhkY3BfcHJvcF93b3JrLCBpbnRlbF9oZGNwX3Byb3Bfd29yayk7CisKKwlpbml0X2Nv bXBsZXRpb24oJmNvbm5lY3Rvci0+Y3BfaXJxX3JlY3ZlZCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkbWkuYwppbmRleCBmNWQ3YmZiNDMwMDYuLjUzMmQxM2Y5MTYwMiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwpAQCAtMTAwNyw2ICsxMDA3LDkgQEAgaW50IGlu dGVsX2hkbWlfaGRjcF9yZWFkX3JpX3ByaW1lKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmlu dGVsX2RpZ19wb3J0LAogCQkJCSAgdTggKnJpX3ByaW1lKQogewogCWludCByZXQ7CisKKwl3YWl0 X3JlbWFpbmluZ19tc19mcm9tX2ppZmZpZXMoamlmZmllcywgMTAwKTsKKwogCXJldCA9IGludGVs X2hkbWlfaGRjcF9yZWFkKGludGVsX2RpZ19wb3J0LCBEUk1fSERDUF9ERENfUklfUFJJTUUsCiAJ CQkJICAgcmlfcHJpbWUsIERSTV9IRENQX1JJX0xFTik7CiAJaWYgKHJldCkKQEAgLTEwMjcsNiAr MTAzMCwyOSBAQCBpbnQgaW50ZWxfaGRtaV9oZGNwX3JlYWRfa3N2X3JlYWR5KHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCQlyZXR1cm4gcmV0OwogCX0KIAkqa3N2 X3JlYWR5ID0gdmFsICYgRFJNX0hEQ1BfRERDX0JDQVBTX0tTVl9GSUZPX1JFQURZOworCisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYworaW50IGludGVsX2hkbWlfaGRjcF9rc3ZfcmVhZHkoc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCit7CisJaW50IHJldCwgcmVhZF9y ZXQ7CisJYm9vbCBrc3ZfcmVhZHk7CisKKwkvKiBQb2xsIGZvciBrc3YgbGlzdCByZWFkeSAoc3Bl YyBzYXlzIG1heCB0aW1lIGFsbG93ZWQgaXMgNXMpICovCisJcmV0ID0gX193YWl0X2ZvcihyZWFk X3JldCA9CisJCQkgaW50ZWxfaGRtaV9oZGNwX3JlYWRfa3N2X3JlYWR5KGludGVsX2RpZ19wb3J0 LAorCQkJCQkJCSZrc3ZfcmVhZHkpLAorCQkJIHJlYWRfcmV0IHx8IGtzdl9yZWFkeSwgNSAqIDEw MDAgKiAxMDAwLCAxMDAwLAorCQkJIDEwMCAqIDEwMDApOworCWlmIChyZXQpCisJCXJldHVybiBy ZXQ7CisJaWYgKHJlYWRfcmV0KQorCQlyZXR1cm4gcmVhZF9yZXQ7CisJaWYgKCFrc3ZfcmVhZHkp CisJCXJldHVybiAtRVRJTUVET1VUOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTExMTIsNyArMTEz OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltIGludGVsX2hkbWlfaGRj cF9zaGltID0gewogCS5yZWFkX2JzdGF0dXMgPSBpbnRlbF9oZG1pX2hkY3BfcmVhZF9ic3RhdHVz LAogCS5yZXBlYXRlcl9wcmVzZW50ID0gaW50ZWxfaGRtaV9oZGNwX3JlcGVhdGVyX3ByZXNlbnQs CiAJLnJlYWRfcmlfcHJpbWUgPSBpbnRlbF9oZG1pX2hkY3BfcmVhZF9yaV9wcmltZSwKLQkucmVh ZF9rc3ZfcmVhZHkgPSBpbnRlbF9oZG1pX2hkY3BfcmVhZF9rc3ZfcmVhZHksCisJLndhaXRfZm9y X2tzdl9yZWFkeSA9IGludGVsX2hkbWlfaGRjcF9rc3ZfcmVhZHksCiAJLnJlYWRfa3N2X2ZpZm8g PSBpbnRlbF9oZG1pX2hkY3BfcmVhZF9rc3ZfZmlmbywKIAkucmVhZF92X3ByaW1lX3BhcnQgPSBp bnRlbF9oZG1pX2hkY3BfcmVhZF92X3ByaW1lX3BhcnQsCiAJLnRvZ2dsZV9zaWduYWxsaW5nID0g aW50ZWxfaGRtaV9oZGNwX3RvZ2dsZV9zaWduYWxsaW5nLAotLSAKMi43LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=