[PATCH] tpm: Ensure that tpm chip has ops to check if it's defective

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The ibmvtpm doesn't have `chip->ops` set, and so trying to check
if it's a defective AMD fTPM doesn't work.

Add an extra check to tpm_amd_is_rng_defective() to ensure the
TPM being checked has `chip->ops`.

Cc: Linux regressions mailing list <regressions@xxxxxxxxxxxxxxx>
Reported-by: Aneesh Kumar K. V <aneesh.kumar@xxxxxxxxxxxxx>
Reported-by: Sachin Sant <sachinp@xxxxxxxxxxxxx>
Link: https://lore.kernel.org/lkml/99B81401-DB46-49B9-B321-CF832B50CAC3@xxxxxxxxxxxxx/
Tested-by: Sachin Sant <sachinp@xxxxxxxxxxxxx>
Fixes: bd8621ca1510 ("tpm: Add !tpm_amd_is_rng_defective() to the hwrng_unregister() call site")
Fixes: f1324bbc4011 ("tpm: disable hwrng for fTPM on some AMD designs")
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
 drivers/char/tpm/tpm-chip.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
index cd48033b804a..9ba433761e9a 100644
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@ -524,6 +524,9 @@ static bool tpm_amd_is_rng_defective(struct tpm_chip *chip)
 	u64 version;
 	int ret;
 
+	if (!chip->ops)
+		return false;
+
 	if (!(chip->flags & TPM_CHIP_FLAG_TPM2))
 		return false;
 
-- 
2.34.1




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux Kernel]     [Linux Kernel Hardening]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux