From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v8 21/35] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Tue, 27 Nov 2018 16:13:19 +0530 Message-ID: <1543315413-24302-22-git-send-email-ramalingam.c@intel.com> References: <1543315413-24302-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: <1543315413-24302-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.vetter@ffwll.ch, tomas.winkler@intel.com Cc: uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org UmVxdWVzdHMgZm9yIHZlcmlmaWNhdGlvbiBmb3IgcmVjZWl2ZXIgY2VydGlmaWNhdGlvbiBhbmQg YWxzbyB0aGUKcHJlcGFyYXRpb24gZm9yIG5leHQgQUtFIGF1dGggbWVzc2FnZSB3aXRoIGttLgoK T24gU3VjY2VzcyBNRSBGVyB2YWxpZGF0ZSB0aGUgSERDUDIuMiByZWNlaXZlcnMgY2VydGlmaWNh dGUgYW5kIGRvIHRoZQpyZXZvY2F0aW9uIGNoZWNrIG9uIHRoZSByZWNlaXZlciBJRC4gQUtFX1N0 b3JlZF9LbSB3aWxsIGJlIHByZXBhcmVkIGlmCnRoZSByZWNlaXZlciBpcyBhbHJlYWR5IHBhaXJl ZCwgZWxzZSBBS0VfTm9fU3RvcmVkX0ttIHdpbGwgYmUgcHJlcGFyZWQuCgpIZXJlIEFLRV9TdG9y ZWRfS20gYW5kIEFLRV9Ob19TdG9yZWRfS20gYXJlIEhEQ1AyLjIgcHJvdG9jb2wgbXNncy4KCnYy OgogIFJlYmFzZWQuCnYzOgogIGNsZGV2IGlzIHBhc3NlZCBhcyBmaXJzdCBwYXJhbWV0ZXIgW1Rv bWFzXQogIFJlZHVuZGFudCBjb21tZW50cyBhbmQgY2FzdCBhcmUgcmVtb3ZlZCBbVG9tYXNdCnY0 OgogICV6ZCBpcyB1c2VkIGZvciBzc2l6ZV90IFtBbGV4YW5kZXJdCiAgJXMvcmV0dXJuIC0xL3Jl dHVybiAtRUlPIFtBbGV4YW5kZXJdCnY1OgogIFJlYmFzZWQuCnY2OgogIE5vIGNoYW5nZS4Kdjc6 CiAgQ29sbGVjdGVkIHRoZSBSYi1lZCBieS4KICBSZWJhc2luZy4Kdjg6CiAgQWRqdXN0IHRvIHRo ZSBuZXcgbWVpIGludGVyZmFjZS4KICBGaXggZm9yIEtkb2MuCgpTaWduZWQtb2ZmLWJ5OiBSYW1h bGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBVbWEgU2hhbmth ciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlf aGRjcC5jIHwgODQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBm aWxlIGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYyBiL2RyaXZlcnMvbWlzYy9tZWkvaGRj cC9tZWlfaGRjcC5jCmluZGV4IGNhOGY4MmQyNTM0My4uYjM4ODM2ZGJkYjY2IDEwMDY0NAotLS0g YS9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYworKysgYi9kcml2ZXJzL21pc2MvbWVp L2hkY3AvbWVpX2hkY3AuYwpAQCAtODIsMTEgKzgyLDkzIEBAIHN0YXRpYyBpbnQgbWVpX2luaXRp YXRlX2hkY3AyX3Nlc3Npb24oc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpoZGNwX2RhdGEsCiAJ cmV0dXJuIDA7CiB9CiAKKy8qCisgKiBtZWlfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJlcGFyZV9r bSA6CisgKiBGdW5jdGlvbiB0byB2ZXJpZnkgdGhlIFJlY2VpdmVyIENlcnRpZmljYXRlIEFLRV9T ZW5kX0NlcnQKKyAqIGFuZCBwcmVwYXJlIEFLRV9TdG9yZWRfS20gb3IgQUtFX05vX1N0b3JlZF9L bQorICoKKyAqIEBkZXYgOiBkZXZpY2UgY29ycmVzcG9uZGluZyB0byB0aGUgbWVpX2NsX2Rldmlj ZQorICogQGhkY3BfZGF0YSA6IEludGVsIEhXIHNwZWNpZmljIGhkY3AgZGF0YQorICogQHJ4X2Nl cnQgOiBBS0VfU2VuZF9DZXJ0IGZvciB2ZXJpZmljYXRpb24KKyAqIEBrbV9zdG9yZWQgOiBQYWly aW5nIHN0YXR1cyBmbGFnIG91dHB1dAorICogQGVrX3B1Yl9rbSA6IEFLRV9YWFhYWF9tc2cgb3V0 cHV0CisgKiBAbXNnX3N6IDogc2l6ZSBvZiBBS0VfWFhYWFhfS20gb3V0cHV0CisgKgorICogUmV0 dXJucyAwIG9uIFN1Y2Nlc3MsIDwwIG9uIEZhaWx1cmUKKyAqLworc3RhdGljIGludAorbWVpX3Zl cmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20oc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpo ZGNwX2RhdGEsCisJCQkJICAgIHN0cnVjdCBoZGNwMl9ha2Vfc2VuZF9jZXJ0ICpyeF9jZXJ0LAor CQkJCSAgICBib29sICprbV9zdG9yZWQsCisJCQkJICAgIHN0cnVjdCBoZGNwMl9ha2Vfbm9fc3Rv cmVkX2ttICpla19wdWJfa20sCisJCQkJICAgIHNpemVfdCAqbXNnX3N6KQoreworCXN0cnVjdCB3 aXJlZF9jbWRfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfaW4gdmVyaWZ5X3J4Y2VydF9pbiA9IHsgeyAw IH0gfTsKKwlzdHJ1Y3Qgd2lyZWRfY21kX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X291dCB2ZXJpZnlf cnhjZXJ0X291dCA9IHsgeyAwIH0gfTsKKwlzdHJ1Y3QgbWVpX2NsX2RldmljZSAqY2xkZXY7CisJ c3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEgPSBoZGNwX2RhdGE7CisJc3NpemVfdCBieXRlOwor CisJaWYgKCFkZXYgfHwgIWRhdGEgfHwgIXJ4X2NlcnQgfHwgIWttX3N0b3JlZCB8fCAhZWtfcHVi X2ttIHx8ICFtc2dfc3opCisJCXJldHVybiAtRUlOVkFMOworCisJY2xkZXYgPSB0b19tZWlfY2xf ZGV2aWNlKGRldik7CisKKwl2ZXJpZnlfcnhjZXJ0X2luLmhlYWRlci5hcGlfdmVyc2lvbiA9IEhE Q1BfQVBJX1ZFUlNJT047CisJdmVyaWZ5X3J4Y2VydF9pbi5oZWFkZXIuY29tbWFuZF9pZCA9IFdJ UkVEX1ZFUklGWV9SRUNFSVZFUl9DRVJUOworCXZlcmlmeV9yeGNlcnRfaW4uaGVhZGVyLnN0YXR1 cyA9IE1FX0hEQ1BfU1RBVFVTX1NVQ0NFU1M7CisJdmVyaWZ5X3J4Y2VydF9pbi5oZWFkZXIuYnVm ZmVyX2xlbiA9CisJCQkJV0lSRURfQ01EX0JVRl9MRU5fVkVSSUZZX1JFQ0VJVkVSX0NFUlRfSU47 CisKKwl2ZXJpZnlfcnhjZXJ0X2luLnBvcnQuaW50ZWdyYXRlZF9wb3J0X3R5cGUgPSBkYXRhLT5w b3J0X3R5cGU7CisJdmVyaWZ5X3J4Y2VydF9pbi5wb3J0LnBoeXNpY2FsX3BvcnQgPSBkYXRhLT5w b3J0OworCisJbWVtY3B5KCZ2ZXJpZnlfcnhjZXJ0X2luLmNlcnRfcngsICZyeF9jZXJ0LT5jZXJ0 X3J4LAorCSAgICAgICBzaXplb2YocnhfY2VydC0+Y2VydF9yeCkpOworCW1lbWNweSh2ZXJpZnlf cnhjZXJ0X2luLnJfcngsICZyeF9jZXJ0LT5yX3J4LCBzaXplb2YocnhfY2VydC0+cl9yeCkpOwor CW1lbWNweSh2ZXJpZnlfcnhjZXJ0X2luLnJ4X2NhcHMsIHJ4X2NlcnQtPnJ4X2NhcHMsIEhEQ1Bf Ml8yX1JYQ0FQU19MRU4pOworCisJYnl0ZSA9IG1laV9jbGRldl9zZW5kKGNsZGV2LCAodTggKikm dmVyaWZ5X3J4Y2VydF9pbiwKKwkJCSAgICAgIHNpemVvZih2ZXJpZnlfcnhjZXJ0X2luKSk7CisJ aWYgKGJ5dGUgPCAwKSB7CisJCWRldl9kYmcoZGV2LCAibWVpX2NsZGV2X3NlbmQgZmFpbGVkOiAl emRcbiIsIGJ5dGUpOworCQlyZXR1cm4gYnl0ZTsKKwl9CisKKwlieXRlID0gbWVpX2NsZGV2X3Jl Y3YoY2xkZXYsICh1OCAqKSZ2ZXJpZnlfcnhjZXJ0X291dCwKKwkJCSAgICAgIHNpemVvZih2ZXJp ZnlfcnhjZXJ0X291dCkpOworCWlmIChieXRlIDwgMCkgeworCQlkZXZfZGJnKGRldiwgIm1laV9j bGRldl9yZWN2IGZhaWxlZDogJXpkXG4iLCBieXRlKTsKKwkJcmV0dXJuIGJ5dGU7CisJfQorCisJ aWYgKHZlcmlmeV9yeGNlcnRfb3V0LmhlYWRlci5zdGF0dXMgIT0gTUVfSERDUF9TVEFUVVNfU1VD Q0VTUykgeworCQlkZXZfZGJnKGRldiwgIk1FIGNtZCAweCUwOFggRmFpbGVkLiBTdGF0dXM6IDB4 JVhcbiIsCisJCQlXSVJFRF9WRVJJRllfUkVDRUlWRVJfQ0VSVCwKKwkJCXZlcmlmeV9yeGNlcnRf b3V0LmhlYWRlci5zdGF0dXMpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwkqa21fc3RvcmVkID0g dmVyaWZ5X3J4Y2VydF9vdXQua21fc3RvcmVkOworCWlmICh2ZXJpZnlfcnhjZXJ0X291dC5rbV9z dG9yZWQpIHsKKwkJZWtfcHViX2ttLT5tc2dfaWQgPSBIRENQXzJfMl9BS0VfU1RPUkVEX0tNOwor CQkqbXNnX3N6ID0gc2l6ZW9mKHN0cnVjdCBoZGNwMl9ha2Vfc3RvcmVkX2ttKTsKKwl9IGVsc2Ug eworCQlla19wdWJfa20tPm1zZ19pZCA9IEhEQ1BfMl8yX0FLRV9OT19TVE9SRURfS007CisJCSpt c2dfc3ogPSBzaXplb2Yoc3RydWN0IGhkY3AyX2FrZV9ub19zdG9yZWRfa20pOworCX0KKworCW1l bWNweShla19wdWJfa20tPmVfa3B1Yl9rbSwgJnZlcmlmeV9yeGNlcnRfb3V0LmVrbV9idWZmLAor CSAgICAgICBzaXplb2YodmVyaWZ5X3J4Y2VydF9vdXQuZWttX2J1ZmYpKTsKKworCXJldHVybiAw OworfQorCiBzdGF0aWMgX19hdHRyaWJ1dGVfXygodW51c2VkKSkKIHN0cnVjdCBpOTE1X2hkY3Bf Y29tcG9uZW50X29wcyBtZWlfaGRjcF9vcHMgPSB7CiAJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJ LmluaXRpYXRlX2hkY3AyX3Nlc3Npb24gPSBtZWlfaW5pdGlhdGVfaGRjcDJfc2Vzc2lvbiwKLQku dmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJlcGFyZV9rbSA9IE5VTEwsCisJLnZlcmlmeV9yZWNlaXZl cl9jZXJ0X3ByZXBhcmVfa20gPSBtZWlfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJlcGFyZV9rbSwK IAkudmVyaWZ5X2hwcmltZSA9IE5VTEwsCiAJLnN0b3JlX3BhaXJpbmdfaW5mbyA9IE5VTEwsCiAJ LmluaXRpYXRlX2xvY2FsaXR5X2NoZWNrID0gTlVMTCwKLS0gCjIuNy40CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK