From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v6 26/35] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Sat, 14 Jul 2018 08:45:08 +0530 Message-ID: <1531538117-1606-27-git-send-email-ramalingam.c@intel.com> References: <1531538117-1606-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: <1531538117-1606-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, seanpaul@chromium.org, tomas.winkler@intel.com, alexander.usyskin@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org UmVxdWVzdHMgZm9yIHZlcmlmaWNhdGlvbiBmb3IgcmVjZWl2ZXIgY2VydGlmaWNhdGlvbiBhbmQg YWxzbyB0aGUKcHJlcGFyYXRpb24gZm9yIG5leHQgQUtFIGF1dGggbWVzc2FnZSB3aXRoIGttLgoK T24gU3VjY2VzcyBNRSBGVyB2YWxpZGF0ZSB0aGUgSERDUDIuMiByZWNlaXZlcnMgY2VydGlmaWNh dGUgYW5kIGRvIHRoZQpyZXZvY2F0aW9uIGNoZWNrIG9uIHRoZSByZWNlaXZlciBJRC4gQUtFX1N0 b3JlZF9LbSB3aWxsIGJlIHByZXBhcmVkIGlmCnRoZSByZWNlaXZlciBpcyBhbHJlYWR5IHBhaXJl ZCwgZWxzZSBBS0VfTm9fU3RvcmVkX0ttIHdpbGwgYmUgcHJlcGFyZWQuCgpIZXJlIEFLRV9TdG9y ZWRfS20gYW5kIEFLRV9Ob19TdG9yZWRfS20gYXJlIEhEQ1AyLjIgcHJvdG9jb2wgbXNncy4KCnYy OgogIFJlYmFzZWQuCnYzOgogIGNsZGV2IGlzIHBhc3NlZCBhcyBmaXJzdCBwYXJhbWV0ZXIgW1Rv bWFzXQogIFJlZHVuZGFudCBjb21tZW50cyBhbmQgY2FzdCBhcmUgcmVtb3ZlZCBbVG9tYXNdCnY0 OgogICV6ZCBpcyB1c2VkIGZvciBzc2l6ZV90IFtBbGV4YW5kZXJdCiAgJXMvcmV0dXJuIC0xL3Jl dHVybiAtRUlPIFtBbGV4YW5kZXJdCnY1OgogIFJlYmFzZWQuCnY2OgogIE5vIGNoYW5nZS4KClNp Z25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYyB8IDg1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNw LmMgYi9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYwppbmRleCA0NGIxYWFjMDNmZjAu LjdkMzUwNjZmMjFlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNw LmMKKysrIGIvZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNwLmMKQEAgLTEwNSwxMCArMTA1 LDkzIEBAIHN0YXRpYyBpbnQgbWVpX2luaXRpYXRlX2hkY3AyX3Nlc3Npb24oc3RydWN0IG1laV9j bF9kZXZpY2UgKmNsZGV2LAogCXJldHVybiAwOwogfQogCisvKgorICogbWVpX3ZlcmlmeV9yZWNl aXZlcl9jZXJ0X3ByZXBhcmVfa206CisgKglGdW5jdGlvbiB0byB2ZXJpZnkgdGhlIFJlY2VpdmVy IENlcnRpZmljYXRlIEFLRV9TZW5kX0NlcnQKKyAqCWFuZCBwcmVwYXJlIEFLRV9TdG9yZWRfS20g b3IgQUtFX05vX1N0b3JlZF9LbQorICoKKyAqIGNsZGV2CQk6IFBvaW50ZXIgZm9yIG1laSBjbGll bnQgZGV2aWNlCisgKiBkYXRhCQkJOiBJbnRlbCBIVyBzcGVjaWZpYyBEYXRhCisgKiByeF9jZXJ0 CQk6IFBvaW50ZXIgZm9yIEFLRV9TZW5kX0NlcnQKKyAqIGttX3N0b3JlZAkJOiBQb2ludGVyIGZv ciBwYWlyaW5nIHN0YXR1cyBmbGFnCisgKiBla19wdWJfa20JCTogUG9pbnRlciBmb3Igb3V0cHV0 IG1zZworICogbXNnX3N6CQk6IFBvaW50ZXIgZm9yIHNpemUgb2YgQUtFX1hYWFhYX0ttCisgKgor ICogUmV0dXJucyAwIG9uIFN1Y2Nlc3MsIDwwIG9uIEZhaWx1cmUKKyAqLworc3RhdGljIGludAor bWVpX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20oc3RydWN0IG1laV9jbF9kZXZpY2Ug KmNsZGV2LAorCQkJCSAgICBzdHJ1Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSwKKwkJCQkgICAgc3Ry dWN0IGhkY3AyX2FrZV9zZW5kX2NlcnQgKnJ4X2NlcnQsCisJCQkJICAgIGJvb2wgKmttX3N0b3Jl ZCwKKwkJCQkgICAgc3RydWN0IGhkY3AyX2FrZV9ub19zdG9yZWRfa20gKmVrX3B1Yl9rbSwKKwkJ CQkgICAgc2l6ZV90ICptc2dfc3opCit7CisJc3RydWN0IHdpcmVkX2NtZF92ZXJpZnlfcmVjZWl2 ZXJfY2VydF9pbiB2ZXJpZnlfcnhjZXJ0X2luID0geyB7IDAgfSB9OworCXN0cnVjdCB3aXJlZF9j bWRfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfb3V0IHZlcmlmeV9yeGNlcnRfb3V0ID0geyB7IDAgfSB9 OworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlzc2l6ZV90IGJ5dGU7CisKKwlpZiAoIWRhdGEgfHwg IXJ4X2NlcnQgfHwgIWttX3N0b3JlZCB8fCAhZWtfcHViX2ttIHx8ICFtc2dfc3opCisJCXJldHVy biAtRUlOVkFMOworCisJZGV2ID0gJmNsZGV2LT5kZXY7CisKKwl2ZXJpZnlfcnhjZXJ0X2luLmhl YWRlci5hcGlfdmVyc2lvbiA9IEhEQ1BfQVBJX1ZFUlNJT047CisJdmVyaWZ5X3J4Y2VydF9pbi5o ZWFkZXIuY29tbWFuZF9pZCA9IFdJUkVEX1ZFUklGWV9SRUNFSVZFUl9DRVJUOworCXZlcmlmeV9y eGNlcnRfaW4uaGVhZGVyLnN0YXR1cyA9IE1FX0hEQ1BfU1RBVFVTX1NVQ0NFU1M7CisJdmVyaWZ5 X3J4Y2VydF9pbi5oZWFkZXIuYnVmZmVyX2xlbiA9CisJCQkJV0lSRURfQ01EX0JVRl9MRU5fVkVS SUZZX1JFQ0VJVkVSX0NFUlRfSU47CisKKwl2ZXJpZnlfcnhjZXJ0X2luLnBvcnQuaW50ZWdyYXRl ZF9wb3J0X3R5cGUgPSBkYXRhLT5wb3J0X3R5cGU7CisJdmVyaWZ5X3J4Y2VydF9pbi5wb3J0LnBo eXNpY2FsX3BvcnQgPSBkYXRhLT5wb3J0OworCisJbWVtY3B5KCZ2ZXJpZnlfcnhjZXJ0X2luLmNl cnRfcngsICZyeF9jZXJ0LT5jZXJ0X3J4LAorCSAgICAgICBzaXplb2YocnhfY2VydC0+Y2VydF9y eCkpOworCW1lbWNweSh2ZXJpZnlfcnhjZXJ0X2luLnJfcngsICZyeF9jZXJ0LT5yX3J4LCBzaXpl b2YocnhfY2VydC0+cl9yeCkpOworCW1lbWNweSh2ZXJpZnlfcnhjZXJ0X2luLnJ4X2NhcHMsIHJ4 X2NlcnQtPnJ4X2NhcHMsIEhEQ1BfMl8yX1JYQ0FQU19MRU4pOworCisJYnl0ZSA9IG1laV9jbGRl dl9zZW5kKGNsZGV2LCAodTggKikmdmVyaWZ5X3J4Y2VydF9pbiwKKwkJCSAgICAgIHNpemVvZih2 ZXJpZnlfcnhjZXJ0X2luKSk7CisJaWYgKGJ5dGUgPCAwKSB7CisJCWRldl9kYmcoZGV2LCAibWVp X2NsZGV2X3NlbmQgZmFpbGVkOiAlemRcbiIsIGJ5dGUpOworCQlyZXR1cm4gYnl0ZTsKKwl9CisK KwlieXRlID0gbWVpX2NsZGV2X3JlY3YoY2xkZXYsICh1OCAqKSZ2ZXJpZnlfcnhjZXJ0X291dCwK KwkJCSAgICAgIHNpemVvZih2ZXJpZnlfcnhjZXJ0X291dCkpOworCWlmIChieXRlIDwgMCkgewor CQlkZXZfZGJnKGRldiwgIm1laV9jbGRldl9yZWN2IGZhaWxlZDogJXpkXG4iLCBieXRlKTsKKwkJ cmV0dXJuIGJ5dGU7CisJfQorCisJaWYgKHZlcmlmeV9yeGNlcnRfb3V0LmhlYWRlci5zdGF0dXMg IT0gTUVfSERDUF9TVEFUVVNfU1VDQ0VTUykgeworCQlkZXZfZGJnKGRldiwgIk1FIGNtZCAweCUw OFggRmFpbGVkLiBTdGF0dXM6IDB4JVhcbiIsCisJCQlXSVJFRF9WRVJJRllfUkVDRUlWRVJfQ0VS VCwKKwkJCXZlcmlmeV9yeGNlcnRfb3V0LmhlYWRlci5zdGF0dXMpOworCQlyZXR1cm4gLUVJTzsK Kwl9CisKKwkqa21fc3RvcmVkID0gdmVyaWZ5X3J4Y2VydF9vdXQua21fc3RvcmVkOworCWlmICh2 ZXJpZnlfcnhjZXJ0X291dC5rbV9zdG9yZWQpIHsKKwkJZWtfcHViX2ttLT5tc2dfaWQgPSBIRENQ XzJfMl9BS0VfU1RPUkVEX0tNOworCQkqbXNnX3N6ID0gc2l6ZW9mKHN0cnVjdCBoZGNwMl9ha2Vf c3RvcmVkX2ttKTsKKwl9IGVsc2UgeworCQlla19wdWJfa20tPm1zZ19pZCA9IEhEQ1BfMl8yX0FL RV9OT19TVE9SRURfS007CisJCSptc2dfc3ogPSBzaXplb2Yoc3RydWN0IGhkY3AyX2FrZV9ub19z dG9yZWRfa20pOworCX0KKworCW1lbWNweShla19wdWJfa20tPmVfa3B1Yl9rbSwgJnZlcmlmeV9y eGNlcnRfb3V0LmVrbV9idWZmLAorCSAgICAgICBzaXplb2YodmVyaWZ5X3J4Y2VydF9vdXQuZWtt X2J1ZmYpKTsKKworCXJldHVybiAwOworfQorCiBzdHJ1Y3QgaTkxNV9oZGNwX2NvbXBvbmVudF9v cHMgbWVpX2hkY3BfY29tcG9uZW50X29wcyA9IHsKIAkub3duZXIJCQkJCT0gVEhJU19NT0RVTEUs CiAJLmluaXRpYXRlX2hkY3AyX3Nlc3Npb24JCQk9IG1laV9pbml0aWF0ZV9oZGNwMl9zZXNzaW9u LAotCS52ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVwYXJlX2ttCT0gTlVMTCwKKwkudmVyaWZ5X3Jl Y2VpdmVyX2NlcnRfcHJlcGFyZV9rbQk9CisJCQkJCW1laV92ZXJpZnlfcmVjZWl2ZXJfY2VydF9w cmVwYXJlX2ttLAogCS52ZXJpZnlfaHByaW1lCQkJCT0gTlVMTCwKIAkuc3RvcmVfcGFpcmluZ19p bmZvCQkJPSBOVUxMLAogCS5pbml0aWF0ZV9sb2NhbGl0eV9jaGVjawkJPSBOVUxMLAotLSAKMi43 LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=