From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2DB66C47082 for ; Mon, 31 May 2021 05:14:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 03E0B61220 for ; Mon, 31 May 2021 05:14:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230099AbhEaFQI (ORCPT ); Mon, 31 May 2021 01:16:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:41456 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229717AbhEaFQI (ORCPT ); Mon, 31 May 2021 01:16:08 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C8AA560FEB; Mon, 31 May 2021 05:14:24 +0000 (UTC) Date: Mon, 31 May 2021 07:14:21 +0200 From: Greg KH To: Jarkko Sakkinen Cc: linux-integrity@vger.kernel.org, stable@vger.kernel.org, Hans de Goede , Peter Huewe , Jason Gunthorpe , James Bottomley Subject: Re: [PATCH] tpm: Replace WARN_ONCE() with dev_err_once() in tpm_tis_status() Message-ID: References: <20210531045131.110616-1-jarkko@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210531045131.110616-1-jarkko@kernel.org> Precedence: bulk List-ID: X-Mailing-List: linux-integrity@vger.kernel.org On Mon, May 31, 2021 at 07:51:31AM +0300, Jarkko Sakkinen wrote: > Do not torn down the system when getting invalid status from a TPM chip. > This can happen when panic-on-warn is used. > > In addition, print out the value of TPM_STS.x instead of "invalid > status". In order to get the earlier benefits for forensics, also call > dump_stack(). > > Link: https://lore.kernel.org/keyrings/YKzlTR1AzUigShtZ@kroah.com/ > Fixes: 55707d531af6 ("tpm_tis: Add a check for invalid status") > Cc: stable@vger.kernel.org > Cc: Hans de Goede > Cc: Greg KH > Signed-off-by: Jarkko Sakkinen > --- > drivers/char/tpm/tpm_tis_core.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c > index 55b9d3965ae1..514a481829c9 100644 > --- a/drivers/char/tpm/tpm_tis_core.c > +++ b/drivers/char/tpm/tpm_tis_core.c > @@ -202,7 +202,16 @@ 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"); > + dev_err_once(&chip->dev, "invalid TPM_STS.x 0x%02x, dumping stack for forensics\n", > + status); > + > + /* > + * Dump stack for forensics, as invalid TPM_STS.x could be > + * potentially triggered by impaired tpm_try_get_ops() or > + * tpm_find_get_ops(). > + */ > + dump_stack(); > + > return 0; > } Reviewed-by: Greg Kroah-Hartman