Re: [PATCH] tpm: WARN_ONCE() -> pr_warn_once() in tpm_tis_status()
From: "Serge E. Hallyn" <serge@hallyn.com>
Date: 2021-02-02 17:42:24
Also in:
stable
On Tue, Feb 02, 2021 at 05:33:17PM +0200, jarkko@kernel.org wrote:
quoted hunk ↗ jump to hunk
From: Jarkko Sakkinen <jarkko@kernel.org> An unexpected status from TPM chip is not irrecovable failure of the kernel. It's only undesirable situation. Thus, change the WARN_ONCE instance inside tpm_tis_status() to pr_warn_once(). In addition: print the status in the log message because it is actually useful information lacking from the existing log message. Suggested-by: Guenter Roeck <linux@roeck-us.net> Cc: stable@vger.kernel.org Fixes: 6f4f57f0b909 ("tpm: ibmvtpm: fix error return code in tpm_ibmvtpm_probe()") Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org> --- drivers/char/tpm/tpm_tis_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c index 431919d5f48a..21f67c6366cb 100644 --- a/drivers/char/tpm/tpm_tis_core.c +++ b/drivers/char/tpm/tpm_tis_core.c@@ -202,7 +202,7 @@ static u8 tpm_tis_status(struct tpm_chip *chip) * acquired. Usually because tpm_try_get_ops() hasn't * been called before doing a TPM operation. */ - WARN_ONCE(1, "TPM returned invalid status\n"); + pr_warn_once("TPM returned invalid status: 0x%x\n", status); return 0; }
Actually in this case I don't understand why _once, especially based on the comment. Would ratelimited not be better? So we can see if it happens repeatedly? Even better would be if we could see when it next gave a valid status after an invalid one.