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

From: Jarkko Sakkinen
Date: Sun Dec 04 2022 - 14:51:39 EST


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>

BR, Jarkko