From 5b60e1a889246a5a0d131e74ceaf240fc0637c9f Mon Sep 17 00:00:00 2001
From: Shuicheng Lin <shuicheng.lin@intel.com>
Date: Sat, 29 Dec 2018 02:51:39 +0800
Subject: [PATCH] pick upstream patch to fix build failure with CentOS 7.6
 3.10.0-957.1.3 kernel

Pick upstream patch from "git://git.infradead.org/users/jjs/linux-tpmdd.git"

"
From aad887f6641145fec2a801da2ce4ed36cf99c6a5 Mon Sep 17 00:00:00 2001
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Date: Sun, 5 Nov 2017 13:16:26 +0200
Subject: [PATCH] tpm: use struct tpm_chip for tpm_chip_find_get()

Device number (the character device index) is not a stable identifier
for a TPM chip. That is the reason why every call site passes
TPM_ANY_NUM to tpm_chip_find_get().

This commit changes the API in a way that instead a struct tpm_chip
instance is given and NULL means the default chip. In addition, this
commit refines the documentation to be up to date with the
implementation.

Suggested-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> (@chip_num -> @chip part)
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Reviewed-by: Jason Gunthorpe <jgg@ziepe.ca>
Tested-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
"

Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
---
 ima/ima_crypto.c | 2 +-
 ima/ima_init.c   | 2 +-
 ima/ima_queue.c  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ima/ima_crypto.c b/ima/ima_crypto.c
index 802d5d2..3371d13 100644
--- a/ima/ima_crypto.c
+++ b/ima/ima_crypto.c
@@ -644,7 +644,7 @@ static void __init ima_pcrread(int idx, u8 *pcr)
 	if (!ima_used_chip)
 		return;
 
-	if (tpm_pcr_read(TPM_ANY_NUM, idx, pcr) != 0)
+	if (tpm_pcr_read(NULL, idx, pcr) != 0)
 		pr_err("Error Communicating to TPM chip\n");
 }
 
diff --git a/ima/ima_init.c b/ima/ima_init.c
index a7362e8..577c7b7 100644
--- a/ima/ima_init.c
+++ b/ima/ima_init.c
@@ -115,7 +115,7 @@ int __init ima_init(void)
 	
 	if (ima_used_chip != 0) {
 		ima_used_chip = 0;
-		rc = tpm_pcr_read(TPM_ANY_NUM, 0, pcr_i);
+		rc = tpm_pcr_read(NULL, 0, pcr_i);
 		if (rc == 0)
 			ima_used_chip = 1;
 	}
diff --git a/ima/ima_queue.c b/ima/ima_queue.c
index d9aa5ab..9946363 100644
--- a/ima/ima_queue.c
+++ b/ima/ima_queue.c
@@ -145,7 +145,7 @@ static int ima_pcr_extend(const u8 *hash, int pcr)
 	if (!ima_used_chip)
 		return result;
 
-	result = tpm_pcr_extend(TPM_ANY_NUM, pcr, hash);
+	result = tpm_pcr_extend(NULL, pcr, hash);
 	if (result != 0)
 		pr_err("Error Communicating to TPM chip, result: %d\n", result);
 	return result;
-- 
2.7.4

