All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko@kernel.org>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: "Serge E. Hallyn" <serge@hallyn.com>,
	linux-integrity@vger.kernel.org,
	Guenter Roeck <linux@roeck-us.net>,
	stable@vger.kernel.org, Peter Huewe <peterhuewe@gmx.de>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Stefan Berger <stefanb@linux.ibm.com>,
	Wang Hai <wanghai38@huawei.com>
Subject: Re: [PATCH] tpm: WARN_ONCE() -> pr_warn_once() in tpm_tis_status()
Date: Wed, 3 Feb 2021 00:27:37 +0200	[thread overview]
Message-ID: <YBnR2YLitNJzvNBk@kernel.org> (raw)
In-Reply-To: <1d661a6bdf2d7a9a31b3357ef4170a1309cf2aa4.camel@HansenPartnership.com>

On Tue, Feb 02, 2021 at 09:58:24AM -0800, James Bottomley wrote:
> On Tue, 2021-02-02 at 11:26 -0600, Serge E. Hallyn wrote:
> > On Tue, Feb 02, 2021 at 05:33:17PM +0200, jarkko@kernel.org wrote:
> > > 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.
> 
> The reason was that we're trying to catch and kill paths to the status
> where the locality is incorrect.  If you do some operation that finds
> an incorrect path the likelihood is you'll exercise it more than once,
> but all we need to identify it is the call trace from a single access. 
> The symptom the user space process sees is a TPM timeout, but we still
> have the in-kernel trace to tell us why.

I don't agree with this reasoning. This warn could spun off also from chip
not following TCG spec. The patch does provide the status code, which is
always useful information.

/Jarkko

  reply	other threads:[~2021-02-02 22:31 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-02 15:33 [PATCH] tpm: WARN_ONCE() -> pr_warn_once() in tpm_tis_status() jarkko
2021-02-02 15:43 ` Guenter Roeck
2021-02-02 22:05   ` Jarkko Sakkinen
2021-02-02 16:05 ` Stefan Berger
2021-02-02 22:06   ` Jarkko Sakkinen
2021-02-02 16:46 ` Jason Gunthorpe
2021-02-02 22:25   ` Jarkko Sakkinen
2021-02-02 17:26 ` Serge E. Hallyn
2021-02-02 17:58   ` James Bottomley
2021-02-02 22:27     ` Jarkko Sakkinen [this message]
2021-02-02 22:29       ` Jarkko Sakkinen
2021-02-02 23:00       ` James Bottomley
2021-02-03  0:01         ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YBnR2YLitNJzvNBk@kernel.org \
    --to=jarkko@kernel.org \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=peterhuewe@gmx.de \
    --cc=serge@hallyn.com \
    --cc=stable@vger.kernel.org \
    --cc=stefanb@linux.ibm.com \
    --cc=wanghai38@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.