From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v5 31/40] misc/mei/hdcp: Verify Receiver Cert and prepare km Date: Wed, 27 Jun 2018 14:10:20 +0530 Message-ID: <1530088829-11730-32-git-send-email-ramalingam.c@intel.com> References: <1530088829-11730-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: <1530088829-11730-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel@ffwll.ch, tomas.winkler@intel.com, alexander.usyskin@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org UmVxdWVzdHMgZm9yIHZlcmlmaWNhdGlvbiBmb3IgcmVjZWl2ZXIgY2VydGlmaWNhdGlvbiBhbmQg YWxzbyB0aGUKcHJlcGFyYXRpb24gZm9yIG5leHQgQUtFIGF1dGggbWVzc2FnZSB3aXRoIGttLgoK T24gU3VjY2VzcyBNRSBGVyB2YWxpZGF0ZSB0aGUgSERDUDIuMiByZWNlaXZlcnMgY2VydGlmaWNh dGUgYW5kIGRvIHRoZQpyZXZvY2F0aW9uIGNoZWNrIG9uIHRoZSByZWNlaXZlciBJRC4gQUtFX1N0 b3JlZF9LbSB3aWxsIGJlIHByZXBhcmVkIGlmCnRoZSByZWNlaXZlciBpcyBhbHJlYWR5IHBhaXJl ZCwgZWxzZSBBS0VfTm9fU3RvcmVkX0ttIHdpbGwgYmUgcHJlcGFyZWQuCgpIZXJlIEFLRV9TdG9y ZWRfS20gYW5kIEFLRV9Ob19TdG9yZWRfS20gYXJlIEhEQ1AyLjIgcHJvdG9jb2wgbXNncy4KCnYy OgogIFJlYmFzZWQuCnYzOgogIGNsZGV2IGlzIHBhc3NlZCBhcyBmaXJzdCBwYXJhbWV0ZXIgW1Rv bWFzXQogIFJlZHVuZGFudCBjb21tZW50cyBhbmQgY2FzdCBhcmUgcmVtb3ZlZCBbVG9tYXNdCnY0 OgogICV6ZCBpcyB1c2VkIGZvciBzc2l6ZV90IFtBbGV4YW5kZXJdCiAgJXMvcmV0dXJuIC0xL3Jl dHVybiAtRUlPIFtBbGV4YW5kZXJdCnY1OgogIFJlYmFzZWQuCgpTaWduZWQtb2ZmLWJ5OiBSYW1h bGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9taXNjL21laS9o ZGNwL21laV9oZGNwLmMgfCA4NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystCiAxIGZpbGUgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jIGIvZHJpdmVycy9taXNj L21laS9oZGNwL21laV9oZGNwLmMKaW5kZXggNzMxMWUzMDk1ZTk0Li5mYjcxN2E3ZmYyNDkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jCisrKyBiL2RyaXZlcnMv bWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jCkBAIC0xMDUsMTAgKzEwNSw5MyBAQCBzdGF0aWMgaW50 IG1laV9pbml0aWF0ZV9oZGNwMl9zZXNzaW9uKHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldiwK IAlyZXR1cm4gMDsKIH0KIAorLyoKKyAqIG1laV92ZXJpZnlfcmVjZWl2ZXJfY2VydF9wcmVwYXJl X2ttOgorICoJRnVuY3Rpb24gdG8gdmVyaWZ5IHRoZSBSZWNlaXZlciBDZXJ0aWZpY2F0ZSBBS0Vf U2VuZF9DZXJ0CisgKglhbmQgcHJlcGFyZSBBS0VfU3RvcmVkX0ttIG9yIEFLRV9Ob19TdG9yZWRf S20KKyAqCisgKiBjbGRldgkJOiBQb2ludGVyIGZvciBtZWkgY2xpZW50IGRldmljZQorICogZGF0 YQkJCTogSW50ZWwgSFcgc3BlY2lmaWMgRGF0YQorICogcnhfY2VydAkJOiBQb2ludGVyIGZvciBB S0VfU2VuZF9DZXJ0CisgKiBrbV9zdG9yZWQJCTogUG9pbnRlciBmb3IgcGFpcmluZyBzdGF0dXMg ZmxhZworICogZWtfcHViX2ttCQk6IFBvaW50ZXIgZm9yIG91dHB1dCBtc2cKKyAqIG1zZ19zegkJ OiBQb2ludGVyIGZvciBzaXplIG9mIEFLRV9YWFhYWF9LbQorICoKKyAqIFJldHVybnMgMCBvbiBT dWNjZXNzLCA8MCBvbiBGYWlsdXJlCisgKi8KK3N0YXRpYyBpbnQKK21laV92ZXJpZnlfcmVjZWl2 ZXJfY2VydF9wcmVwYXJlX2ttKHN0cnVjdCBtZWlfY2xfZGV2aWNlICpjbGRldiwKKwkJCQkgICAg c3RydWN0IG1laV9oZGNwX2RhdGEgKmRhdGEsCisJCQkJICAgIHN0cnVjdCBoZGNwMl9ha2Vfc2Vu ZF9jZXJ0ICpyeF9jZXJ0LAorCQkJCSAgICBib29sICprbV9zdG9yZWQsCisJCQkJICAgIHN0cnVj dCBoZGNwMl9ha2Vfbm9fc3RvcmVkX2ttICpla19wdWJfa20sCisJCQkJICAgIHNpemVfdCAqbXNn X3N6KQoreworCXN0cnVjdCB3aXJlZF9jbWRfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfaW4gdmVyaWZ5 X3J4Y2VydF9pbiA9IHsgeyAwIH0gfTsKKwlzdHJ1Y3Qgd2lyZWRfY21kX3ZlcmlmeV9yZWNlaXZl cl9jZXJ0X291dCB2ZXJpZnlfcnhjZXJ0X291dCA9IHsgeyAwIH0gfTsKKwlzdHJ1Y3QgZGV2aWNl ICpkZXY7CisJc3NpemVfdCBieXRlOworCisJaWYgKCFkYXRhIHx8ICFyeF9jZXJ0IHx8ICFrbV9z dG9yZWQgfHwgIWVrX3B1Yl9rbSB8fCAhbXNnX3N6KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRl diA9ICZjbGRldi0+ZGV2OworCisJdmVyaWZ5X3J4Y2VydF9pbi5oZWFkZXIuYXBpX3ZlcnNpb24g PSBIRENQX0FQSV9WRVJTSU9OOworCXZlcmlmeV9yeGNlcnRfaW4uaGVhZGVyLmNvbW1hbmRfaWQg PSBXSVJFRF9WRVJJRllfUkVDRUlWRVJfQ0VSVDsKKwl2ZXJpZnlfcnhjZXJ0X2luLmhlYWRlci5z dGF0dXMgPSBNRV9IRENQX1NUQVRVU19TVUNDRVNTOworCXZlcmlmeV9yeGNlcnRfaW4uaGVhZGVy LmJ1ZmZlcl9sZW4gPQorCQkJCVdJUkVEX0NNRF9CVUZfTEVOX1ZFUklGWV9SRUNFSVZFUl9DRVJU X0lOOworCisJdmVyaWZ5X3J4Y2VydF9pbi5wb3J0LmludGVncmF0ZWRfcG9ydF90eXBlID0gZGF0 YS0+cG9ydF90eXBlOworCXZlcmlmeV9yeGNlcnRfaW4ucG9ydC5waHlzaWNhbF9wb3J0ID0gZGF0 YS0+cG9ydDsKKworCW1lbWNweSgmdmVyaWZ5X3J4Y2VydF9pbi5jZXJ0X3J4LCAmcnhfY2VydC0+ Y2VydF9yeCwKKwkgICAgICAgc2l6ZW9mKHJ4X2NlcnQtPmNlcnRfcngpKTsKKwltZW1jcHkodmVy aWZ5X3J4Y2VydF9pbi5yX3J4LCAmcnhfY2VydC0+cl9yeCwgc2l6ZW9mKHJ4X2NlcnQtPnJfcngp KTsKKwltZW1jcHkodmVyaWZ5X3J4Y2VydF9pbi5yeF9jYXBzLCByeF9jZXJ0LT5yeF9jYXBzLCBI RENQXzJfMl9SWENBUFNfTEVOKTsKKworCWJ5dGUgPSBtZWlfY2xkZXZfc2VuZChjbGRldiwgKHU4 ICopJnZlcmlmeV9yeGNlcnRfaW4sCisJCQkgICAgICBzaXplb2YodmVyaWZ5X3J4Y2VydF9pbikp OworCWlmIChieXRlIDwgMCkgeworCQlkZXZfZGJnKGRldiwgIm1laV9jbGRldl9zZW5kIGZhaWxl ZDogJXpkXG4iLCBieXRlKTsKKwkJcmV0dXJuIGJ5dGU7CisJfQorCisJYnl0ZSA9IG1laV9jbGRl dl9yZWN2KGNsZGV2LCAodTggKikmdmVyaWZ5X3J4Y2VydF9vdXQsCisJCQkgICAgICBzaXplb2Yo dmVyaWZ5X3J4Y2VydF9vdXQpKTsKKwlpZiAoYnl0ZSA8IDApIHsKKwkJZGV2X2RiZyhkZXYsICJt ZWlfY2xkZXZfcmVjdiBmYWlsZWQ6ICV6ZFxuIiwgYnl0ZSk7CisJCXJldHVybiBieXRlOworCX0K KworCWlmICh2ZXJpZnlfcnhjZXJ0X291dC5oZWFkZXIuc3RhdHVzICE9IE1FX0hEQ1BfU1RBVFVT X1NVQ0NFU1MpIHsKKwkJZGV2X2RiZyhkZXYsICJNRSBjbWQgMHglMDhYIEZhaWxlZC4gU3RhdHVz OiAweCVYXG4iLAorCQkJV0lSRURfVkVSSUZZX1JFQ0VJVkVSX0NFUlQsCisJCQl2ZXJpZnlfcnhj ZXJ0X291dC5oZWFkZXIuc3RhdHVzKTsKKwkJcmV0dXJuIC1FSU87CisJfQorCisJKmttX3N0b3Jl ZCA9IHZlcmlmeV9yeGNlcnRfb3V0LmttX3N0b3JlZDsKKwlpZiAodmVyaWZ5X3J4Y2VydF9vdXQu a21fc3RvcmVkKSB7CisJCWVrX3B1Yl9rbS0+bXNnX2lkID0gSERDUF8yXzJfQUtFX1NUT1JFRF9L TTsKKwkJKm1zZ19zeiA9IHNpemVvZihzdHJ1Y3QgaGRjcDJfYWtlX3N0b3JlZF9rbSk7CisJfSBl bHNlIHsKKwkJZWtfcHViX2ttLT5tc2dfaWQgPSBIRENQXzJfMl9BS0VfTk9fU1RPUkVEX0tNOwor CQkqbXNnX3N6ID0gc2l6ZW9mKHN0cnVjdCBoZGNwMl9ha2Vfbm9fc3RvcmVkX2ttKTsKKwl9CisK KwltZW1jcHkoZWtfcHViX2ttLT5lX2twdWJfa20sICZ2ZXJpZnlfcnhjZXJ0X291dC5la21fYnVm ZiwKKwkgICAgICAgc2l6ZW9mKHZlcmlmeV9yeGNlcnRfb3V0LmVrbV9idWZmKSk7CisKKwlyZXR1 cm4gMDsKK30KKwogc3RydWN0IGk5MTVfaGRjcF9jb21wb25lbnRfb3BzIG1laV9oZGNwX2NvbXBv bmVudF9vcHMgPSB7CiAJLm93bmVyCQkJCQk9IFRISVNfTU9EVUxFLAogCS5pbml0aWF0ZV9oZGNw Ml9zZXNzaW9uCQkJPSBtZWlfaW5pdGlhdGVfaGRjcDJfc2Vzc2lvbiwKLQkudmVyaWZ5X3JlY2Vp dmVyX2NlcnRfcHJlcGFyZV9rbQk9IE5VTEwsCisJLnZlcmlmeV9yZWNlaXZlcl9jZXJ0X3ByZXBh cmVfa20JPQorCQkJCQltZWlfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfcHJlcGFyZV9rbSwKIAkudmVy aWZ5X2hwcmltZQkJCQk9IE5VTEwsCiAJLnN0b3JlX3BhaXJpbmdfaW5mbwkJCT0gTlVMTCwKIAku aW5pdGlhdGVfbG9jYWxpdHlfY2hlY2sJCT0gTlVMTCwKLS0gCjIuNy40CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK