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

From: Michael Kelley (LINUX)
Date: Mon Nov 28 2022 - 23:34:20 EST


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."

Michael