From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v5 05/40] drm/i915: wrapping all hdcp var into intel_hdcp Date: Wed, 27 Jun 2018 14:09:54 +0530 Message-ID: <1530088829-11730-6-git-send-email-ramalingam.c@intel.com> References: <1530088829-11730-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: <1530088829-11730-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel@ffwll.ch, tomas.winkler@intel.com, alexander.usyskin@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org Q29uc2lkZXJpbmcgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIEhEQ1Agc3BlY2lmaWMgdmFyaWFibGVz LCBpdCB3aWxsCmJlIGNsZWFuIHRvIGhhdmUgc2VwYXJhdGUgc3RydWN0IGZvciBIRENQLgoKTmV3 IHN0cnVjdHVyZSBjYWxsZWQgaW50ZWxfaGRjcCBpcyBhZGRlZCB3aXRoaW4gaW50ZWxfY29ubmVj dG9yLgoKdjI6CiAgc3RydWN0IGhkY3Agc3RhdGljYWxseSBhbGxvY2F0ZWQuIFtTZWFuIFBhdWxd CiAgZW5hYmxlIGFuZCBkaXNhYmxlIGZ1bmN0aW9uIHBhcmFtZXRlcnMgYXJlIHJldGFpbmVkLltT ZWFuIFBhdWxdCnYzOgogIE5vIENoYW5nZXMuCnY0OgogIENvbW1pdCBtc2cgaXMgcmVwaHJhc2Vk IFtVbWFdCnY1OgogIENvbW1lbnQgZm9yIG11dGV4IGRlZmluaXRpb24uCgpTaWduZWQtb2ZmLWJ5 OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDcgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaCAgICAgfCAxNSArKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hk Y3AuYyAgICB8IDk0ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCA0OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggM2Q4NDllYzE3ZjVjLi5lZjA5YmI4OWQyY2EgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTE1ODU2LDkgKzE1ODU2LDEwIEBA IHN0YXRpYyB2b2lkIGludGVsX2hwZF9wb2xsX2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRldikK IAlmb3JfZWFjaF9pbnRlbF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25uX2l0ZXIpIHsK IAkJaWYgKGNvbm5lY3Rvci0+bW9kZXNldF9yZXRyeV93b3JrLmZ1bmMpCiAJCQljYW5jZWxfd29y a19zeW5jKCZjb25uZWN0b3ItPm1vZGVzZXRfcmV0cnlfd29yayk7Ci0JCWlmIChjb25uZWN0b3It PmhkY3Bfc2hpbSkgewotCQkJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZjb25uZWN0b3ItPmhk Y3BfY2hlY2tfd29yayk7Ci0JCQljYW5jZWxfd29ya19zeW5jKCZjb25uZWN0b3ItPmhkY3BfcHJv cF93b3JrKTsKKwkJaWYgKGNvbm5lY3Rvci0+aGRjcC5oZGNwX3NoaW0pIHsKKwkJCWNhbmNlbF9k ZWxheWVkX3dvcmtfc3luYygKKwkJCQkJJmNvbm5lY3Rvci0+aGRjcC5oZGNwX2NoZWNrX3dvcmsp OworCQkJY2FuY2VsX3dvcmtfc3luYygmY29ubmVjdG9yLT5oZGNwLmhkY3BfcHJvcF93b3JrKTsK IAkJfQogCX0KIAlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDU3ODM0NmI4ZDdlMi4uZWI0ODA1NzRhOTJlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMzc3LDYgKzM3NywxNSBAQCBzdHJ1Y3QgaW50ZWxf aGRjcF9zaGltIHsKIAkJCSAgICBib29sICpoZGNwX2NhcGFibGUpOwogfTsKIAorc3RydWN0IGlu dGVsX2hkY3AgeworCWNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKmhkY3Bfc2hpbTsKKwkv KiBNdXRleCBmb3IgaGRjcCBzdGF0ZSBvZiB0aGUgY29ubmVjdG9yICovCisJc3RydWN0IG11dGV4 IGhkY3BfbXV0ZXg7CisJdWludDY0X3QgaGRjcF92YWx1ZTsKKwlzdHJ1Y3QgZGVsYXllZF93b3Jr IGhkY3BfY2hlY2tfd29yazsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgaGRjcF9wcm9wX3dvcms7Cit9 OworCiBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yIHsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciBiYXNl OwogCS8qCkBAIC00MDksMTEgKzQxOCw3IEBAIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgewogCS8q IFdvcmsgc3RydWN0IHRvIHNjaGVkdWxlIGEgdWV2ZW50IG9uIGxpbmsgdHJhaW4gZmFpbHVyZSAq LwogCXN0cnVjdCB3b3JrX3N0cnVjdCBtb2Rlc2V0X3JldHJ5X3dvcms7CiAKLQljb25zdCBzdHJ1 Y3QgaW50ZWxfaGRjcF9zaGltICpoZGNwX3NoaW07Ci0Jc3RydWN0IG11dGV4IGhkY3BfbXV0ZXg7 Ci0JdWludDY0X3QgaGRjcF92YWx1ZTsgLyogcHJvdGVjdGVkIGJ5IGhkY3BfbXV0ZXggKi8KLQlz dHJ1Y3QgZGVsYXllZF93b3JrIGhkY3BfY2hlY2tfd29yazsKLQlzdHJ1Y3Qgd29ya19zdHJ1Y3Qg aGRjcF9wcm9wX3dvcms7CisJc3RydWN0IGludGVsX2hkY3AgaGRjcDsKIH07CiAKIHN0cnVjdCBp bnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9oZGNwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMK aW5kZXggMGNjNmE4NjFiY2Y4Li42NWJiZTU4NzRlZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkY3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZGNwLmMKQEAgLTYyNiw2ICs2MjYsNyBAQCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpjb25u X3RvX2RpZ19wb3J0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogc3RhdGlj IGludCBfaW50ZWxfaGRjcF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv cikKIHsKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY29ubmVjdG9yLT5iYXNlLmRldi0+ZGV2 X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBj b25uX3RvX2RpZ19wb3J0KGNvbm5lY3Rvcik7CiAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdf cG9ydC0+YmFzZS5wb3J0OwpAQCAtNjQxLDcgKzY0Miw3IEBAIHN0YXRpYyBpbnQgX2ludGVsX2hk Y3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJCXJldHVybiAt RVRJTUVET1VUOwogCX0KIAotCXJldCA9IGNvbm5lY3Rvci0+aGRjcF9zaGltLT50b2dnbGVfc2ln bmFsbGluZyhpbnRlbF9kaWdfcG9ydCwgZmFsc2UpOworCXJldCA9IGhkY3AtPmhkY3Bfc2hpbS0+ dG9nZ2xlX3NpZ25hbGxpbmcoaW50ZWxfZGlnX3BvcnQsIGZhbHNlKTsKIAlpZiAocmV0KSB7CiAJ CURSTV9FUlJPUigiRmFpbGVkIHRvIGRpc2FibGUgSERDUCBzaWduYWxsaW5nXG4iKTsKIAkJcmV0 dXJuIHJldDsKQEAgLTY1Myw2ICs2NTQsNyBAQCBzdGF0aWMgaW50IF9pbnRlbF9oZGNwX2Rpc2Fi bGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBzdGF0aWMgaW50IF9pbnRl bF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CisJc3Ry dWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGNvbm5lY3Rvci0+YmFzZS5kZXYtPmRldl9wcml2YXRlOwog CWludCBpLCByZXQsIHRyaWVzID0gMzsKIApAQCAtNjc4LDcgKzY4MCw3IEBAIHN0YXRpYyBpbnQg X2ludGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkv KiBJbmNhc2Ugb2YgYXV0aGVudGljYXRpb24gZmFpbHVyZXMsIEhEQ1Agc3BlYyBleHBlY3RzIHJl YXV0aC4gKi8KIAlmb3IgKGkgPSAwOyBpIDwgdHJpZXM7IGkrKykgewogCQlyZXQgPSBpbnRlbF9o ZGNwX2F1dGgoY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpLAotCQkJCSAgICAgIGNvbm5lY3Rv ci0+aGRjcF9zaGltKTsKKwkJCQkgICAgICBoZGNwLT5oZGNwX3NoaW0pOwogCQlpZiAoIXJldCkK IAkJCXJldHVybiAwOwogCkBAIC02OTQsMzYgKzY5Niw0MiBAQCBzdGF0aWMgaW50IF9pbnRlbF9o ZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIHN0YXRpYyB2 b2lkIGludGVsX2hkY3BfY2hlY2tfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7Ci0J c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29udGFpbmVyX29mKHRvX2RlbGF5 ZWRfd29yayh3b3JrKSwKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9IGNvbnRhaW5lcl9vZih0 b19kZWxheWVkX3dvcmsod29yayksCisJCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfaGRjcCwKKwkJ CQkJICAgICAgIGhkY3BfY2hlY2tfd29yayk7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yID0gY29udGFpbmVyX29mKGhkY3AsCiAJCQkJCQkJIHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IsCi0JCQkJCQkJIGhkY3BfY2hlY2tfd29yayk7CisJCQkJCQkJIGhkY3ApOworCiAJaWYgKCFp bnRlbF9oZGNwX2NoZWNrX2xpbmsoY29ubmVjdG9yKSkKLQkJc2NoZWR1bGVfZGVsYXllZF93b3Jr KCZjb25uZWN0b3ItPmhkY3BfY2hlY2tfd29yaywKKwkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZo ZGNwLT5oZGNwX2NoZWNrX3dvcmssCiAJCQkJICAgICAgRFJNX0hEQ1BfQ0hFQ0tfUEVSSU9EX01T KTsKIH0KIAogc3RhdGljIHZvaWQgaW50ZWxfaGRjcF9wcm9wX3dvcmsoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQogewotCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGNvbnRh aW5lcl9vZih3b3JrLAorCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVyX29mKHdv cmssIHN0cnVjdCBpbnRlbF9oZGNwLAorCQkJCQkgICAgICAgaGRjcF9wcm9wX3dvcmspOworCXN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGNvbnRhaW5lcl9vZihoZGNwLAogCQkJ CQkJCSBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yLAotCQkJCQkJCSBoZGNwX3Byb3Bfd29yayk7CisJ CQkJCQkJIGhkY3ApOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2Uu ZGV2OwogCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZTsKIAogCWRybV9tb2Rlc2V0 X2xvY2soJmRldi0+bW9kZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCwgTlVMTCk7Ci0JbXV0ZXhf bG9jaygmY29ubmVjdG9yLT5oZGNwX211dGV4KTsKKwltdXRleF9sb2NrKCZoZGNwLT5oZGNwX211 dGV4KTsKIAogCS8qCiAJICogVGhpcyB3b3JrZXIgaXMgb25seSB1c2VkIHRvIGZsaXAgYmV0d2Vl biBFTkFCTEVEL0RFU0lSRUQuIEVpdGhlciBvZgogCSAqIHRob3NlIHRvIFVOREVTSVJFRCBpcyBo YW5kbGVkIGJ5IGNvcmUuIElmIGhkY3BfdmFsdWUgPT0gVU5ERVNJUkVELAogCSAqIHdlJ3JlIHJ1 bm5pbmcganVzdCBhZnRlciBoZGNwIGhhcyBiZWVuIGRpc2FibGVkLCBzbyBqdXN0IGV4aXQKIAkg Ki8KLQlpZiAoY29ubmVjdG9yLT5oZGNwX3ZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVD VElPTl9VTkRFU0lSRUQpIHsKKwlpZiAoaGRjcC0+aGRjcF92YWx1ZSAhPSBEUk1fTU9ERV9DT05U RU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKSB7CiAJCXN0YXRlID0gY29ubmVjdG9yLT5iYXNlLnN0 YXRlOwotCQlzdGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uID0gY29ubmVjdG9yLT5oZGNwX3ZhbHVl OworCQlzdGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uID0gaGRjcC0+aGRjcF92YWx1ZTsKIAl9CiAK LQltdXRleF91bmxvY2soJmNvbm5lY3Rvci0+aGRjcF9tdXRleCk7CisJbXV0ZXhfdW5sb2NrKCZo ZGNwLT5oZGNwX211dGV4KTsKIAlkcm1fbW9kZXNldF91bmxvY2soJmRldi0+bW9kZV9jb25maWcu Y29ubmVjdGlvbl9tdXRleCk7CiB9CiAKQEAgLTczNyw2ICs3NDUsNyBAQCBib29sIGlzX2hkY3Bf c3VwcG9ydGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBv cnQpCiBpbnQgaW50ZWxfaGRjcF9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKIAkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKmhkY3Bfc2hpbSkKIHsKKwlz dHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CiAJaW50IHJldDsKIAog CXJldCA9IGRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfcHJvdGVjdGlvbl9wcm9wZXJ0eSgK QEAgLTc0NCw1MSArNzUzLDUzIEBAIGludCBpbnRlbF9oZGNwX2luaXQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yLAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQljb25uZWN0 b3ItPmhkY3Bfc2hpbSA9IGhkY3Bfc2hpbTsKLQltdXRleF9pbml0KCZjb25uZWN0b3ItPmhkY3Bf bXV0ZXgpOwotCUlOSVRfREVMQVlFRF9XT1JLKCZjb25uZWN0b3ItPmhkY3BfY2hlY2tfd29yaywg aW50ZWxfaGRjcF9jaGVja193b3JrKTsKLQlJTklUX1dPUksoJmNvbm5lY3Rvci0+aGRjcF9wcm9w X3dvcmssIGludGVsX2hkY3BfcHJvcF93b3JrKTsKKwloZGNwLT5oZGNwX3NoaW0gPSBoZGNwX3No aW07CisJbXV0ZXhfaW5pdCgmaGRjcC0+aGRjcF9tdXRleCk7CisJSU5JVF9ERUxBWUVEX1dPUkso JmhkY3AtPmhkY3BfY2hlY2tfd29yaywgaW50ZWxfaGRjcF9jaGVja193b3JrKTsKKwlJTklUX1dP UksoJmhkY3AtPmhkY3BfcHJvcF93b3JrLCBpbnRlbF9oZGNwX3Byb3Bfd29yayk7CiAJcmV0dXJu IDA7CiB9CiAKIGludCBpbnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCiB7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNw OwogCWludCByZXQ7CiAKLQlpZiAoIWNvbm5lY3Rvci0+aGRjcF9zaGltKQorCWlmICghaGRjcC0+ aGRjcF9zaGltKQogCQlyZXR1cm4gLUVOT0VOVDsKIAotCW11dGV4X2xvY2soJmNvbm5lY3Rvci0+ aGRjcF9tdXRleCk7CisJbXV0ZXhfbG9jaygmaGRjcC0+aGRjcF9tdXRleCk7CiAKIAlyZXQgPSBf aW50ZWxfaGRjcF9lbmFibGUoY29ubmVjdG9yKTsKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIAot CWNvbm5lY3Rvci0+aGRjcF92YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFC TEVEOwotCXNjaGVkdWxlX3dvcmsoJmNvbm5lY3Rvci0+aGRjcF9wcm9wX3dvcmspOwotCXNjaGVk dWxlX2RlbGF5ZWRfd29yaygmY29ubmVjdG9yLT5oZGNwX2NoZWNrX3dvcmssCisJaGRjcC0+aGRj cF92YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFCTEVEOworCXNjaGVkdWxl X3dvcmsoJmhkY3AtPmhkY3BfcHJvcF93b3JrKTsKKwlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmhk Y3AtPmhkY3BfY2hlY2tfd29yaywKIAkJCSAgICAgIERSTV9IRENQX0NIRUNLX1BFUklPRF9NUyk7 CiBvdXQ6Ci0JbXV0ZXhfdW5sb2NrKCZjb25uZWN0b3ItPmhkY3BfbXV0ZXgpOworCW11dGV4X3Vu bG9jaygmaGRjcC0+aGRjcF9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KIAogaW50IGludGVsX2hk Y3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CisJc3RydWN0 IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwogCWludCByZXQgPSAwOwogCi0J aWYgKCFjb25uZWN0b3ItPmhkY3Bfc2hpbSkKKwlpZiAoIWhkY3AtPmhkY3Bfc2hpbSkKIAkJcmV0 dXJuIC1FTk9FTlQ7CiAKLQltdXRleF9sb2NrKCZjb25uZWN0b3ItPmhkY3BfbXV0ZXgpOworCW11 dGV4X2xvY2soJmhkY3AtPmhkY3BfbXV0ZXgpOwogCi0JaWYgKGNvbm5lY3Rvci0+aGRjcF92YWx1 ZSAhPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKSB7Ci0JCWNvbm5lY3Rv ci0+aGRjcF92YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQ7CisJ aWYgKGhkY3AtPmhkY3BfdmFsdWUgIT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVT SVJFRCkgeworCQloZGNwLT5oZGNwX3ZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9O X1VOREVTSVJFRDsKIAkJcmV0ID0gX2ludGVsX2hkY3BfZGlzYWJsZShjb25uZWN0b3IpOwogCX0K IAotCW11dGV4X3VubG9jaygmY29ubmVjdG9yLT5oZGNwX211dGV4KTsKLQljYW5jZWxfZGVsYXll ZF93b3JrX3N5bmMoJmNvbm5lY3Rvci0+aGRjcF9jaGVja193b3JrKTsKKwltdXRleF91bmxvY2so JmhkY3AtPmhkY3BfbXV0ZXgpOworCWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmaGRjcC0+aGRj cF9jaGVja193b3JrKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC04MjgsMTcgKzgzOSwxOCBAQCB2 b2lkIGludGVsX2hkY3BfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCiAvKiBJbXBsZW1lbnRzIFBhcnQgMyBvZiB0aGUgSERDUCBhdXRob3JpemF0aW9uIHByb2Nl ZHVyZSAqLwogaW50IGludGVsX2hkY3BfY2hlY2tfbGluayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3IpCiB7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5o ZGNwOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNvbm5lY3Rvci0+YmFz ZS5kZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0ID0gY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpOwogCWVudW0gcG9ydCBwb3J0ID0g aW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKIAlpbnQgcmV0ID0gMDsKIAotCWlmICghY29ubmVj dG9yLT5oZGNwX3NoaW0pCisJaWYgKCFoZGNwLT5oZGNwX3NoaW0pCiAJCXJldHVybiAtRU5PRU5U OwogCi0JbXV0ZXhfbG9jaygmY29ubmVjdG9yLT5oZGNwX211dGV4KTsKKwltdXRleF9sb2NrKCZo ZGNwLT5oZGNwX211dGV4KTsKIAotCWlmIChjb25uZWN0b3ItPmhkY3BfdmFsdWUgPT0gRFJNX01P REVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkKKwlpZiAoaGRjcC0+aGRjcF92YWx1ZSA9 PSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKQogCQlnb3RvIG91dDsKIAog CWlmICghKEk5MTVfUkVBRChQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpKSAmIEhEQ1BfU1RBVFVTX0VO QykpIHsKQEAgLTg0NiwxNyArODU4LDE3IEBAIGludCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJICBjb25uZWN0b3ItPmJhc2UubmFt ZSwgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsCiAJCQkgIEk5MTVfUkVBRChQT1JUX0hEQ1BfU1RB VFVTKHBvcnQpKSk7CiAJCXJldCA9IC1FTlhJTzsKLQkJY29ubmVjdG9yLT5oZGNwX3ZhbHVlID0g RFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQ7Ci0JCXNjaGVkdWxlX3dvcmsoJmNv bm5lY3Rvci0+aGRjcF9wcm9wX3dvcmspOworCQloZGNwLT5oZGNwX3ZhbHVlID0gRFJNX01PREVf Q09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQ7CisJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPmhkY3Bf cHJvcF93b3JrKTsKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKGNvbm5lY3Rvci0+aGRjcF9zaGlt LT5jaGVja19saW5rKGludGVsX2RpZ19wb3J0KSkgewotCQlpZiAoY29ubmVjdG9yLT5oZGNwX3Zh bHVlICE9CisJaWYgKGhkY3AtPmhkY3Bfc2hpbS0+Y2hlY2tfbGluayhpbnRlbF9kaWdfcG9ydCkp IHsKKwkJaWYgKGhkY3AtPmhkY3BfdmFsdWUgIT0KIAkJICAgIERSTV9NT0RFX0NPTlRFTlRfUFJP VEVDVElPTl9VTkRFU0lSRUQpIHsKLQkJCWNvbm5lY3Rvci0+aGRjcF92YWx1ZSA9CisJCQloZGNw LT5oZGNwX3ZhbHVlID0KIAkJCQlEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fRU5BQkxFRDsK LQkJCXNjaGVkdWxlX3dvcmsoJmNvbm5lY3Rvci0+aGRjcF9wcm9wX3dvcmspOworCQkJc2NoZWR1 bGVfd29yaygmaGRjcC0+aGRjcF9wcm9wX3dvcmspOwogCQl9CiAJCWdvdG8gb3V0OwogCX0KQEAg LTg2NywyMCArODc5LDIwIEBAIGludCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCXJldCA9IF9pbnRlbF9oZGNwX2Rpc2FibGUoY29ubmVj dG9yKTsKIAlpZiAocmV0KSB7CiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGRpc2FibGUgaGRjcCAo JWQpXG4iLCByZXQpOwotCQljb25uZWN0b3ItPmhkY3BfdmFsdWUgPSBEUk1fTU9ERV9DT05URU5U X1BST1RFQ1RJT05fREVTSVJFRDsKLQkJc2NoZWR1bGVfd29yaygmY29ubmVjdG9yLT5oZGNwX3By b3Bfd29yayk7CisJCWhkY3AtPmhkY3BfdmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJ T05fREVTSVJFRDsKKwkJc2NoZWR1bGVfd29yaygmaGRjcC0+aGRjcF9wcm9wX3dvcmspOwogCQln b3RvIG91dDsKIAl9CiAKIAlyZXQgPSBfaW50ZWxfaGRjcF9lbmFibGUoY29ubmVjdG9yKTsKIAlp ZiAocmV0KSB7CiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGVuYWJsZSBoZGNwICglZClcbiIsIHJl dCk7Ci0JCWNvbm5lY3Rvci0+aGRjcF92YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElP Tl9ERVNJUkVEOwotCQlzY2hlZHVsZV93b3JrKCZjb25uZWN0b3ItPmhkY3BfcHJvcF93b3JrKTsK KwkJaGRjcC0+aGRjcF92YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVE OworCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5oZGNwX3Byb3Bfd29yayk7CiAJCWdvdG8gb3V0Owog CX0KIAogb3V0OgotCW11dGV4X3VubG9jaygmY29ubmVjdG9yLT5oZGNwX211dGV4KTsKKwltdXRl eF91bmxvY2soJmhkY3AtPmhkY3BfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9Ci0tIAoyLjcuNAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==