From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v15 05/16] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Thu, 21 Feb 2019 23:41:59 +0530 Message-ID: <1550772730-23280-6-git-send-email-ramalingam.c@intel.com> References: <1550772730-23280-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: <1550772730-23280-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: dri-devel@lists.freedesktop.org UmVxdWVzdHMgZm9yIHZlcmlmaWNhdGlvbiBmb3IgcmVjZWl2ZXIgY2VydGlmaWNhdGlvbiBhbmQg YWxzbyB0aGUKcHJlcGFyYXRpb24gZm9yIG5leHQgQUtFIGF1dGggbWVzc2FnZSB3aXRoIGttLgoK T24gU3VjY2VzcyBNRSBGVyB2YWxpZGF0ZSB0aGUgSERDUDIuMiByZWNlaXZlcnMgY2VydGlmaWNh dGUgYW5kIGRvIHRoZQpyZXZvY2F0aW9uIGNoZWNrIG9uIHRoZSByZWNlaXZlciBJRC4gQUtFX1N0 b3JlZF9LbSB3aWxsIGJlIHByZXBhcmVkIGlmCnRoZSByZWNlaXZlciBpcyBhbHJlYWR5IHBhaXJl ZCwgZWxzZSBBS0VfTm9fU3RvcmVkX0ttIHdpbGwgYmUgcHJlcGFyZWQuCgpIZXJlIEFLRV9TdG9y ZWRfS20gYW5kIEFLRV9Ob19TdG9yZWRfS20gYXJlIEhEQ1AyLjIgcHJvdG9jb2wgbXNncy4KCnYy OiBSZWJhc2VkLgp2MzoKICBjbGRldiBpcyBwYXNzZWQgYXMgZmlyc3QgcGFyYW1ldGVyIFtUb21h c10KICBSZWR1bmRhbnQgY29tbWVudHMgYW5kIGNhc3QgYXJlIHJlbW92ZWQgW1RvbWFzXQp2NDoK ICAlemQgaXMgdXNlZCBmb3Igc3NpemVfdCBbQWxleGFuZGVyXQogICVzL3JldHVybiAtMS9yZXR1 cm4gLUVJTyBbQWxleGFuZGVyXQp2NTogUmViYXNlZC4KdjY6CiAgQ29sbGVjdGVkIHRoZSBSYi1l ZCBieS4KICBSZWJhc2luZy4Kdjc6CiAgQWRqdXN0IHRvIHRoZSBuZXcgbWVpIGludGVyZmFjZS4K ICBGaXggZm9yIEtkb2MuCnY4OgogIEstRG9jIEFkZGl0aW9uLiBbVG9tYXNdCiAgbWVtY3B5IGZv ciBjb25zdCBsZW5ndGguCnY5OgogIHJlbmFtZWQgZnVuYyBhcyBtZWlfaGRjcF8qIFtUb21hc10K ICBJbmxpbmUgZnVuY3Rpb24gaXMgZGVmaW5lZCBmb3IgRERJIGluZGV4IFtUb21hc10KdjEwOgog IEZpeGVkIHRoZSBjb252ZXJzaW9uIG9mIHU4IHRvIGJvb2wgW1RvbWFzXQogIEstRG9jIGZpeCBb VG9tYXNdCnYxMToKICBSZWJhc2VkLgoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1h bGluZ2FtLmNAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2Fy QGludGVsLmNvbT4KQWNrZWQtYnk6IFRvbWFzIFdpbmtsZXIgPHRvbWFzLndpbmtsZXJAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jIHwgODMgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDgyIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvbWVpL2hk Y3AvbWVpX2hkY3AuYyBiL2RyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jCmluZGV4IGUy NTg3ZjhlOGI5NC4uZmMyYTVjZThiMTU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvbWVpL2hk Y3AvbWVpX2hkY3AuYworKysgYi9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYwpAQCAt MTAyLDExICsxMDIsOTIgQEAgbWVpX2hkY3BfaW5pdGlhdGVfc2Vzc2lvbihzdHJ1Y3QgZGV2aWNl ICpkZXYsIHN0cnVjdCBoZGNwX3BvcnRfZGF0YSAqZGF0YSwKIAlyZXR1cm4gMDsKIH0KIAorLyoq CisgKiBtZWlfaGRjcF92ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVwYXJlX2ttKCkgLSBWZXJpZnkg dGhlIFJlY2VpdmVyIENlcnRpZmljYXRlCisgKiBBS0VfU2VuZF9DZXJ0IGFuZCBwcmVwYXJlIEFL RV9TdG9yZWRfS20vQUtFX05vX1N0b3JlZF9LbQorICogQGRldjogZGV2aWNlIGNvcnJlc3BvbmRp bmcgdG8gdGhlIG1laV9jbF9kZXZpY2UKKyAqIEBkYXRhOiBJbnRlbCBIVyBzcGVjaWZpYyBoZGNw IGRhdGEKKyAqIEByeF9jZXJ0OiBBS0VfU2VuZF9DZXJ0IGZvciB2ZXJpZmljYXRpb24KKyAqIEBr bV9zdG9yZWQ6IFBhaXJpbmcgc3RhdHVzIGZsYWcgb3V0cHV0CisgKiBAZWtfcHViX2ttOiBBS0Vf U3RvcmVkX0ttL0FLRV9Ob19TdG9yZWRfS20gb3V0cHV0IG1zZworICogQG1zZ19zeiA6IHNpemUg b2YgQUtFX1hYWFhYX0ttIG91dHB1dCBtc2cKKyAqCisgKiBSZXR1cm46IDAgb24gU3VjY2Vzcywg PDAgb24gRmFpbHVyZQorICovCitzdGF0aWMgaW50CittZWlfaGRjcF92ZXJpZnlfcmVjZWl2ZXJf Y2VydF9wcmVwYXJlX2ttKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkJIHN0cnVjdCBoZGNwX3Bv cnRfZGF0YSAqZGF0YSwKKwkJCQkJIHN0cnVjdCBoZGNwMl9ha2Vfc2VuZF9jZXJ0ICpyeF9jZXJ0 LAorCQkJCQkgYm9vbCAqa21fc3RvcmVkLAorCQkJCQkgc3RydWN0IGhkY3AyX2FrZV9ub19zdG9y ZWRfa20KKwkJCQkJCQkJKmVrX3B1Yl9rbSwKKwkJCQkJIHNpemVfdCAqbXNnX3N6KQoreworCXN0 cnVjdCB3aXJlZF9jbWRfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfaW4gdmVyaWZ5X3J4Y2VydF9pbiA9 IHsgeyAwIH0gfTsKKwlzdHJ1Y3Qgd2lyZWRfY21kX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X291dCB2 ZXJpZnlfcnhjZXJ0X291dCA9IHsgeyAwIH0gfTsKKwlzdHJ1Y3QgbWVpX2NsX2RldmljZSAqY2xk ZXY7CisJc3NpemVfdCBieXRlOworCisJaWYgKCFkZXYgfHwgIWRhdGEgfHwgIXJ4X2NlcnQgfHwg IWttX3N0b3JlZCB8fCAhZWtfcHViX2ttIHx8ICFtc2dfc3opCisJCXJldHVybiAtRUlOVkFMOwor CisJY2xkZXYgPSB0b19tZWlfY2xfZGV2aWNlKGRldik7CisKKwl2ZXJpZnlfcnhjZXJ0X2luLmhl YWRlci5hcGlfdmVyc2lvbiA9IEhEQ1BfQVBJX1ZFUlNJT047CisJdmVyaWZ5X3J4Y2VydF9pbi5o ZWFkZXIuY29tbWFuZF9pZCA9IFdJUkVEX1ZFUklGWV9SRUNFSVZFUl9DRVJUOworCXZlcmlmeV9y eGNlcnRfaW4uaGVhZGVyLnN0YXR1cyA9IE1FX0hEQ1BfU1RBVFVTX1NVQ0NFU1M7CisJdmVyaWZ5 X3J4Y2VydF9pbi5oZWFkZXIuYnVmZmVyX2xlbiA9CisJCQkJV0lSRURfQ01EX0JVRl9MRU5fVkVS SUZZX1JFQ0VJVkVSX0NFUlRfSU47CisKKwl2ZXJpZnlfcnhjZXJ0X2luLnBvcnQuaW50ZWdyYXRl ZF9wb3J0X3R5cGUgPSBkYXRhLT5wb3J0X3R5cGU7CisJdmVyaWZ5X3J4Y2VydF9pbi5wb3J0LnBo eXNpY2FsX3BvcnQgPSBtZWlfZ2V0X2RkaV9pbmRleChkYXRhLT5wb3J0KTsKKworCXZlcmlmeV9y eGNlcnRfaW4uY2VydF9yeCA9IHJ4X2NlcnQtPmNlcnRfcng7CisJbWVtY3B5KHZlcmlmeV9yeGNl cnRfaW4ucl9yeCwgJnJ4X2NlcnQtPnJfcngsIEhEQ1BfMl8yX1JSWF9MRU4pOworCW1lbWNweSh2 ZXJpZnlfcnhjZXJ0X2luLnJ4X2NhcHMsIHJ4X2NlcnQtPnJ4X2NhcHMsIEhEQ1BfMl8yX1JYQ0FQ U19MRU4pOworCisJYnl0ZSA9IG1laV9jbGRldl9zZW5kKGNsZGV2LCAodTggKikmdmVyaWZ5X3J4 Y2VydF9pbiwKKwkJCSAgICAgIHNpemVvZih2ZXJpZnlfcnhjZXJ0X2luKSk7CisJaWYgKGJ5dGUg PCAwKSB7CisJCWRldl9kYmcoZGV2LCAibWVpX2NsZGV2X3NlbmQgZmFpbGVkOiAlemRcbiIsIGJ5 dGUpOworCQlyZXR1cm4gYnl0ZTsKKwl9CisKKwlieXRlID0gbWVpX2NsZGV2X3JlY3YoY2xkZXYs ICh1OCAqKSZ2ZXJpZnlfcnhjZXJ0X291dCwKKwkJCSAgICAgIHNpemVvZih2ZXJpZnlfcnhjZXJ0 X291dCkpOworCWlmIChieXRlIDwgMCkgeworCQlkZXZfZGJnKGRldiwgIm1laV9jbGRldl9yZWN2 IGZhaWxlZDogJXpkXG4iLCBieXRlKTsKKwkJcmV0dXJuIGJ5dGU7CisJfQorCisJaWYgKHZlcmlm eV9yeGNlcnRfb3V0LmhlYWRlci5zdGF0dXMgIT0gTUVfSERDUF9TVEFUVVNfU1VDQ0VTUykgewor CQlkZXZfZGJnKGRldiwgIk1FIGNtZCAweCUwOFggRmFpbGVkLiBTdGF0dXM6IDB4JVhcbiIsCisJ CQlXSVJFRF9WRVJJRllfUkVDRUlWRVJfQ0VSVCwKKwkJCXZlcmlmeV9yeGNlcnRfb3V0LmhlYWRl ci5zdGF0dXMpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwkqa21fc3RvcmVkID0gISF2ZXJpZnlf cnhjZXJ0X291dC5rbV9zdG9yZWQ7CisJaWYgKHZlcmlmeV9yeGNlcnRfb3V0LmttX3N0b3JlZCkg eworCQlla19wdWJfa20tPm1zZ19pZCA9IEhEQ1BfMl8yX0FLRV9TVE9SRURfS007CisJCSptc2df c3ogPSBzaXplb2Yoc3RydWN0IGhkY3AyX2FrZV9zdG9yZWRfa20pOworCX0gZWxzZSB7CisJCWVr X3B1Yl9rbS0+bXNnX2lkID0gSERDUF8yXzJfQUtFX05PX1NUT1JFRF9LTTsKKwkJKm1zZ19zeiA9 IHNpemVvZihzdHJ1Y3QgaGRjcDJfYWtlX25vX3N0b3JlZF9rbSk7CisJfQorCisJbWVtY3B5KGVr X3B1Yl9rbS0+ZV9rcHViX2ttLCAmdmVyaWZ5X3J4Y2VydF9vdXQuZWttX2J1ZmYsCisJICAgICAg IHNpemVvZih2ZXJpZnlfcnhjZXJ0X291dC5la21fYnVmZikpOworCisJcmV0dXJuIDA7Cit9CisK IHN0YXRpYyBjb25zdCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKQogc3RydWN0IGk5MTVfaGRjcF9j b21wb25lbnRfb3BzIG1laV9oZGNwX29wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAku aW5pdGlhdGVfaGRjcDJfc2Vzc2lvbiA9IG1laV9oZGNwX2luaXRpYXRlX3Nlc3Npb24sCi0JLnZl cmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20gPSBOVUxMLAorCS52ZXJpZnlfcmVjZWl2ZXJf Y2VydF9wcmVwYXJlX2ttID0KKwkJCQltZWlfaGRjcF92ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVw YXJlX2ttLAogCS52ZXJpZnlfaHByaW1lID0gTlVMTCwKIAkuc3RvcmVfcGFpcmluZ19pbmZvID0g TlVMTCwKIAkuaW5pdGlhdGVfbG9jYWxpdHlfY2hlY2sgPSBOVUxMLAotLSAKMi43LjQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==