From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v9 25/39] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Thu, 13 Dec 2018 09:31:27 +0530 Message-ID: <1544673701-6353-26-git-send-email-ramalingam.c@intel.com> References: <1544673701-6353-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: <1544673701-6353-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, dri-devel@lists.freedesktop.org, seanpaul@chromium.org, daniel.vetter@ffwll.ch, tomas.winkler@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org UmVxdWVzdHMgZm9yIHZlcmlmaWNhdGlvbiBmb3IgcmVjZWl2ZXIgY2VydGlmaWNhdGlvbiBhbmQg YWxzbyB0aGUKcHJlcGFyYXRpb24gZm9yIG5leHQgQUtFIGF1dGggbWVzc2FnZSB3aXRoIGttLgoK T24gU3VjY2VzcyBNRSBGVyB2YWxpZGF0ZSB0aGUgSERDUDIuMiByZWNlaXZlcnMgY2VydGlmaWNh dGUgYW5kIGRvIHRoZQpyZXZvY2F0aW9uIGNoZWNrIG9uIHRoZSByZWNlaXZlciBJRC4gQUtFX1N0 b3JlZF9LbSB3aWxsIGJlIHByZXBhcmVkIGlmCnRoZSByZWNlaXZlciBpcyBhbHJlYWR5IHBhaXJl ZCwgZWxzZSBBS0VfTm9fU3RvcmVkX0ttIHdpbGwgYmUgcHJlcGFyZWQuCgpIZXJlIEFLRV9TdG9y ZWRfS20gYW5kIEFLRV9Ob19TdG9yZWRfS20gYXJlIEhEQ1AyLjIgcHJvdG9jb2wgbXNncy4KCnYy OiBSZWJhc2VkLgp2MzoKICBjbGRldiBpcyBwYXNzZWQgYXMgZmlyc3QgcGFyYW1ldGVyIFtUb21h c10KICBSZWR1bmRhbnQgY29tbWVudHMgYW5kIGNhc3QgYXJlIHJlbW92ZWQgW1RvbWFzXQp2NDoK ICAlemQgaXMgdXNlZCBmb3Igc3NpemVfdCBbQWxleGFuZGVyXQogICVzL3JldHVybiAtMS9yZXR1 cm4gLUVJTyBbQWxleGFuZGVyXQp2NTogUmViYXNlZC4KdjY6CiAgQ29sbGVjdGVkIHRoZSBSYi1l ZCBieS4KICBSZWJhc2luZy4Kdjc6CiAgQWRqdXN0IHRvIHRoZSBuZXcgbWVpIGludGVyZmFjZS4K ICBGaXggZm9yIEtkb2MuCnY4OgogIEstRG9jIEFkZGl0aW9uLiBbVG9tYXNdCiAgbWVtY3B5IGZv ciBjb25zdCBsZW5ndGguCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0u Y0BpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jIHwgODEgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDgwIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvbWVpL2hk Y3AvbWVpX2hkY3AuYyBiL2RyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jCmluZGV4IDEy NGYwMmUyYjdjNC4uMjcwYmFmMjRmMjFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvbWVpL2hk Y3AvbWVpX2hkY3AuYworKysgYi9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYwpAQCAt ODksMTEgKzg5LDkwIEBAIG1laV9pbml0aWF0ZV9oZGNwMl9zZXNzaW9uKHN0cnVjdCBkZXZpY2Ug KmRldiwgc3RydWN0IGhkY3BfcG9ydF9kYXRhICpkYXRhLAogCXJldHVybiAwOwogfQogCisvKioK KyAqIG1laV92ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVwYXJlX2ttKCkgLSBWZXJpZnkgdGhlIFJl Y2VpdmVyIENlcnRpZmljYXRlCisgKiBBS0VfU2VuZF9DZXJ0IGFuZCBwcmVwYXJlIEFLRV9TdG9y ZWRfS20vQUtFX05vX1N0b3JlZF9LbQorICogQGRldjogZGV2aWNlIGNvcnJlc3BvbmRpbmcgdG8g dGhlIG1laV9jbF9kZXZpY2UKKyAqIEBoZGNwX2RhdGE6IEludGVsIEhXIHNwZWNpZmljIGhkY3Ag ZGF0YQorICogQHJ4X2NlcnQ6IEFLRV9TZW5kX0NlcnQgZm9yIHZlcmlmaWNhdGlvbgorICogQGtt X3N0b3JlZDogUGFpcmluZyBzdGF0dXMgZmxhZyBvdXRwdXQKKyAqIEBla19wdWJfa206IEFLRV9T dG9yZWRfS20vQUtFX05vX1N0b3JlZF9LbSBvdXRwdXQgbXNnCisgKiBAbXNnX3N6IDogc2l6ZSBv ZiBBS0VfWFhYWFhfS20gb3V0cHV0IG1zZworICoKKyAqIFJldHVybjogMCBvbiBTdWNjZXNzLCA8 MCBvbiBGYWlsdXJlCisgKi8KK3N0YXRpYyBpbnQKK21laV92ZXJpZnlfcmVjZWl2ZXJfY2VydF9w cmVwYXJlX2ttKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICAgc3RydWN0IGhkY3BfcG9ydF9k YXRhICpkYXRhLAorCQkJCSAgICBzdHJ1Y3QgaGRjcDJfYWtlX3NlbmRfY2VydCAqcnhfY2VydCwK KwkJCQkgICAgYm9vbCAqa21fc3RvcmVkLAorCQkJCSAgICBzdHJ1Y3QgaGRjcDJfYWtlX25vX3N0 b3JlZF9rbSAqZWtfcHViX2ttLAorCQkJCSAgICBzaXplX3QgKm1zZ19zeikKK3sKKwlzdHJ1Y3Qg d2lyZWRfY21kX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X2luIHZlcmlmeV9yeGNlcnRfaW4gPSB7IHsg MCB9IH07CisJc3RydWN0IHdpcmVkX2NtZF92ZXJpZnlfcmVjZWl2ZXJfY2VydF9vdXQgdmVyaWZ5 X3J4Y2VydF9vdXQgPSB7IHsgMCB9IH07CisJc3RydWN0IG1laV9jbF9kZXZpY2UgKmNsZGV2Owor CXNzaXplX3QgYnl0ZTsKKworCWlmICghZGV2IHx8ICFkYXRhIHx8ICFyeF9jZXJ0IHx8ICFrbV9z dG9yZWQgfHwgIWVrX3B1Yl9rbSB8fCAhbXNnX3N6KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNs ZGV2ID0gdG9fbWVpX2NsX2RldmljZShkZXYpOworCisJdmVyaWZ5X3J4Y2VydF9pbi5oZWFkZXIu YXBpX3ZlcnNpb24gPSBIRENQX0FQSV9WRVJTSU9OOworCXZlcmlmeV9yeGNlcnRfaW4uaGVhZGVy LmNvbW1hbmRfaWQgPSBXSVJFRF9WRVJJRllfUkVDRUlWRVJfQ0VSVDsKKwl2ZXJpZnlfcnhjZXJ0 X2luLmhlYWRlci5zdGF0dXMgPSBNRV9IRENQX1NUQVRVU19TVUNDRVNTOworCXZlcmlmeV9yeGNl cnRfaW4uaGVhZGVyLmJ1ZmZlcl9sZW4gPQorCQkJCVdJUkVEX0NNRF9CVUZfTEVOX1ZFUklGWV9S RUNFSVZFUl9DRVJUX0lOOworCisJdmVyaWZ5X3J4Y2VydF9pbi5wb3J0LmludGVncmF0ZWRfcG9y dF90eXBlID0gZGF0YS0+cG9ydF90eXBlOworCXZlcmlmeV9yeGNlcnRfaW4ucG9ydC5waHlzaWNh bF9wb3J0ID0gKHU4KUdFVF9NRUlfRERJX0lOREVYKGRhdGEtPnBvcnQpOworCisJdmVyaWZ5X3J4 Y2VydF9pbi5jZXJ0X3J4ID0gcnhfY2VydC0+Y2VydF9yeDsKKwltZW1jcHkodmVyaWZ5X3J4Y2Vy dF9pbi5yX3J4LCAmcnhfY2VydC0+cl9yeCwgSERDUF8yXzJfUlJYX0xFTik7CisJbWVtY3B5KHZl cmlmeV9yeGNlcnRfaW4ucnhfY2FwcywgcnhfY2VydC0+cnhfY2FwcywgSERDUF8yXzJfUlhDQVBT X0xFTik7CisKKwlieXRlID0gbWVpX2NsZGV2X3NlbmQoY2xkZXYsICh1OCAqKSZ2ZXJpZnlfcnhj ZXJ0X2luLAorCQkJICAgICAgc2l6ZW9mKHZlcmlmeV9yeGNlcnRfaW4pKTsKKwlpZiAoYnl0ZSA8 IDApIHsKKwkJZGV2X2RiZyhkZXYsICJtZWlfY2xkZXZfc2VuZCBmYWlsZWQ6ICV6ZFxuIiwgYnl0 ZSk7CisJCXJldHVybiBieXRlOworCX0KKworCWJ5dGUgPSBtZWlfY2xkZXZfcmVjdihjbGRldiwg KHU4ICopJnZlcmlmeV9yeGNlcnRfb3V0LAorCQkJICAgICAgc2l6ZW9mKHZlcmlmeV9yeGNlcnRf b3V0KSk7CisJaWYgKGJ5dGUgPCAwKSB7CisJCWRldl9kYmcoZGV2LCAibWVpX2NsZGV2X3JlY3Yg ZmFpbGVkOiAlemRcbiIsIGJ5dGUpOworCQlyZXR1cm4gYnl0ZTsKKwl9CisKKwlpZiAodmVyaWZ5 X3J4Y2VydF9vdXQuaGVhZGVyLnN0YXR1cyAhPSBNRV9IRENQX1NUQVRVU19TVUNDRVNTKSB7CisJ CWRldl9kYmcoZGV2LCAiTUUgY21kIDB4JTA4WCBGYWlsZWQuIFN0YXR1czogMHglWFxuIiwKKwkJ CVdJUkVEX1ZFUklGWV9SRUNFSVZFUl9DRVJULAorCQkJdmVyaWZ5X3J4Y2VydF9vdXQuaGVhZGVy LnN0YXR1cyk7CisJCXJldHVybiAtRUlPOworCX0KKworCSprbV9zdG9yZWQgPSB2ZXJpZnlfcnhj ZXJ0X291dC5rbV9zdG9yZWQ7CisJaWYgKHZlcmlmeV9yeGNlcnRfb3V0LmttX3N0b3JlZCkgewor CQlla19wdWJfa20tPm1zZ19pZCA9IEhEQ1BfMl8yX0FLRV9TVE9SRURfS007CisJCSptc2dfc3og PSBzaXplb2Yoc3RydWN0IGhkY3AyX2FrZV9zdG9yZWRfa20pOworCX0gZWxzZSB7CisJCWVrX3B1 Yl9rbS0+bXNnX2lkID0gSERDUF8yXzJfQUtFX05PX1NUT1JFRF9LTTsKKwkJKm1zZ19zeiA9IHNp emVvZihzdHJ1Y3QgaGRjcDJfYWtlX25vX3N0b3JlZF9rbSk7CisJfQorCisJbWVtY3B5KGVrX3B1 Yl9rbS0+ZV9rcHViX2ttLCAmdmVyaWZ5X3J4Y2VydF9vdXQuZWttX2J1ZmYsCisJICAgICAgIHNp emVvZih2ZXJpZnlfcnhjZXJ0X291dC5la21fYnVmZikpOworCisJcmV0dXJuIDA7Cit9CisKIHN0 YXRpYyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKQogc3RydWN0IGk5MTVfaGRjcF9jb21wb25lbnRf b3BzIG1laV9oZGNwX29wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAkuaW5pdGlhdGVf aGRjcDJfc2Vzc2lvbiA9IG1laV9pbml0aWF0ZV9oZGNwMl9zZXNzaW9uLAotCS52ZXJpZnlfcmVj ZWl2ZXJfY2VydF9wcmVwYXJlX2ttID0gTlVMTCwKKwkudmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJl cGFyZV9rbSA9IG1laV92ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVwYXJlX2ttLAogCS52ZXJpZnlf aHByaW1lID0gTlVMTCwKIAkuc3RvcmVfcGFpcmluZ19pbmZvID0gTlVMTCwKIAkuaW5pdGlhdGVf bG9jYWxpdHlfY2hlY2sgPSBOVUxMLAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=