Messages in this thread | | | Date | Tue, 24 Apr 2012 11:47:08 -0300 | From | Rajiv Andrade <> | Subject | Re: [PATCH] [RFC] TPM: be silent if disabled or deactivated |
| |
On Thu, 12 Apr 2012, Paul Bolle wrote:
> Since v3.3 the TPM security chip on a laptop I use prints two messages > at every boot and every resume: > tpm_tis 00:0a: A TPM error (6) occurred attempting to read a pcr value > tpm_tis 00:0a: TPM is disabled/deactivated (0x6) > > The second message is just an informational message, indicating that > this chip is deactivated (0x6 is TPM_ERR_DEACTIVATED). That doesn't > bother me. The first message is printed at KERN_ERR level. To me it > seems that it is not an error if a security chip is deactivated or > disabled. So suppress that error message in those two cases. > > Signed-off-by: Paul Bolle <pebolle@tiscali.nl> > --- > 0) Tested against v3.3. (This laptop is currently tracking the Fedora 16 > kernel, which is now v3.3 based.) Applies cleanly to v3.4-rc2. > > 1) Sent as an RFC because I don't actually use any TPM functionality. > (At least, that's what I think. I'm entirely unfamiliar with TPM.) > Moreover, there are a number of code paths that hit this messages, and > for some of those this patch might hide this error where people still > would like to see it. But my usage probably doesn't trigger those code > paths. >
Thanks for pointing this out Paul. We indeed don't want this being thrown out as an error if the TPM is in this state. Although your patch fits well and solves this neatly, transmit_cmd(), as you mentioned, is called by essentially all functions attempting to send a command to the TPM. Therefore, we do want to trigger this as an error in case a faulty hardware claims to be functional after the tpm_do_selftest(), but decides to return this error code when already registered. I'll modify tpm_do_selftest() to handle these two scenarios.
Rajiv
> drivers/char/tpm/tpm.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c > index 32362cf..40a09b5 100644 > --- a/drivers/char/tpm/tpm.c > +++ b/drivers/char/tpm/tpm.c > @@ -473,7 +473,7 @@ static ssize_t transmit_cmd(struct tpm_chip *chip, struct tpm_cmd_t *cmd, > return -EFAULT; > > err = be32_to_cpu(cmd->header.out.return_code); > - if (err != 0) > + if (err != 0 && err != TPM_ERR_DISABLED && err != TPM_ERR_DEACTIVATED) > dev_err(chip->dev, "A TPM error (%d) occurred %s\n", err, desc); > > return err; > -- > 1.7.7.6 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ >
| |