From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v2 11/42] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Thu, 8 Mar 2018 17:28:38 +0530 Message-ID: <1520510349-8385-12-git-send-email-ramalingam.c@intel.com> References: <1520510349-8385-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: <1520510349-8385-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, chris@chris-wilson.co.uk, tomas.winkler@intel.com, jani.nikula@linux.intel.com Cc: rodrigo.vivi@intel.com List-Id: dri-devel@lists.freedesktop.org UmVxdWVzdHMgZm9yIHZlcmlmaWNhdGlvbiBmb3IgcmVjZWl2ZXIgY2VydGlmaWNhdGlvbiBhbmQg YWxzbyB0aGUKcHJlcGFyYXRpb24gZm9yIG5leHQgQUtFIGF1dGggbWVzc2FnZSB3aXRoIGttLgoK T24gU3VjY2VzcyBNRSBGVyB2YWxpZGF0ZSB0aGUgSERDUDIuMiByZWNlaXZlcnMgY2VydGlmaWNh dGUgYW5kIGRvIHRoZQpyZXZvY2F0aW9uIGNoZWNrIG9uIHRoZSByZWNlaXZlciBJRC4gQUtFX1N0 b3JlZF9LbSB3aWxsIGJlIHByZXBhcmVkIGlmCnRoZSByZWNlaXZlciBpcyBhbHJlYWR5IHBhaXJl ZCwgZWxzZSBBS0VfTm9fU3RvcmVkX0ttIHdpbGwgYmUgcHJlcGFyZWQuCgpIZXJlIEFLRV9TdG9y ZWRfS20gYW5kIEFLRV9Ob19TdG9yZWRfS20gYXJlIEhEQ1AyLjIgcHJvdG9jb2wgbXNncy4KCnYy OgogIFJlYmFzZWQuCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0Bp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNwLmMgfCA4OSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L21laV9o ZGNwLmggICAgICAgICB8IDE1ICsrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYyBiL2Ry aXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jCmluZGV4IDUxNmFkNmE0MDYxNi4uN2MzZjAy YzJlMzI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYworKysg Yi9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYwpAQCAtMTE5LDYgKzExOSw5NSBAQCBp bnQgbWVpX2luaXRpYXRlX2hkY3AyX3Nlc3Npb24oc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEs CiB9CiBFWFBPUlRfU1lNQk9MKG1laV9pbml0aWF0ZV9oZGNwMl9zZXNzaW9uKTsKIAorLyoqCisg KiBtZWlfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJlcGFyZV9rbToKKyAqCUZ1bmN0aW9uIHRvIHZl cmlmeSB0aGUgUmVjZWl2ZXIgQ2VydGlmaWNhdGUgQUtFX1NlbmRfQ2VydAorICoJYW5kIHByZXBh cmUgQUtFX1N0b3JlZF9LbSBvciBBS0VfTm9fU3RvcmVkX0ttCisgKgorICogQGRhdGEJCTogSW50 ZWwgSFcgc3BlY2lmaWMgRGF0YQorICogQHJ4X2NlcnQJCTogUG9pbnRlciBmb3IgQUtFX1NlbmRf Q2VydAorICogQGttX3N0b3JlZAkJOiBQb2ludGVyIGZvciBwYWlyaW5nIHN0YXR1cyBmbGFnCisg KiBAZWtfcHViX2ttCQk6IFBvaW50ZXIgZm9yIG91dHB1dCBtc2cKKyAqIEBtc2dfc3oJCTogUG9p bnRlciBmb3Igc2l6ZSBvZiBBS0VfWFhYWFhfS20KKyAqCisgKiBSZXR1cm5zIDAgb24gU3VjY2Vz cywgPDAgb24gRmFpbHVyZQorICovCitpbnQKK21laV92ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVw YXJlX2ttKHN0cnVjdCBtZWlfaGRjcF9kYXRhICpkYXRhLAorCQkJCSAgICBzdHJ1Y3QgaGRjcDJf YWtlX3NlbmRfY2VydCAqcnhfY2VydCwKKwkJCQkgICAgYm9vbCAqa21fc3RvcmVkLAorCQkJCSAg ICBzdHJ1Y3QgaGRjcDJfYWtlX25vX3N0b3JlZF9rbSAqZWtfcHViX2ttLAorCQkJCSAgICBzaXpl X3QgKm1zZ19zeikKK3sKKwlzdHJ1Y3Qgd2lyZWRfY21kX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X2lu IHZlcmlmeV9yeGNlcnRfaW4gPSB7IHsgMCB9IH07CisJc3RydWN0IHdpcmVkX2NtZF92ZXJpZnlf cmVjZWl2ZXJfY2VydF9vdXQgdmVyaWZ5X3J4Y2VydF9vdXQgPSB7IHsgMCB9IH07CisJZW51bSBt ZV9oZGNwX3N0YXR1cyBzdGF0dXM7CisJc3RydWN0IGRldmljZSAqZGV2OworCXNzaXplX3QgYnl0 ZTsKKworCWlmICghZGF0YSB8fCAhcnhfY2VydCB8fCAha21fc3RvcmVkIHx8ICFla19wdWJfa20g fHwgIW1zZ19zeikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBjaGVjayBmb3IgdGhlIG1laV9k ZXZpY2UgZW5hYmxlZCBvciBub3QgKi8KKwlpZiAoIW1laV9jbGRldl9hY3RpdmVfYW5kX2VuYWJs ZWQoZGF0YS0+Y2xkZXYpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWRldiA9ICZkYXRhLT5jbGRl di0+ZGV2OworCisJLyogRmlsbCBoZWFkZXIgZGV0YWlscyAqLworCXZlcmlmeV9yeGNlcnRfaW4u aGVhZGVyLmFwaV92ZXJzaW9uID0gSERDUF9BUElfVkVSU0lPTjsKKwl2ZXJpZnlfcnhjZXJ0X2lu LmhlYWRlci5jb21tYW5kX2lkID0gV0lSRURfVkVSSUZZX1JFQ0VJVkVSX0NFUlQ7CisJdmVyaWZ5 X3J4Y2VydF9pbi5oZWFkZXIuc3RhdHVzID0gTUVfSERDUF9TVEFUVVNfU1VDQ0VTUzsKKwl2ZXJp ZnlfcnhjZXJ0X2luLmhlYWRlci5idWZmZXJfbGVuID0KKwkJCQlXSVJFRF9DTURfQlVGX0xFTl9W RVJJRllfUkVDRUlWRVJfQ0VSVF9JTjsKKworCS8qIEZpbGwgdGhlIGRhdGEgKi8KKwl2ZXJpZnlf cnhjZXJ0X2luLnBvcnQuaW50ZWdyYXRlZF9wb3J0X3R5cGUgPSBkYXRhLT5wb3J0X3R5cGU7CisJ dmVyaWZ5X3J4Y2VydF9pbi5wb3J0LnBoeXNpY2FsX3BvcnQgPSBkYXRhLT5wb3J0OworCisJbWVt Y3B5KCZ2ZXJpZnlfcnhjZXJ0X2luLmNlcnRfcngsICZyeF9jZXJ0LT5jZXJ0X3J4LAorCSAgICAg ICBzaXplb2YocnhfY2VydC0+Y2VydF9yeCkpOworCW1lbWNweSh2ZXJpZnlfcnhjZXJ0X2luLnJf cngsICZyeF9jZXJ0LT5yX3J4LCBzaXplb2YocnhfY2VydC0+cl9yeCkpOworCW1lbWNweSh2ZXJp ZnlfcnhjZXJ0X2luLnJ4X2NhcHMsIHJ4X2NlcnQtPnJ4X2NhcHMsIEhEQ1BfMl8yX1JYQ0FQU19M RU4pOworCisJLyogUmVxdWVzdCB0byBNRSAqLworCWJ5dGUgPSBtZWlfY2xkZXZfc2VuZChkYXRh LT5jbGRldiwgKHU4ICopJnZlcmlmeV9yeGNlcnRfaW4sCisJCQkgICAgICBzaXplb2YodmVyaWZ5 X3J4Y2VydF9pbikpOworCWlmIChieXRlIDwgMCkgeworCQlkZXZfZXJyKGRldiwgIm1laV9jbGRl dl9zZW5kIGZhaWxlZDogJWRcbiIsIChpbnQpYnl0ZSk7CisJCXJldHVybiBieXRlOworCX0KKwor CS8qIFJlc3BvbnNlIGZyb20gTUUgKi8KKwlieXRlID0gbWVpX2NsZGV2X3JlY3YoZGF0YS0+Y2xk ZXYsICh1OCAqKSZ2ZXJpZnlfcnhjZXJ0X291dCwKKwkJCSAgICAgIHNpemVvZih2ZXJpZnlfcnhj ZXJ0X291dCkpOworCWlmIChieXRlIDwgMCkgeworCQlkZXZfZXJyKGRldiwgIm1laV9jbGRldl9y ZWN2IGZhaWxlZDogJWRcbiIsIChpbnQpYnl0ZSk7CisJCXJldHVybiBieXRlOworCX0KKworCXN0 YXR1cyA9IChlbnVtIG1lX2hkY3Bfc3RhdHVzKXZlcmlmeV9yeGNlcnRfb3V0LmhlYWRlci5zdGF0 dXM7CisJaWYgKHN0YXR1cyAhPSBNRV9IRENQX1NUQVRVU19TVUNDRVNTKSB7CisJCWRldl9lcnIo ZGV2LCAiTUUgY21kIDB4JTA4WCBGYWlsZWQuIFN0YXR1czogMHglWFxuIiwKKwkJCVdJUkVEX1ZF UklGWV9SRUNFSVZFUl9DRVJULCBzdGF0dXMpOworCQlyZXR1cm4gLTE7CisJfQorCisJKmttX3N0 b3JlZCA9IHZlcmlmeV9yeGNlcnRfb3V0LmttX3N0b3JlZDsKKwlpZiAodmVyaWZ5X3J4Y2VydF9v dXQua21fc3RvcmVkKSB7CisJCWVrX3B1Yl9rbS0+bXNnX2lkID0gSERDUF8yXzJfQUtFX1NUT1JF RF9LTTsKKwkJKm1zZ19zeiA9IHNpemVvZihzdHJ1Y3QgaGRjcDJfYWtlX3N0b3JlZF9rbSk7CisJ fSBlbHNlIHsKKwkJZWtfcHViX2ttLT5tc2dfaWQgPSBIRENQXzJfMl9BS0VfTk9fU1RPUkVEX0tN OworCQkqbXNnX3N6ID0gc2l6ZW9mKHN0cnVjdCBoZGNwMl9ha2Vfbm9fc3RvcmVkX2ttKTsKKwl9 CisKKwltZW1jcHkoZWtfcHViX2ttLT5lX2twdWJfa20sICZ2ZXJpZnlfcnhjZXJ0X291dC5la21f YnVmZiwKKwkgICAgICAgc2l6ZW9mKHZlcmlmeV9yeGNlcnRfb3V0LmVrbV9idWZmKSk7CisJcmV0 dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKG1laV92ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVwYXJl X2ttKTsKKwogc3RhdGljIGludCBtZWlfaGRjcF9wcm9iZShzdHJ1Y3QgbWVpX2NsX2RldmljZSAq Y2xkZXYsCiAJCQkgIGNvbnN0IHN0cnVjdCBtZWlfY2xfZGV2aWNlX2lkICppZCkKIHsKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvbWVpX2hkY3AuaCBiL2luY2x1ZGUvbGludXgvbWVpX2hkY3Au aAppbmRleCBjMzMzNTI4YjljMWUuLjUxMGE1YzFmZjFmZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9s aW51eC9tZWlfaGRjcC5oCisrKyBiL2luY2x1ZGUvbGludXgvbWVpX2hkY3AuaApAQCAtMTA1LDYg KzEwNSwxMiBAQCB2b2lkIG1laV9oZGNwX2NsZGV2X3B1dF9yZWZlcmVuY2Uoc3RydWN0IG1laV9j bF9kZXZpY2UgKmNsZGV2KTsKIAogaW50IG1laV9pbml0aWF0ZV9oZGNwMl9zZXNzaW9uKHN0cnVj dCBtZWlfaGRjcF9kYXRhICpkYXRhLAogCQkJICAgICAgIHN0cnVjdCBoZGNwMl9ha2VfaW5pdCAq YWtlX2RhdGEpOworaW50CittZWlfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJlcGFyZV9rbShzdHJ1 Y3QgbWVpX2hkY3BfZGF0YSAqZGF0YSwKKwkJCQkgICAgc3RydWN0IGhkY3AyX2FrZV9zZW5kX2Nl cnQgKnJ4X2NlcnQsCisJCQkJICAgIGJvb2wgKmttX3N0b3JlZCwKKwkJCQkgICAgc3RydWN0IGhk Y3AyX2FrZV9ub19zdG9yZWRfa20gKmVrX3B1Yl9rbSwKKwkJCQkgICAgc2l6ZV90ICptc2dfc3op OwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUKIGludCBtZWlfaGRjcF9jbGRldl9nZXRfcmVmZXJlbmNl KHZvaWQgKmNsaWVudF9kYXRhLApAQCAtMTI1LDUgKzEzMSwxNCBAQCBpbnQgbWVpX2luaXRpYXRl X2hkY3AyX3Nlc3Npb24oc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEsCiB7CiAJcmV0dXJuIC1F Tk9ERVY7CiB9CitzdGF0aWMgaW5saW5lIGludAorbWVpX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X3By ZXBhcmVfa20oc3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEsCisJCQkJICAgIHN0cnVjdCBoZGNw Ml9ha2Vfc2VuZF9jZXJ0ICpyeF9jZXJ0LAorCQkJCSAgICBib29sICprbV9zdG9yZWQsCisJCQkJ ICAgIHN0cnVjdCBoZGNwMl9ha2Vfbm9fc3RvcmVkX2ttICpla19wdWJfa20sCisJCQkJICAgIHNp emVfdCAqbXNnX3N6KQoreworCXJldHVybiAtRU5PREVWOworfQogI2VuZGlmIC8qIGRlZmluZWQg KENPTkZJR19JTlRFTF9NRUlfSERDUCkgKi8KICNlbmRpZiAvKiBkZWZpbmVkIChfTElOVVhfTUVJ X0hEQ1BfSCkgKi8KLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK