From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH 12/43] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Wed, 14 Feb 2018 19:43:27 +0530 Message-ID: <1518617638-21684-13-git-send-email-ramalingam.c@intel.com> References: <1518617638-21684-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: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 760306E40D for ; Wed, 14 Feb 2018 14:20:19 +0000 (UTC) In-Reply-To: <1518617638-21684-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: seanpaul@chromium.org, intel-gfx@lists.freedesktop.org, rodrigo.vivi@intel.com, daniel.vetter@ffwll.ch Cc: tomas.winkler@intel.com List-Id: intel-gfx@lists.freedesktop.org UmVxdWVzdHMgZm9yIHZlcmlmaWNhdGlvbiBmb3IgcmVjZWl2ZXIgY2VydGlmaWNhdGlvbiBhbmQg YWxzbyB0aGUKcHJlcGFyYXRpb24gZm9yIG5leHQgQUtFIGF1dGggbWVzc2FnZSB3aXRoIGttLgoK T24gU3VjY2VzcyBNRSBGVyB2YWxpZGF0ZSB0aGUgSERDUDIuMiByZWNlaXZlcnMgY2VydGlmaWNh dGUgYW5kIGRvIHRoZQpyZXZvY2F0aW9uIGNoZWNrIG9uIHRoZSByZWNlaXZlciBJRC4gQUtFX1N0 b3JlZF9LbSB3aWxsIGJlIHByZXBhcmVkIGlmCnRoZSByZWNlaXZlciBpcyBhbHJlYWR5IHBhaXJl ZCwgZWxzZSBBS0VfTm9fU3RvcmVkX0ttIHdpbGwgYmUgcHJlcGFyZWQuCgpIZXJlIEFLRV9TdG9y ZWRfS20gYW5kIEFLRV9Ob19TdG9yZWRfS20gYXJlIEhEQ1AyLjIgcHJvdG9jb2wgbXNncy4KClNp Z25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL21pc2MvbWVpL21laV9oZGNwLmMgfCA4OSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvbWVpX2hkY3AuaCAgICB8IDE1ICsr KysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9taXNjL21laS9tZWlfaGRjcC5jIGIvZHJpdmVycy9taXNjL21laS9tZWlfaGRjcC5j CmluZGV4IDBiMDlmMDY5ZjZkNi4uNTM2YzI3NzAxZmU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL21p c2MvbWVpL21laV9oZGNwLmMKKysrIGIvZHJpdmVycy9taXNjL21laS9tZWlfaGRjcC5jCkBAIC0x MTksNiArMTE5LDk1IEBAIGludCBtZWlfaW5pdGlhdGVfaGRjcDJfc2Vzc2lvbihzdHJ1Y3QgbWVp X2hkY3BfZGF0YSAqZGF0YSwKIH0KIEVYUE9SVF9TWU1CT0wobWVpX2luaXRpYXRlX2hkY3AyX3Nl c3Npb24pOwogCisvKioKKyAqIG1laV92ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVwYXJlX2ttOgor ICoJRnVuY3Rpb24gdG8gdmVyaWZ5IHRoZSBSZWNlaXZlciBDZXJ0aWZpY2F0ZSBBS0VfU2VuZF9D ZXJ0CisgKglhbmQgcHJlcGFyZSBBS0VfU3RvcmVkX0ttIG9yIEFLRV9Ob19TdG9yZWRfS20KKyAq CisgKiBAZGF0YQkJOiBJbnRlbCBIVyBzcGVjaWZpYyBEYXRhCisgKiBAcnhfY2VydAkJOiBQb2lu dGVyIGZvciBBS0VfU2VuZF9DZXJ0CisgKiBAa21fc3RvcmVkCQk6IFBvaW50ZXIgZm9yIHBhaXJp bmcgc3RhdHVzIGZsYWcKKyAqIEBla19wdWJfa20JCTogUG9pbnRlciBmb3Igb3V0cHV0IG1zZwor ICogQG1zZ19zegkJOiBQb2ludGVyIGZvciBzaXplIG9mIEFLRV9YWFhYWF9LbQorICoKKyAqIFJl dHVybnMgMCBvbiBTdWNjZXNzLCA8MCBvbiBGYWlsdXJlCisgKi8KK2ludAorbWVpX3ZlcmlmeV9y ZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20oc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEsCisJCQkJ ICAgIHN0cnVjdCBoZGNwMl9ha2Vfc2VuZF9jZXJ0ICpyeF9jZXJ0LAorCQkJCSAgICBib29sICpr bV9zdG9yZWQsCisJCQkJICAgIHN0cnVjdCBoZGNwMl9ha2Vfbm9fc3RvcmVkX2ttICpla19wdWJf a20sCisJCQkJICAgIHNpemVfdCAqbXNnX3N6KQoreworCXN0cnVjdCB3aXJlZF9jbWRfdmVyaWZ5 X3JlY2VpdmVyX2NlcnRfaW4gdmVyaWZ5X3J4Y2VydF9pbiA9IHsgeyAwIH0gfTsKKwlzdHJ1Y3Qg d2lyZWRfY21kX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X291dCB2ZXJpZnlfcnhjZXJ0X291dCA9IHsg eyAwIH0gfTsKKwllbnVtIG1lX3N0YXR1cyBzdGF0dXM7CisJc3RydWN0IGRldmljZSAqZGV2Owor CXNzaXplX3QgYnl0ZTsKKworCWlmICghZGF0YSB8fCAhcnhfY2VydCB8fCAha21fc3RvcmVkIHx8 ICFla19wdWJfa20gfHwgIW1zZ19zeikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBjaGVjayBm b3IgdGhlIG1laV9kZXZpY2UgZW5hYmxlZCBvciBub3QgKi8KKwlpZiAoIW1laV9jbGRldl9hY3Rp dmVfYW5kX2VuYWJsZWQoZGF0YS0+Y2xkZXYpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWRldiA9 ICZkYXRhLT5jbGRldi0+ZGV2OworCisJLyogRmlsbCBoZWFkZXIgZGV0YWlscyAqLworCXZlcmlm eV9yeGNlcnRfaW4uaGVhZGVyLmFwaV92ZXJzaW9uID0gSERDUF9BUElfVkVSU0lPTjsKKwl2ZXJp ZnlfcnhjZXJ0X2luLmhlYWRlci5jb21tYW5kX2lkID0gV0lSRURfVkVSSUZZX1JFQ0VJVkVSX0NF UlQ7CisJdmVyaWZ5X3J4Y2VydF9pbi5oZWFkZXIuc3RhdHVzID0gTUVfSERDUF9TVEFUVVNfU1VD Q0VTUzsKKwl2ZXJpZnlfcnhjZXJ0X2luLmhlYWRlci5idWZmZXJfbGVuID0KKwkJCQlXSVJFRF9D TURfQlVGX0xFTl9WRVJJRllfUkVDRUlWRVJfQ0VSVF9JTjsKKworCS8qIEZpbGwgdGhlIGRhdGEg Ki8KKwl2ZXJpZnlfcnhjZXJ0X2luLnBvcnQuaW50ZWdyYXRlZF9wb3J0X3R5cGUgPSBkYXRhLT5w b3J0X3R5cGU7CisJdmVyaWZ5X3J4Y2VydF9pbi5wb3J0LnBoeXNpY2FsX3BvcnQgPSBkYXRhLT5w b3J0OworCisJbWVtY3B5KCZ2ZXJpZnlfcnhjZXJ0X2luLmNlcnRfcngsICZyeF9jZXJ0LT5jZXJ0 X3J4LAorCSAgICAgICBzaXplb2YocnhfY2VydC0+Y2VydF9yeCkpOworCW1lbWNweSh2ZXJpZnlf cnhjZXJ0X2luLnJfcngsICZyeF9jZXJ0LT5yX3J4LCBzaXplb2YocnhfY2VydC0+cl9yeCkpOwor CXZlcmlmeV9yeGNlcnRfaW4ucnhfY2FwcyA9IHJ4X2NlcnQtPnJ4X2NhcHM7CisKKwkvKiBSZXF1 ZXN0IHRvIE1FICovCisJYnl0ZSA9IG1laV9jbGRldl9zZW5kKGRhdGEtPmNsZGV2LCAodTggKikm dmVyaWZ5X3J4Y2VydF9pbiwKKwkJCSAgICAgIHNpemVvZih2ZXJpZnlfcnhjZXJ0X2luKSk7CisJ aWYgKGJ5dGUgPCAwKSB7CisJCWRldl9lcnIoZGV2LCAibWVpX2NsZGV2X3NlbmQgZmFpbGVkOiAl ZFxuIiwgKGludClieXRlKTsKKwkJcmV0dXJuIGJ5dGU7CisJfQorCisJLyogUmVzcG9uc2UgZnJv bSBNRSAqLworCWJ5dGUgPSBtZWlfY2xkZXZfcmVjdihkYXRhLT5jbGRldiwgKHU4ICopJnZlcmlm eV9yeGNlcnRfb3V0LAorCQkJICAgICAgc2l6ZW9mKHZlcmlmeV9yeGNlcnRfb3V0KSk7CisJaWYg KGJ5dGUgPCAwKSB7CisJCWRldl9lcnIoZGV2LCAibWVpX2NsZGV2X3JlY3YgZmFpbGVkOiAlZFxu IiwgKGludClieXRlKTsKKwkJcmV0dXJuIGJ5dGU7CisJfQorCisJc3RhdHVzID0gKGVudW0gbWVf c3RhdHVzKXZlcmlmeV9yeGNlcnRfb3V0LmhlYWRlci5zdGF0dXM7CisJaWYgKHN0YXR1cyAhPSBN RV9IRENQX1NUQVRVU19TVUNDRVNTKSB7CisJCWRldl9lcnIoZGV2LCAiTUUgY21kIDB4JTA4WCBG YWlsZWQuIFN0YXR1czogMHglWFxuIiwKKwkJCVdJUkVEX1ZFUklGWV9SRUNFSVZFUl9DRVJULCBz dGF0dXMpOworCQlyZXR1cm4gLTE7CisJfQorCisJKmttX3N0b3JlZCA9IHZlcmlmeV9yeGNlcnRf b3V0LmttX3N0b3JlZDsKKwlpZiAodmVyaWZ5X3J4Y2VydF9vdXQua21fc3RvcmVkKSB7CisJCWVr X3B1Yl9rbS0+bXNnX2lkID0gQUtFX1NUT1JFRF9LTTsKKwkJKm1zZ19zeiA9IHNpemVvZihzdHJ1 Y3QgaGRjcDJfYWtlX3N0b3JlZF9rbSk7CisJfSBlbHNlIHsKKwkJZWtfcHViX2ttLT5tc2dfaWQg PSBBS0VfTk9fU1RPUkVEX0tNOworCQkqbXNnX3N6ID0gc2l6ZW9mKHN0cnVjdCBoZGNwMl9ha2Vf bm9fc3RvcmVkX2ttKTsKKwl9CisKKwltZW1jcHkoZWtfcHViX2ttLT5lX2twdWJfa20sICZ2ZXJp ZnlfcnhjZXJ0X291dC5la21fYnVmZiwKKwkgICAgICAgc2l6ZW9mKHZlcmlmeV9yeGNlcnRfb3V0 LmVrbV9idWZmKSk7CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKG1laV92ZXJpZnlfcmVj ZWl2ZXJfY2VydF9wcmVwYXJlX2ttKTsKKwogc3RhdGljIGludCBtZWlfaGRjcF9wcm9iZShzdHJ1 Y3QgbWVpX2NsX2RldmljZSAqY2xkZXYsCiAJCQkgIGNvbnN0IHN0cnVjdCBtZWlfY2xfZGV2aWNl X2lkICppZCkKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWVpX2hkY3AuaCBiL2luY2x1 ZGUvbGludXgvbWVpX2hkY3AuaAppbmRleCBjMzMzNTI4YjljMWUuLjUxMGE1YzFmZjFmZiAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tZWlfaGRjcC5oCisrKyBiL2luY2x1ZGUvbGludXgvbWVp X2hkY3AuaApAQCAtMTA1LDYgKzEwNSwxMiBAQCB2b2lkIG1laV9oZGNwX2NsZGV2X3B1dF9yZWZl cmVuY2Uoc3RydWN0IG1laV9jbF9kZXZpY2UgKmNsZGV2KTsKIAogaW50IG1laV9pbml0aWF0ZV9o ZGNwMl9zZXNzaW9uKHN0cnVjdCBtZWlfaGRjcF9kYXRhICpkYXRhLAogCQkJICAgICAgIHN0cnVj dCBoZGNwMl9ha2VfaW5pdCAqYWtlX2RhdGEpOworaW50CittZWlfdmVyaWZ5X3JlY2VpdmVyX2Nl cnRfcHJlcGFyZV9rbShzdHJ1Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSwKKwkJCQkgICAgc3RydWN0 IGhkY3AyX2FrZV9zZW5kX2NlcnQgKnJ4X2NlcnQsCisJCQkJICAgIGJvb2wgKmttX3N0b3JlZCwK KwkJCQkgICAgc3RydWN0IGhkY3AyX2FrZV9ub19zdG9yZWRfa20gKmVrX3B1Yl9rbSwKKwkJCQkg ICAgc2l6ZV90ICptc2dfc3opOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUKIGludCBtZWlfaGRjcF9j bGRldl9nZXRfcmVmZXJlbmNlKHZvaWQgKmNsaWVudF9kYXRhLApAQCAtMTI1LDUgKzEzMSwxNCBA QCBpbnQgbWVpX2luaXRpYXRlX2hkY3AyX3Nlc3Npb24oc3RydWN0IG1laV9oZGNwX2RhdGEgKmRh dGEsCiB7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CitzdGF0aWMgaW5saW5lIGludAorbWVpX3Zlcmlm eV9yZWNlaXZlcl9jZXJ0X3ByZXBhcmVfa20oc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEsCisJ CQkJICAgIHN0cnVjdCBoZGNwMl9ha2Vfc2VuZF9jZXJ0ICpyeF9jZXJ0LAorCQkJCSAgICBib29s ICprbV9zdG9yZWQsCisJCQkJICAgIHN0cnVjdCBoZGNwMl9ha2Vfbm9fc3RvcmVkX2ttICpla19w dWJfa20sCisJCQkJICAgIHNpemVfdCAqbXNnX3N6KQoreworCXJldHVybiAtRU5PREVWOworfQog I2VuZGlmIC8qIGRlZmluZWQgKENPTkZJR19JTlRFTF9NRUlfSERDUCkgKi8KICNlbmRpZiAvKiBk ZWZpbmVkIChfTElOVVhfTUVJX0hEQ1BfSCkgKi8KLS0gCjIuNy40CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK