From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v3 09/40] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Tue, 3 Apr 2018 19:27:22 +0530 Message-ID: <1522763873-23041-10-git-send-email-ramalingam.c@intel.com> References: <1522763873-23041-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: <1522763873-23041-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@ffwll.ch, chris@chris-wilson.co.uk, jani.nikula@linux.intel.com, tomas.winkler@intel.com, alexander.usyskin@intel.com Cc: rodrigo.vivi@intel.com List-Id: dri-devel@lists.freedesktop.org UmVxdWVzdHMgZm9yIHZlcmlmaWNhdGlvbiBmb3IgcmVjZWl2ZXIgY2VydGlmaWNhdGlvbiBhbmQg YWxzbyB0aGUKcHJlcGFyYXRpb24gZm9yIG5leHQgQUtFIGF1dGggbWVzc2FnZSB3aXRoIGttLgoK T24gU3VjY2VzcyBNRSBGVyB2YWxpZGF0ZSB0aGUgSERDUDIuMiByZWNlaXZlcnMgY2VydGlmaWNh dGUgYW5kIGRvIHRoZQpyZXZvY2F0aW9uIGNoZWNrIG9uIHRoZSByZWNlaXZlciBJRC4gQUtFX1N0 b3JlZF9LbSB3aWxsIGJlIHByZXBhcmVkIGlmCnRoZSByZWNlaXZlciBpcyBhbHJlYWR5IHBhaXJl ZCwgZWxzZSBBS0VfTm9fU3RvcmVkX0ttIHdpbGwgYmUgcHJlcGFyZWQuCgpIZXJlIEFLRV9TdG9y ZWRfS20gYW5kIEFLRV9Ob19TdG9yZWRfS20gYXJlIEhEQ1AyLjIgcHJvdG9jb2wgbXNncy4KCnYy OgogIFJlYmFzZWQuCnYzOgogIGNsZGV2IGlzIHBhc3NlZCBhcyBmaXJzdCBwYXJhbWV0ZXIgW1Rv bWFzXQogIFJlZHVuZGFudCBjb21tZW50cyBhbmQgY2FzdCBhcmUgcmVtb3ZlZCBbVG9tYXNdCgpT aWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNwLmMgfCA4MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L21laV9oZGNwLmggICAgICAgICB8 IDE3ICsrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNwLmMgYi9kcml2ZXJzL21pc2MvbWVp L2hkY3AvbWVpX2hkY3AuYwppbmRleCA3Y2FlZTA5NDc3NjEuLjE4MTk5NDUyOTA1OCAxMDA2NDQK LS0tIGEvZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNwLmMKKysrIGIvZHJpdmVycy9taXNj L21laS9oZGNwL21laV9oZGNwLmMKQEAgLTEwNCw2ICsxMDQsODggQEAgaW50IG1laV9pbml0aWF0 ZV9oZGNwMl9zZXNzaW9uKHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldiwKIH0KIEVYUE9SVF9T WU1CT0wobWVpX2luaXRpYXRlX2hkY3AyX3Nlc3Npb24pOwogCisvKioKKyAqIG1laV92ZXJpZnlf cmVjZWl2ZXJfY2VydF9wcmVwYXJlX2ttOgorICoJRnVuY3Rpb24gdG8gdmVyaWZ5IHRoZSBSZWNl aXZlciBDZXJ0aWZpY2F0ZSBBS0VfU2VuZF9DZXJ0CisgKglhbmQgcHJlcGFyZSBBS0VfU3RvcmVk X0ttIG9yIEFLRV9Ob19TdG9yZWRfS20KKyAqCisgKiBAY2xkZXYJCTogUG9pbnRlciBmb3IgbWVp IGNsaWVudCBkZXZpY2UKKyAqIEBkYXRhCQk6IEludGVsIEhXIHNwZWNpZmljIERhdGEKKyAqIEBy eF9jZXJ0CQk6IFBvaW50ZXIgZm9yIEFLRV9TZW5kX0NlcnQKKyAqIEBrbV9zdG9yZWQJCTogUG9p bnRlciBmb3IgcGFpcmluZyBzdGF0dXMgZmxhZworICogQGVrX3B1Yl9rbQkJOiBQb2ludGVyIGZv ciBvdXRwdXQgbXNnCisgKiBAbXNnX3N6CQk6IFBvaW50ZXIgZm9yIHNpemUgb2YgQUtFX1hYWFhY X0ttCisgKgorICogUmV0dXJucyAwIG9uIFN1Y2Nlc3MsIDwwIG9uIEZhaWx1cmUKKyAqLworaW50 CittZWlfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJlcGFyZV9rbShzdHJ1Y3QgbWVpX2NsX2Rldmlj ZSAqY2xkZXYsCisJCQkJICAgIHN0cnVjdCBtZWlfaGRjcF9kYXRhICpkYXRhLAorCQkJCSAgICBz dHJ1Y3QgaGRjcDJfYWtlX3NlbmRfY2VydCAqcnhfY2VydCwKKwkJCQkgICAgYm9vbCAqa21fc3Rv cmVkLAorCQkJCSAgICBzdHJ1Y3QgaGRjcDJfYWtlX25vX3N0b3JlZF9rbSAqZWtfcHViX2ttLAor CQkJCSAgICBzaXplX3QgKm1zZ19zeikKK3sKKwlzdHJ1Y3Qgd2lyZWRfY21kX3ZlcmlmeV9yZWNl aXZlcl9jZXJ0X2luIHZlcmlmeV9yeGNlcnRfaW4gPSB7IHsgMCB9IH07CisJc3RydWN0IHdpcmVk X2NtZF92ZXJpZnlfcmVjZWl2ZXJfY2VydF9vdXQgdmVyaWZ5X3J4Y2VydF9vdXQgPSB7IHsgMCB9 IH07CisJc3RydWN0IGRldmljZSAqZGV2OworCXNzaXplX3QgYnl0ZTsKKworCWlmICghZGF0YSB8 fCAhcnhfY2VydCB8fCAha21fc3RvcmVkIHx8ICFla19wdWJfa20gfHwgIW1zZ19zeikKKwkJcmV0 dXJuIC1FSU5WQUw7CisKKwlkZXYgPSAmY2xkZXYtPmRldjsKKworCXZlcmlmeV9yeGNlcnRfaW4u aGVhZGVyLmFwaV92ZXJzaW9uID0gSERDUF9BUElfVkVSU0lPTjsKKwl2ZXJpZnlfcnhjZXJ0X2lu LmhlYWRlci5jb21tYW5kX2lkID0gV0lSRURfVkVSSUZZX1JFQ0VJVkVSX0NFUlQ7CisJdmVyaWZ5 X3J4Y2VydF9pbi5oZWFkZXIuc3RhdHVzID0gTUVfSERDUF9TVEFUVVNfU1VDQ0VTUzsKKwl2ZXJp ZnlfcnhjZXJ0X2luLmhlYWRlci5idWZmZXJfbGVuID0KKwkJCQlXSVJFRF9DTURfQlVGX0xFTl9W RVJJRllfUkVDRUlWRVJfQ0VSVF9JTjsKKworCXZlcmlmeV9yeGNlcnRfaW4ucG9ydC5pbnRlZ3Jh dGVkX3BvcnRfdHlwZSA9IGRhdGEtPnBvcnRfdHlwZTsKKwl2ZXJpZnlfcnhjZXJ0X2luLnBvcnQu cGh5c2ljYWxfcG9ydCA9IGRhdGEtPnBvcnQ7CisKKwltZW1jcHkoJnZlcmlmeV9yeGNlcnRfaW4u Y2VydF9yeCwgJnJ4X2NlcnQtPmNlcnRfcngsCisJICAgICAgIHNpemVvZihyeF9jZXJ0LT5jZXJ0 X3J4KSk7CisJbWVtY3B5KHZlcmlmeV9yeGNlcnRfaW4ucl9yeCwgJnJ4X2NlcnQtPnJfcngsIHNp emVvZihyeF9jZXJ0LT5yX3J4KSk7CisJbWVtY3B5KHZlcmlmeV9yeGNlcnRfaW4ucnhfY2Fwcywg cnhfY2VydC0+cnhfY2FwcywgSERDUF8yXzJfUlhDQVBTX0xFTik7CisKKwlieXRlID0gbWVpX2Ns ZGV2X3NlbmQoY2xkZXYsICh1OCAqKSZ2ZXJpZnlfcnhjZXJ0X2luLAorCQkJICAgICAgc2l6ZW9m KHZlcmlmeV9yeGNlcnRfaW4pKTsKKwlpZiAoYnl0ZSA8IDApIHsKKwkJZGV2X2RiZyhkZXYsICJt ZWlfY2xkZXZfc2VuZCBmYWlsZWQ6ICVkXG4iLCAoaW50KWJ5dGUpOworCQlyZXR1cm4gYnl0ZTsK Kwl9CisKKwlieXRlID0gbWVpX2NsZGV2X3JlY3YoY2xkZXYsICh1OCAqKSZ2ZXJpZnlfcnhjZXJ0 X291dCwKKwkJCSAgICAgIHNpemVvZih2ZXJpZnlfcnhjZXJ0X291dCkpOworCWlmIChieXRlIDwg MCkgeworCQlkZXZfZGJnKGRldiwgIm1laV9jbGRldl9yZWN2IGZhaWxlZDogJWRcbiIsIChpbnQp Ynl0ZSk7CisJCXJldHVybiBieXRlOworCX0KKworCWlmICh2ZXJpZnlfcnhjZXJ0X291dC5oZWFk ZXIuc3RhdHVzICE9IE1FX0hEQ1BfU1RBVFVTX1NVQ0NFU1MpIHsKKwkJZGV2X2RiZyhkZXYsICJN RSBjbWQgMHglMDhYIEZhaWxlZC4gU3RhdHVzOiAweCVYXG4iLAorCQkJV0lSRURfVkVSSUZZX1JF Q0VJVkVSX0NFUlQsCisJCQl2ZXJpZnlfcnhjZXJ0X291dC5oZWFkZXIuc3RhdHVzKTsKKwkJcmV0 dXJuIC0xOworCX0KKworCSprbV9zdG9yZWQgPSB2ZXJpZnlfcnhjZXJ0X291dC5rbV9zdG9yZWQ7 CisJaWYgKHZlcmlmeV9yeGNlcnRfb3V0LmttX3N0b3JlZCkgeworCQlla19wdWJfa20tPm1zZ19p ZCA9IEhEQ1BfMl8yX0FLRV9TVE9SRURfS007CisJCSptc2dfc3ogPSBzaXplb2Yoc3RydWN0IGhk Y3AyX2FrZV9zdG9yZWRfa20pOworCX0gZWxzZSB7CisJCWVrX3B1Yl9rbS0+bXNnX2lkID0gSERD UF8yXzJfQUtFX05PX1NUT1JFRF9LTTsKKwkJKm1zZ19zeiA9IHNpemVvZihzdHJ1Y3QgaGRjcDJf YWtlX25vX3N0b3JlZF9rbSk7CisJfQorCisJbWVtY3B5KGVrX3B1Yl9rbS0+ZV9rcHViX2ttLCAm dmVyaWZ5X3J4Y2VydF9vdXQuZWttX2J1ZmYsCisJICAgICAgIHNpemVvZih2ZXJpZnlfcnhjZXJ0 X291dC5la21fYnVmZikpOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChtZWlfdmVyaWZ5 X3JlY2VpdmVyX2NlcnRfcHJlcGFyZV9rbSk7CisKIHZvaWQgbWVpX2NsZGV2X3N0YXRlX25vdGlm eV9jbGllbnRzKHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldiwgYm9vbCBlbmFibGVkKQogewog CWlmIChlbmFibGVkKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tZWlfaGRjcC5oIGIvaW5j bHVkZS9saW51eC9tZWlfaGRjcC5oCmluZGV4IGJiNGYyN2QzYWJjYi4uMzE0YjE1ZjZhZmMwIDEw MDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21laV9oZGNwLmgKKysrIGIvaW5jbHVkZS9saW51eC9t ZWlfaGRjcC5oCkBAIC0xMDksNiArMTA5LDEzIEBAIGludCBtZWlfY2xkZXZfdW5yZWdpc3Rlcl9u b3RpZnkoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYik7CiBpbnQgbWVpX2luaXRpYXRlX2hkY3Ay X3Nlc3Npb24oc3RydWN0IG1laV9jbF9kZXZpY2UgKmNsZGV2LAogCQkJICAgICAgIHN0cnVjdCBt ZWlfaGRjcF9kYXRhICpkYXRhLAogCQkJICAgICAgIHN0cnVjdCBoZGNwMl9ha2VfaW5pdCAqYWtl X2RhdGEpOworaW50CittZWlfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJlcGFyZV9rbShzdHJ1Y3Qg bWVpX2NsX2RldmljZSAqY2xkZXYsCisJCQkJICAgIHN0cnVjdCBtZWlfaGRjcF9kYXRhICpkYXRh LAorCQkJCSAgICBzdHJ1Y3QgaGRjcDJfYWtlX3NlbmRfY2VydCAqcnhfY2VydCwKKwkJCQkgICAg Ym9vbCAqa21fc3RvcmVkLAorCQkJCSAgICBzdHJ1Y3QgaGRjcDJfYWtlX25vX3N0b3JlZF9rbSAq ZWtfcHViX2ttLAorCQkJCSAgICBzaXplX3QgKm1zZ19zeik7CiAjZWxzZQogc3RhdGljIGludCBt ZWlfY2xkZXZfcmVnaXN0ZXJfbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpCiB7CkBA IC0xMjUsNSArMTMyLDE1IEBAIGludCBtZWlfaW5pdGlhdGVfaGRjcDJfc2Vzc2lvbihzdHJ1Y3Qg bWVpX2NsX2RldmljZSAqY2xkZXYsCiB7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CitzdGF0aWMgaW5s aW5lIGludAorbWVpX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20oc3RydWN0IG1laV9j bF9kZXZpY2UgKmNsZGV2LAorCQkJCSAgICBzdHJ1Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSwKKwkJ CQkgICAgc3RydWN0IGhkY3AyX2FrZV9zZW5kX2NlcnQgKnJ4X2NlcnQsCisJCQkJICAgIGJvb2wg KmttX3N0b3JlZCwKKwkJCQkgICAgc3RydWN0IGhkY3AyX2FrZV9ub19zdG9yZWRfa20gKmVrX3B1 Yl9rbSwKKwkJCQkgICAgc2l6ZV90ICptc2dfc3opCit7CisJcmV0dXJuIC1FTk9ERVY7Cit9CiAj ZW5kaWYgLyogZGVmaW5lZCAoQ09ORklHX0lOVEVMX01FSV9IRENQKSAqLwogI2VuZGlmIC8qIGRl ZmluZWQgKF9MSU5VWF9NRUlfSERDUF9IKSAqLwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=