From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v10 33/40] misc/mei/hdcp: Verify M_prime Date: Thu, 31 Jan 2019 12:29:49 +0530 Message-ID: <1548917996-28081-34-git-send-email-ramalingam.c@intel.com> References: <1548917996-28081-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: <1548917996-28081-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: dri-devel@lists.freedesktop.org UmVxdWVzdCB0byBNRSB0byB2ZXJpZnkgdGhlIE1fUHJpbWUgcmVjZWl2ZWQgZnJvbSB0aGUgSERD UCBzaW5rLgoKTUUgRlcgd2lsbCBjYWxjdWxhdGUgdGhlIE0gYW5kIGNvbXBhcmUgd2l0aCBNX3By aW1lIHJlY2VpdmVkCmFzIHBhcnQgb2YgUmVwZWF0ZXJBdXRoX1N0cmVhbV9SZWFkeSwgd2hpY2gg aXMgSERDUDIuMiBwcm90b2NvbCBtc2cuCgpPbiBzdWNjZXNzZnVsIGNvbXBsZXRpb24gb2YgdGhp cyBzdGFnZSwgZG93bnN0cmVhbSBwcm9wYWdhdGlvbiBvZgp0aGUgc3RyZWFtIG1hbmFnZW1lbnQg aW5mbyBpcyBjb21wbGV0ZWQuCgp2MjogUmViYXNlZC4KdjM6CiAgY2xkZXYgaXMgcGFzc2VkIGFz IGZpcnN0IHBhcmFtZXRlciBbVG9tYXNdCiAgUmVkdW5kYW50IGNvbW1lbnRzIGFuZCBjYXN0IGFy ZSByZW1vdmVkIFtUb21hc10KdjQ6CiAgJXpkIGZvciBzc2l6ZV90IFtBbGV4YW5kZXJdCiAgJXMv cmV0dXJuIC0xL3JldHVybiAtRUlPIFtBbGV4YW5kZXJdCiAgZW5kaWFubmVzcyBjb252ZXJzaW9u IGZ1bmMgaXMgbW92ZWQgdG8gZHJtX2hkY3AuaCBbVW1hXQp2NTogUmViYXNlZC4KdjY6CiAgQ29s bGVjdGVkIHRoZSBSYi1lZCBieS4KICBSZWJhc2luZy4Kdjc6CiAgQWRqdXN0IHRvIHRoZSBuZXcg bWVpIGludGVyZmFjZS4KICBGaXggZm9yIEtkb2MuCnY4OgogIEstRG9jIGFkZGl0aW9uLiBbVG9t YXNdCiAgZHJtX2hkY3AyX3UzMl90b19zZXFfbnVtKCkgaXMgdXNlZCBmb3IgdTMyIHRvIHNlcV9u dW0uCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+ ClJldmlld2VkLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jIHwgNjYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3Au YyBiL2RyaXZlcnMvbWlzYy9tZWkvaGRjcC9tZWlfaGRjcC5jCmluZGV4IGMxNTdjMTgzNzFiNC4u OTFmN2IwOGQxZGYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3Au YworKysgYi9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuYwpAQCAtNTIzLDYgKzUyMyw3 MCBAQCBtZWlfcmVwZWF0ZXJfY2hlY2tfZmxvd19wcmVwYXJlX2FjayhzdHJ1Y3QgZGV2aWNlICpk ZXYsCiAJcmV0dXJuIDA7CiB9CiAKKy8qKgorICogbWVpX3ZlcmlmeV9tcHJpbWUoKSAtIFZlcmlm eSBtcHJpbWUuCisgKiBAZGV2OiBkZXZpY2UgY29ycmVzcG9uZGluZyB0byB0aGUgbWVpX2NsX2Rl dmljZQorICogQGhkY3BfZGF0YTogSW50ZWwgSFcgc3BlY2lmaWMgaGRjcCBkYXRhCisgKiBAc3Ry ZWFtX3JlYWR5OiBSZXBlYXRlckF1dGhfU3RyZWFtX1JlYWR5IG1zZyBmb3IgTUUgRlcgdmVyaWZp Y2F0aW9uLgorICoKKyAqIFJldHVybjogMCBvbiBTdWNjZXNzLCA8MCBvbiBGYWlsdXJlCisgKi8K K3N0YXRpYyBpbnQgbWVpX3ZlcmlmeV9tcHJpbWUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg aGRjcF9wb3J0X2RhdGEgKmRhdGEsCisJCQkgICAgIHN0cnVjdCBoZGNwMl9yZXBfc3RyZWFtX3Jl YWR5ICpzdHJlYW1fcmVhZHkpCit7CisJc3RydWN0IHdpcmVkX2NtZF9yZXBlYXRlcl9hdXRoX3N0 cmVhbV9yZXFfaW4KKwkJCQkJdmVyaWZ5X21wcmltZV9pbiA9IHsgeyAwIH0gfTsKKwlzdHJ1Y3Qg d2lyZWRfY21kX3JlcGVhdGVyX2F1dGhfc3RyZWFtX3JlcV9vdXQKKwkJCQkJdmVyaWZ5X21wcmlt ZV9vdXQgPSB7IHsgMCB9IH07CisJc3RydWN0IG1laV9jbF9kZXZpY2UgKmNsZGV2OworCXNzaXpl X3QgYnl0ZTsKKworCWlmICghZGV2IHx8ICFzdHJlYW1fcmVhZHkgfHwgIWRhdGEpCisJCXJldHVy biAtRUlOVkFMOworCisJY2xkZXYgPSB0b19tZWlfY2xfZGV2aWNlKGRldik7CisKKwl2ZXJpZnlf bXByaW1lX2luLmhlYWRlci5hcGlfdmVyc2lvbiA9IEhEQ1BfQVBJX1ZFUlNJT047CisJdmVyaWZ5 X21wcmltZV9pbi5oZWFkZXIuY29tbWFuZF9pZCA9IFdJUkVEX1JFUEVBVEVSX0FVVEhfU1RSRUFN X1JFUTsKKwl2ZXJpZnlfbXByaW1lX2luLmhlYWRlci5zdGF0dXMgPSBNRV9IRENQX1NUQVRVU19T VUNDRVNTOworCXZlcmlmeV9tcHJpbWVfaW4uaGVhZGVyLmJ1ZmZlcl9sZW4gPQorCQkJV0lSRURf Q01EX0JVRl9MRU5fUkVQRUFURVJfQVVUSF9TVFJFQU1fUkVRX01JTl9JTjsKKworCXZlcmlmeV9t cHJpbWVfaW4ucG9ydC5pbnRlZ3JhdGVkX3BvcnRfdHlwZSA9IGRhdGEtPnBvcnRfdHlwZTsKKwl2 ZXJpZnlfbXByaW1lX2luLnBvcnQucGh5c2ljYWxfcG9ydCA9ICh1OClHRVRfTUVJX0RESV9JTkRF WChkYXRhLT5wb3J0KTsKKworCW1lbWNweSh2ZXJpZnlfbXByaW1lX2luLm1fcHJpbWUsIHN0cmVh bV9yZWFkeS0+bV9wcmltZSwKKwkgICAgICAgSERDUF8yXzJfTVBSSU1FX0xFTik7CisJZHJtX2hk Y3AyX3UzMl90b19zZXFfbnVtKHZlcmlmeV9tcHJpbWVfaW4uc2VxX251bV9tLCBkYXRhLT5zZXFf bnVtX20pOworCW1lbWNweSh2ZXJpZnlfbXByaW1lX2luLnN0cmVhbXMsIGRhdGEtPnN0cmVhbXMs CisJICAgICAgIChkYXRhLT5rICogc2l6ZW9mKHN0cnVjdCBoZGNwMl9zdHJlYW1pZF90eXBlKSkp OworCisJdmVyaWZ5X21wcmltZV9pbi5rID0gX19zd2FiMTYoZGF0YS0+ayk7CisKKwlieXRlID0g bWVpX2NsZGV2X3NlbmQoY2xkZXYsICh1OCAqKSZ2ZXJpZnlfbXByaW1lX2luLAorCQkJICAgICAg c2l6ZW9mKHZlcmlmeV9tcHJpbWVfaW4pKTsKKwlpZiAoYnl0ZSA8IDApIHsKKwkJZGV2X2RiZyhk ZXYsICJtZWlfY2xkZXZfc2VuZCBmYWlsZWQuICV6ZFxuIiwgYnl0ZSk7CisJCXJldHVybiBieXRl OworCX0KKworCWJ5dGUgPSBtZWlfY2xkZXZfcmVjdihjbGRldiwgKHU4ICopJnZlcmlmeV9tcHJp bWVfb3V0LAorCQkJICAgICAgc2l6ZW9mKHZlcmlmeV9tcHJpbWVfb3V0KSk7CisJaWYgKGJ5dGUg PCAwKSB7CisJCWRldl9kYmcoZGV2LCAibWVpX2NsZGV2X3JlY3YgZmFpbGVkLiAlemRcbiIsIGJ5 dGUpOworCQlyZXR1cm4gYnl0ZTsKKwl9CisKKwlpZiAodmVyaWZ5X21wcmltZV9vdXQuaGVhZGVy LnN0YXR1cyAhPSBNRV9IRENQX1NUQVRVU19TVUNDRVNTKSB7CisJCWRldl9kYmcoZGV2LCAiTUUg Y21kIDB4JTA4WCBmYWlsZWQuIHN0YXR1czogMHglWFxuIiwKKwkJCVdJUkVEX1JFUEVBVEVSX0FV VEhfU1RSRUFNX1JFUSwKKwkJCXZlcmlmeV9tcHJpbWVfb3V0LmhlYWRlci5zdGF0dXMpOworCQly ZXR1cm4gLUVJTzsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIF9fYXR0cmlidXRlX18o KHVudXNlZCkpCiBzdHJ1Y3QgaTkxNV9oZGNwX2NvbXBvbmVudF9vcHMgbWVpX2hkY3Bfb3BzID0g ewogCS5vd25lciA9IFRISVNfTU9EVUxFLApAQCAtNTM0LDcgKzU5OCw3IEBAIHN0cnVjdCBpOTE1 X2hkY3BfY29tcG9uZW50X29wcyBtZWlfaGRjcF9vcHMgPSB7CiAJLnZlcmlmeV9scHJpbWUgPSBt ZWlfdmVyaWZ5X2xwcmltZSwKIAkuZ2V0X3Nlc3Npb25fa2V5ID0gbWVpX2dldF9zZXNzaW9uX2tl eSwKIAkucmVwZWF0ZXJfY2hlY2tfZmxvd19wcmVwYXJlX2FjayA9IG1laV9yZXBlYXRlcl9jaGVj a19mbG93X3ByZXBhcmVfYWNrLAotCS52ZXJpZnlfbXByaW1lID0gTlVMTCwKKwkudmVyaWZ5X21w cmltZSA9IG1laV92ZXJpZnlfbXByaW1lLAogCS5lbmFibGVfaGRjcF9hdXRoZW50aWNhdGlvbiA9 IE5VTEwsCiAJLmNsb3NlX2hkY3Bfc2Vzc2lvbiA9IE5VTEwsCiB9OwotLSAKMi43LjQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=