From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v12 25/38] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Sat, 9 Feb 2019 12:42:54 +0530 Message-ID: <1549696387-28268-26-git-send-email-ramalingam.c@intel.com> References: <1549696387-28268-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: <1549696387-28268-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 IEZpeGVkIHRoZSBjb252ZXJzaW9uIG9mIHU4IHRvIGJvb2wgW1RvbWFzXQoKU2lnbmVkLW9mZi1i eTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVW1h IFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KQWNrZWQtYnk6IFRvbWFzIFdpbmtsZXIg PHRvbWFzLndpbmtsZXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlf aGRjcC5jIHwgODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBm aWxlIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYyBiL2RyaXZlcnMvbWlzYy9tZWkvaGRj cC9tZWlfaGRjcC5jCmluZGV4IDU2ZDNhYzFlNjgzMS4uYTY3YTU5OWIzMWYxIDEwMDY0NAotLS0g YS9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYworKysgYi9kcml2ZXJzL21pc2MvbWVp L2hkY3AvbWVpX2hkY3AuYwpAQCAtOTcsMTEgKzk3LDkyIEBAIG1laV9oZGNwX2luaXRpYXRlX3Nl c3Npb24oc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgaGRjcF9wb3J0X2RhdGEgKmRhdGEsCiAJ cmV0dXJuIDA7CiB9CiAKKy8qKgorICogbWVpX2hkY3BfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJl cGFyZV9rbSgpIC0gVmVyaWZ5IHRoZSBSZWNlaXZlciBDZXJ0aWZpY2F0ZQorICogQUtFX1NlbmRf Q2VydCBhbmQgcHJlcGFyZSBBS0VfU3RvcmVkX0ttL0FLRV9Ob19TdG9yZWRfS20KKyAqIEBkZXY6 IGRldmljZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBtZWlfY2xfZGV2aWNlCisgKiBAaGRjcF9kYXRh OiBJbnRlbCBIVyBzcGVjaWZpYyBoZGNwIGRhdGEKKyAqIEByeF9jZXJ0OiBBS0VfU2VuZF9DZXJ0 IGZvciB2ZXJpZmljYXRpb24KKyAqIEBrbV9zdG9yZWQ6IFBhaXJpbmcgc3RhdHVzIGZsYWcgb3V0 cHV0CisgKiBAZWtfcHViX2ttOiBBS0VfU3RvcmVkX0ttL0FLRV9Ob19TdG9yZWRfS20gb3V0cHV0 IG1zZworICogQG1zZ19zeiA6IHNpemUgb2YgQUtFX1hYWFhYX0ttIG91dHB1dCBtc2cKKyAqCisg KiBSZXR1cm46IDAgb24gU3VjY2VzcywgPDAgb24gRmFpbHVyZQorICovCitzdGF0aWMgaW50Citt ZWlfaGRjcF92ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVwYXJlX2ttKHN0cnVjdCBkZXZpY2UgKmRl diwKKwkJCQkJIHN0cnVjdCBoZGNwX3BvcnRfZGF0YSAqZGF0YSwKKwkJCQkJIHN0cnVjdCBoZGNw Ml9ha2Vfc2VuZF9jZXJ0ICpyeF9jZXJ0LAorCQkJCQkgYm9vbCAqa21fc3RvcmVkLAorCQkJCQkg c3RydWN0IGhkY3AyX2FrZV9ub19zdG9yZWRfa20KKwkJCQkJCQkJKmVrX3B1Yl9rbSwKKwkJCQkJ IHNpemVfdCAqbXNnX3N6KQoreworCXN0cnVjdCB3aXJlZF9jbWRfdmVyaWZ5X3JlY2VpdmVyX2Nl cnRfaW4gdmVyaWZ5X3J4Y2VydF9pbiA9IHsgeyAwIH0gfTsKKwlzdHJ1Y3Qgd2lyZWRfY21kX3Zl cmlmeV9yZWNlaXZlcl9jZXJ0X291dCB2ZXJpZnlfcnhjZXJ0X291dCA9IHsgeyAwIH0gfTsKKwlz dHJ1Y3QgbWVpX2NsX2RldmljZSAqY2xkZXY7CisJc3NpemVfdCBieXRlOworCisJaWYgKCFkZXYg fHwgIWRhdGEgfHwgIXJ4X2NlcnQgfHwgIWttX3N0b3JlZCB8fCAhZWtfcHViX2ttIHx8ICFtc2df c3opCisJCXJldHVybiAtRUlOVkFMOworCisJY2xkZXYgPSB0b19tZWlfY2xfZGV2aWNlKGRldik7 CisKKwl2ZXJpZnlfcnhjZXJ0X2luLmhlYWRlci5hcGlfdmVyc2lvbiA9IEhEQ1BfQVBJX1ZFUlNJ T047CisJdmVyaWZ5X3J4Y2VydF9pbi5oZWFkZXIuY29tbWFuZF9pZCA9IFdJUkVEX1ZFUklGWV9S RUNFSVZFUl9DRVJUOworCXZlcmlmeV9yeGNlcnRfaW4uaGVhZGVyLnN0YXR1cyA9IE1FX0hEQ1Bf U1RBVFVTX1NVQ0NFU1M7CisJdmVyaWZ5X3J4Y2VydF9pbi5oZWFkZXIuYnVmZmVyX2xlbiA9CisJ CQkJV0lSRURfQ01EX0JVRl9MRU5fVkVSSUZZX1JFQ0VJVkVSX0NFUlRfSU47CisKKwl2ZXJpZnlf cnhjZXJ0X2luLnBvcnQuaW50ZWdyYXRlZF9wb3J0X3R5cGUgPSBkYXRhLT5wb3J0X3R5cGU7CisJ dmVyaWZ5X3J4Y2VydF9pbi5wb3J0LnBoeXNpY2FsX3BvcnQgPSBtZWlfZ2V0X2RkaV9pbmRleChk YXRhLT5wb3J0KTsKKworCXZlcmlmeV9yeGNlcnRfaW4uY2VydF9yeCA9IHJ4X2NlcnQtPmNlcnRf cng7CisJbWVtY3B5KHZlcmlmeV9yeGNlcnRfaW4ucl9yeCwgJnJ4X2NlcnQtPnJfcngsIEhEQ1Bf Ml8yX1JSWF9MRU4pOworCW1lbWNweSh2ZXJpZnlfcnhjZXJ0X2luLnJ4X2NhcHMsIHJ4X2NlcnQt PnJ4X2NhcHMsIEhEQ1BfMl8yX1JYQ0FQU19MRU4pOworCisJYnl0ZSA9IG1laV9jbGRldl9zZW5k KGNsZGV2LCAodTggKikmdmVyaWZ5X3J4Y2VydF9pbiwKKwkJCSAgICAgIHNpemVvZih2ZXJpZnlf cnhjZXJ0X2luKSk7CisJaWYgKGJ5dGUgPCAwKSB7CisJCWRldl9kYmcoZGV2LCAibWVpX2NsZGV2 X3NlbmQgZmFpbGVkOiAlemRcbiIsIGJ5dGUpOworCQlyZXR1cm4gYnl0ZTsKKwl9CisKKwlieXRl ID0gbWVpX2NsZGV2X3JlY3YoY2xkZXYsICh1OCAqKSZ2ZXJpZnlfcnhjZXJ0X291dCwKKwkJCSAg ICAgIHNpemVvZih2ZXJpZnlfcnhjZXJ0X291dCkpOworCWlmIChieXRlIDwgMCkgeworCQlkZXZf ZGJnKGRldiwgIm1laV9jbGRldl9yZWN2IGZhaWxlZDogJXpkXG4iLCBieXRlKTsKKwkJcmV0dXJu IGJ5dGU7CisJfQorCisJaWYgKHZlcmlmeV9yeGNlcnRfb3V0LmhlYWRlci5zdGF0dXMgIT0gTUVf SERDUF9TVEFUVVNfU1VDQ0VTUykgeworCQlkZXZfZGJnKGRldiwgIk1FIGNtZCAweCUwOFggRmFp bGVkLiBTdGF0dXM6IDB4JVhcbiIsCisJCQlXSVJFRF9WRVJJRllfUkVDRUlWRVJfQ0VSVCwKKwkJ CXZlcmlmeV9yeGNlcnRfb3V0LmhlYWRlci5zdGF0dXMpOworCQlyZXR1cm4gLUVJTzsKKwl9CisK Kwkqa21fc3RvcmVkID0gISF2ZXJpZnlfcnhjZXJ0X291dC5rbV9zdG9yZWQ7CisJaWYgKHZlcmlm eV9yeGNlcnRfb3V0LmttX3N0b3JlZCkgeworCQlla19wdWJfa20tPm1zZ19pZCA9IEhEQ1BfMl8y X0FLRV9TVE9SRURfS007CisJCSptc2dfc3ogPSBzaXplb2Yoc3RydWN0IGhkY3AyX2FrZV9zdG9y ZWRfa20pOworCX0gZWxzZSB7CisJCWVrX3B1Yl9rbS0+bXNnX2lkID0gSERDUF8yXzJfQUtFX05P X1NUT1JFRF9LTTsKKwkJKm1zZ19zeiA9IHNpemVvZihzdHJ1Y3QgaGRjcDJfYWtlX25vX3N0b3Jl ZF9rbSk7CisJfQorCisJbWVtY3B5KGVrX3B1Yl9rbS0+ZV9rcHViX2ttLCAmdmVyaWZ5X3J4Y2Vy dF9vdXQuZWttX2J1ZmYsCisJICAgICAgIHNpemVvZih2ZXJpZnlfcnhjZXJ0X291dC5la21fYnVm ZikpOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKQog c3RydWN0IGk5MTVfaGRjcF9jb21wb25lbnRfb3BzIG1laV9oZGNwX29wcyA9IHsKIAkub3duZXIg PSBUSElTX01PRFVMRSwKIAkuaW5pdGlhdGVfaGRjcDJfc2Vzc2lvbiA9IG1laV9oZGNwX2luaXRp YXRlX3Nlc3Npb24sCi0JLnZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20gPSBOVUxMLAor CS52ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVwYXJlX2ttID0KKwkJCQltZWlfaGRjcF92ZXJpZnlf cmVjZWl2ZXJfY2VydF9wcmVwYXJlX2ttLAogCS52ZXJpZnlfaHByaW1lID0gTlVMTCwKIAkuc3Rv cmVfcGFpcmluZ19pbmZvID0gTlVMTCwKIAkuaW5pdGlhdGVfbG9jYWxpdHlfY2hlY2sgPSBOVUxM LAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=