Re: [PATCH 1/1] tpm/tpm_crb: Fix error message in __crb_relinquish_locality()

From: Jarkko Sakkinen
Date: Sun Dec 04 2022 - 14:54:00 EST


On Sun, Dec 04, 2022 at 07:51:20PM +0000, Jarkko Sakkinen wrote:
> On Tue, Nov 29, 2022 at 04:34:09AM +0000, Michael Kelley (LINUX) wrote:
> > From: Jarkko Sakkinen <jarkko@xxxxxxxxxx> Sent: Sunday, November 27, 2022 8:39 AM
> > >
> > > On Fri, Nov 11, 2022 at 11:38:53AM -0800, Michael Kelley wrote:
> > > > The error message in __crb_relinquish_locality() mentions requestAccess
> > > > instead of Relinquish. Fix it.
> > > >
> > > > Fixes: 888d867df441 ("tpm: cmd_ready command can be issued only after granting locality")
> > > > Signed-off-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>
> > > > ---
> > > > drivers/char/tpm/tpm_crb.c | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
> > > > index 1860665..65f8f17 100644
> > > > --- a/drivers/char/tpm/tpm_crb.c
> > > > +++ b/drivers/char/tpm/tpm_crb.c
> > > > @@ -252,7 +252,7 @@ static int __crb_relinquish_locality(struct device *dev,
> > > > iowrite32(CRB_LOC_CTRL_RELINQUISH, &priv->regs_h->loc_ctrl);
> > > > if (!crb_wait_for_reg_32(&priv->regs_h->loc_state, mask, value,
> > > > TPM2_TIMEOUT_C)) {
> > > > - dev_warn(dev, "TPM_LOC_STATE_x.requestAccess timed out\n");
> > > > + dev_warn(dev, "TPM_LOC_STATE_x.Relinquish timed out\n");
> > > > return -ETIME;
> > > > }
> > > >
> > > > --
> > > > 1.8.3.1
> > > >
> > >
> > > Please explain.
> > >
> >
> > There are two parallel functions: __crb_request_locality() and
> > __crb_relinquish_locality(). In the current code, both return the
> > same text in the error message if a timeout occurs. That
> > error message seems appropriate for __crb_request_locality()
> > since it is setting the "requestAccess" bit.
> >
> > But the error message seems inappropriate for
> > __crb_relinquish_locality(), which is setting the "Relinquish" bit.
> > So the patch changes the error message to indicate that the
> > timeout occurred in setting the Relinquish bit.
> >
> > I'm looking at Section 6.5.3.2.2.1 in the TCG PC Client Platform
> > TPM Profile Specification for TPM 2.0, Version 1.05 Revision 14.
> > This is where the "requestAccess" and "Relinquish" bits are defined.
> >
> > Or maybe I am not understanding what you are getting at with
> > "Please explain."
>
> I misread the callback name, when I first looked into this (in
> too much rush). You're absolutely correct.
>
> Reviewed-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>

Applied to git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git

BR, Jarkko