From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v14 24/35] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Fri, 15 Feb 2019 14:05:19 +0530 Message-ID: <1550219730-17734-25-git-send-email-ramalingam.c@intel.com> References: <1550219730-17734-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: <1550219730-17734-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, daniel.vetter@ffwll.ch, tomas.winkler@intel.com, uma.shankar@intel.com List-Id: intel-gfx@lists.freedesktop.org UmVxdWVzdHMgZm9yIHZlcmlmaWNhdGlvbiBmb3IgcmVjZWl2ZXIgY2VydGlmaWNhdGlvbiBhbmQg YWxzbyB0aGUKcHJlcGFyYXRpb24gZm9yIG5leHQgQUtFIGF1dGggbWVzc2FnZSB3aXRoIGttLgoK T24gU3VjY2VzcyBNRSBGVyB2YWxpZGF0ZSB0aGUgSERDUDIuMiByZWNlaXZlcnMgY2VydGlmaWNh dGUgYW5kIGRvIHRoZQpyZXZvY2F0aW9uIGNoZWNrIG9uIHRoZSByZWNlaXZlciBJRC4gQUtFX1N0 b3JlZF9LbSB3aWxsIGJlIHByZXBhcmVkIGlmCnRoZSByZWNlaXZlciBpcyBhbHJlYWR5IHBhaXJl ZCwgZWxzZSBBS0VfTm9fU3RvcmVkX0ttIHdpbGwgYmUgcHJlcGFyZWQuCgpIZXJlIEFLRV9TdG9y ZWRfS20gYW5kIEFLRV9Ob19TdG9yZWRfS20gYXJlIEhEQ1AyLjIgcHJvdG9jb2wgbXNncy4KCnYy OiBSZWJhc2VkLgp2MzoKICBjbGRldiBpcyBwYXNzZWQgYXMgZmlyc3QgcGFyYW1ldGVyIFtUb21h c10KICBSZWR1bmRhbnQgY29tbWVudHMgYW5kIGNhc3QgYXJlIHJlbW92ZWQgW1RvbWFzXQp2NDoK ICAlemQgaXMgdXNlZCBmb3Igc3NpemVfdCBbQWxleGFuZGVyXQogICVzL3JldHVybiAtMS9yZXR1 cm4gLUVJTyBbQWxleGFuZGVyXQp2NTogUmViYXNlZC4KdjY6CiAgQ29sbGVjdGVkIHRoZSBSYi1l ZCBieS4KICBSZWJhc2luZy4Kdjc6CiAgQWRqdXN0IHRvIHRoZSBuZXcgbWVpIGludGVyZmFjZS4K ICBGaXggZm9yIEtkb2MuCnY4OgogIEstRG9jIEFkZGl0aW9uLiBbVG9tYXNdCiAgbWVtY3B5IGZv ciBjb25zdCBsZW5ndGguCnY5OgogIHJlbmFtZWQgZnVuYyBhcyBtZWlfaGRjcF8qIFtUb21hc10K ICBJbmxpbmUgZnVuY3Rpb24gaXMgZGVmaW5lZCBmb3IgRERJIGluZGV4IFtUb21hc10KdjEwOgog IEZpeGVkIHRoZSBjb252ZXJzaW9uIG9mIHU4IHRvIGJvb2wgW1RvbWFzXQogIEstRG9jIGZpeCBb VG9tYXNdCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5j b20+ClJldmlld2VkLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgpBY2tl ZC1ieTogVG9tYXMgV2lua2xlciA8dG9tYXMud2lua2xlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9taXNjL21laS9oZGNwL21laV9oZGNwLmMgfCA4MyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jIGIv ZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNwLmMKaW5kZXggOTUyYmFlNzlkZDAyLi45MjJj NmE3NmJiOWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jCisr KyBiL2RyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jCkBAIC0xMDIsMTEgKzEwMiw5MiBA QCBtZWlfaGRjcF9pbml0aWF0ZV9zZXNzaW9uKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGhk Y3BfcG9ydF9kYXRhICpkYXRhLAogCXJldHVybiAwOwogfQogCisvKioKKyAqIG1laV9oZGNwX3Zl cmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20oKSAtIFZlcmlmeSB0aGUgUmVjZWl2ZXIgQ2Vy dGlmaWNhdGUKKyAqIEFLRV9TZW5kX0NlcnQgYW5kIHByZXBhcmUgQUtFX1N0b3JlZF9LbS9BS0Vf Tm9fU3RvcmVkX0ttCisgKiBAZGV2OiBkZXZpY2UgY29ycmVzcG9uZGluZyB0byB0aGUgbWVpX2Ns X2RldmljZQorICogQGRhdGE6IEludGVsIEhXIHNwZWNpZmljIGhkY3AgZGF0YQorICogQHJ4X2Nl cnQ6IEFLRV9TZW5kX0NlcnQgZm9yIHZlcmlmaWNhdGlvbgorICogQGttX3N0b3JlZDogUGFpcmlu ZyBzdGF0dXMgZmxhZyBvdXRwdXQKKyAqIEBla19wdWJfa206IEFLRV9TdG9yZWRfS20vQUtFX05v X1N0b3JlZF9LbSBvdXRwdXQgbXNnCisgKiBAbXNnX3N6IDogc2l6ZSBvZiBBS0VfWFhYWFhfS20g b3V0cHV0IG1zZworICoKKyAqIFJldHVybjogMCBvbiBTdWNjZXNzLCA8MCBvbiBGYWlsdXJlCisg Ki8KK3N0YXRpYyBpbnQKK21laV9oZGNwX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20o c3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkgc3RydWN0IGhkY3BfcG9ydF9kYXRhICpkYXRhLAor CQkJCQkgc3RydWN0IGhkY3AyX2FrZV9zZW5kX2NlcnQgKnJ4X2NlcnQsCisJCQkJCSBib29sICpr bV9zdG9yZWQsCisJCQkJCSBzdHJ1Y3QgaGRjcDJfYWtlX25vX3N0b3JlZF9rbQorCQkJCQkJCQkq ZWtfcHViX2ttLAorCQkJCQkgc2l6ZV90ICptc2dfc3opCit7CisJc3RydWN0IHdpcmVkX2NtZF92 ZXJpZnlfcmVjZWl2ZXJfY2VydF9pbiB2ZXJpZnlfcnhjZXJ0X2luID0geyB7IDAgfSB9OworCXN0 cnVjdCB3aXJlZF9jbWRfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfb3V0IHZlcmlmeV9yeGNlcnRfb3V0 ID0geyB7IDAgfSB9OworCXN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldjsKKwlzc2l6ZV90IGJ5 dGU7CisKKwlpZiAoIWRldiB8fCAhZGF0YSB8fCAhcnhfY2VydCB8fCAha21fc3RvcmVkIHx8ICFl a19wdWJfa20gfHwgIW1zZ19zeikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljbGRldiA9IHRvX21l aV9jbF9kZXZpY2UoZGV2KTsKKworCXZlcmlmeV9yeGNlcnRfaW4uaGVhZGVyLmFwaV92ZXJzaW9u ID0gSERDUF9BUElfVkVSU0lPTjsKKwl2ZXJpZnlfcnhjZXJ0X2luLmhlYWRlci5jb21tYW5kX2lk ID0gV0lSRURfVkVSSUZZX1JFQ0VJVkVSX0NFUlQ7CisJdmVyaWZ5X3J4Y2VydF9pbi5oZWFkZXIu c3RhdHVzID0gTUVfSERDUF9TVEFUVVNfU1VDQ0VTUzsKKwl2ZXJpZnlfcnhjZXJ0X2luLmhlYWRl ci5idWZmZXJfbGVuID0KKwkJCQlXSVJFRF9DTURfQlVGX0xFTl9WRVJJRllfUkVDRUlWRVJfQ0VS VF9JTjsKKworCXZlcmlmeV9yeGNlcnRfaW4ucG9ydC5pbnRlZ3JhdGVkX3BvcnRfdHlwZSA9IGRh dGEtPnBvcnRfdHlwZTsKKwl2ZXJpZnlfcnhjZXJ0X2luLnBvcnQucGh5c2ljYWxfcG9ydCA9IG1l aV9nZXRfZGRpX2luZGV4KGRhdGEtPnBvcnQpOworCisJdmVyaWZ5X3J4Y2VydF9pbi5jZXJ0X3J4 ID0gcnhfY2VydC0+Y2VydF9yeDsKKwltZW1jcHkodmVyaWZ5X3J4Y2VydF9pbi5yX3J4LCAmcnhf Y2VydC0+cl9yeCwgSERDUF8yXzJfUlJYX0xFTik7CisJbWVtY3B5KHZlcmlmeV9yeGNlcnRfaW4u cnhfY2FwcywgcnhfY2VydC0+cnhfY2FwcywgSERDUF8yXzJfUlhDQVBTX0xFTik7CisKKwlieXRl ID0gbWVpX2NsZGV2X3NlbmQoY2xkZXYsICh1OCAqKSZ2ZXJpZnlfcnhjZXJ0X2luLAorCQkJICAg ICAgc2l6ZW9mKHZlcmlmeV9yeGNlcnRfaW4pKTsKKwlpZiAoYnl0ZSA8IDApIHsKKwkJZGV2X2Ri ZyhkZXYsICJtZWlfY2xkZXZfc2VuZCBmYWlsZWQ6ICV6ZFxuIiwgYnl0ZSk7CisJCXJldHVybiBi eXRlOworCX0KKworCWJ5dGUgPSBtZWlfY2xkZXZfcmVjdihjbGRldiwgKHU4ICopJnZlcmlmeV9y eGNlcnRfb3V0LAorCQkJICAgICAgc2l6ZW9mKHZlcmlmeV9yeGNlcnRfb3V0KSk7CisJaWYgKGJ5 dGUgPCAwKSB7CisJCWRldl9kYmcoZGV2LCAibWVpX2NsZGV2X3JlY3YgZmFpbGVkOiAlemRcbiIs IGJ5dGUpOworCQlyZXR1cm4gYnl0ZTsKKwl9CisKKwlpZiAodmVyaWZ5X3J4Y2VydF9vdXQuaGVh ZGVyLnN0YXR1cyAhPSBNRV9IRENQX1NUQVRVU19TVUNDRVNTKSB7CisJCWRldl9kYmcoZGV2LCAi TUUgY21kIDB4JTA4WCBGYWlsZWQuIFN0YXR1czogMHglWFxuIiwKKwkJCVdJUkVEX1ZFUklGWV9S RUNFSVZFUl9DRVJULAorCQkJdmVyaWZ5X3J4Y2VydF9vdXQuaGVhZGVyLnN0YXR1cyk7CisJCXJl dHVybiAtRUlPOworCX0KKworCSprbV9zdG9yZWQgPSAhIXZlcmlmeV9yeGNlcnRfb3V0LmttX3N0 b3JlZDsKKwlpZiAodmVyaWZ5X3J4Y2VydF9vdXQua21fc3RvcmVkKSB7CisJCWVrX3B1Yl9rbS0+ bXNnX2lkID0gSERDUF8yXzJfQUtFX1NUT1JFRF9LTTsKKwkJKm1zZ19zeiA9IHNpemVvZihzdHJ1 Y3QgaGRjcDJfYWtlX3N0b3JlZF9rbSk7CisJfSBlbHNlIHsKKwkJZWtfcHViX2ttLT5tc2dfaWQg PSBIRENQXzJfMl9BS0VfTk9fU1RPUkVEX0tNOworCQkqbXNnX3N6ID0gc2l6ZW9mKHN0cnVjdCBo ZGNwMl9ha2Vfbm9fc3RvcmVkX2ttKTsKKwl9CisKKwltZW1jcHkoZWtfcHViX2ttLT5lX2twdWJf a20sICZ2ZXJpZnlfcnhjZXJ0X291dC5la21fYnVmZiwKKwkgICAgICAgc2l6ZW9mKHZlcmlmeV9y eGNlcnRfb3V0LmVrbV9idWZmKSk7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIF9fYXR0cmli dXRlX18oKHVudXNlZCkpCiBzdHJ1Y3QgaTkxNV9oZGNwX2NvbXBvbmVudF9vcHMgbWVpX2hkY3Bf b3BzID0gewogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5pbml0aWF0ZV9oZGNwMl9zZXNzaW9u ID0gbWVpX2hkY3BfaW5pdGlhdGVfc2Vzc2lvbiwKLQkudmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJl cGFyZV9rbSA9IE5VTEwsCisJLnZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20gPQorCQkJ CW1laV9oZGNwX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20sCiAJLnZlcmlmeV9ocHJp bWUgPSBOVUxMLAogCS5zdG9yZV9wYWlyaW5nX2luZm8gPSBOVUxMLAogCS5pbml0aWF0ZV9sb2Nh bGl0eV9jaGVjayA9IE5VTEwsCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4