Re: [PATCH 3/3] tpm: Drop CONFIG_HW_RANDOM_TPM

From: Paul Menzel
Date: Thu Aug 03 2023 - 03:23:23 EST


Dear Mario,


Thank you for the patch.

Am 03.08.23 um 03:50 schrieb Mario Limonciello:
As the behavior of whether a TPM is registered for hwrng can be controlled
by command line, drop the kernel configuration option.

Shouldn’t this be left in to be able to set the default without having to change the Linux kernel command line?


Kind regards

Paul


Cc: Mateusz Schyboll <dragonn@xxxxx>
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
drivers/char/tpm/Kconfig | 11 -----------
drivers/char/tpm/tpm-chip.c | 6 +++---
2 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/char/tpm/Kconfig b/drivers/char/tpm/Kconfig
index 927088b2c3d3f..69aaa730dc208 100644
--- a/drivers/char/tpm/Kconfig
+++ b/drivers/char/tpm/Kconfig
@@ -27,17 +27,6 @@ menuconfig TCG_TPM
if TCG_TPM
-config HW_RANDOM_TPM
- bool "TPM HW Random Number Generator support"
- depends on TCG_TPM && HW_RANDOM && !(TCG_TPM=y && HW_RANDOM=m)
- default y
- help
- This setting exposes the TPM's Random Number Generator as a hwrng
- device. This allows the kernel to collect randomness from the TPM at
- boot, and provides the TPM randomines in /dev/hwrng.
-
- If unsure, say Y.
-
config TCG_TIS_CORE
tristate
help
diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
index 8fb42232bd7a5..0d69335743469 100644
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@ -533,7 +533,7 @@ static int tpm_add_hwrng(struct tpm_chip *chip)
if (!trust_tpm)
chip->flags |= TPM_CHIP_FLAG_HWRNG_DISABLED;
- if (!IS_ENABLED(CONFIG_HW_RANDOM_TPM) || tpm_is_firmware_upgrade(chip) ||
+ if (tpm_is_firmware_upgrade(chip) ||
chip->flags & TPM_CHIP_FLAG_HWRNG_DISABLED)
return 0;
@@ -639,7 +639,7 @@ int tpm_chip_register(struct tpm_chip *chip)
return 0;
out_hwrng:
- if (IS_ENABLED(CONFIG_HW_RANDOM_TPM) && !tpm_is_firmware_upgrade(chip) &&
+ if (!tpm_is_firmware_upgrade(chip) &&
!(chip->flags & TPM_CHIP_FLAG_HWRNG_DISABLED))
hwrng_unregister(&chip->hwrng);
out_ppi:
@@ -665,7 +665,7 @@ EXPORT_SYMBOL_GPL(tpm_chip_register);
void tpm_chip_unregister(struct tpm_chip *chip)
{
tpm_del_legacy_sysfs(chip);
- if (IS_ENABLED(CONFIG_HW_RANDOM_TPM) && !tpm_is_firmware_upgrade(chip) &&
+ if (!tpm_is_firmware_upgrade(chip) &&
!(chip->flags & TPM_CHIP_FLAG_HWRNG_DISABLED))
hwrng_unregister(&chip->hwrng);
tpm_bios_log_teardown(chip);