2022-08-17 20:09:07

by Eddie James

[permalink] [raw]
Subject: [PATCH] tpm: tis_i2c: Fix sanity check interrupt enable mask

The sanity check mask for TPM_INT_ENABLE register was off by 8 bits,
resulting in failure to probe if the TPM_INT_ENABLE register was a
valid value.

Fixes: bbc23a07b072 ("tpm: Add tpm_tis_i2c backend for tpm_tis_core")
Signed-off-by: Eddie James <[email protected]>
---
drivers/char/tpm/tpm_tis_i2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/tpm/tpm_tis_i2c.c b/drivers/char/tpm/tpm_tis_i2c.c
index 0692510dfcab..635a69dfcbbd 100644
--- a/drivers/char/tpm/tpm_tis_i2c.c
+++ b/drivers/char/tpm/tpm_tis_i2c.c
@@ -49,7 +49,7 @@

/* Masks with bits that must be read zero */
#define TPM_ACCESS_READ_ZERO 0x48
-#define TPM_INT_ENABLE_ZERO 0x7FFFFF6
+#define TPM_INT_ENABLE_ZERO 0x7FFFFF60
#define TPM_STS_READ_ZERO 0x23
#define TPM_INTF_CAPABILITY_ZERO 0x0FFFF000
#define TPM_I2C_INTERFACE_CAPABILITY_ZERO 0x80000000
--
2.31.1


2022-08-26 04:10:04

by Jarkko Sakkinen

[permalink] [raw]
Subject: Re: [PATCH] tpm: tis_i2c: Fix sanity check interrupt enable mask

On Wed, Aug 17, 2022 at 03:03:33PM -0500, Eddie James wrote:
> The sanity check mask for TPM_INT_ENABLE register was off by 8 bits,
> resulting in failure to probe if the TPM_INT_ENABLE register was a
> valid value.
>
> Fixes: bbc23a07b072 ("tpm: Add tpm_tis_i2c backend for tpm_tis_core")
> Signed-off-by: Eddie James <[email protected]>
> ---
> drivers/char/tpm/tpm_tis_i2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm_tis_i2c.c b/drivers/char/tpm/tpm_tis_i2c.c
> index 0692510dfcab..635a69dfcbbd 100644
> --- a/drivers/char/tpm/tpm_tis_i2c.c
> +++ b/drivers/char/tpm/tpm_tis_i2c.c
> @@ -49,7 +49,7 @@
>
> /* Masks with bits that must be read zero */
> #define TPM_ACCESS_READ_ZERO 0x48
> -#define TPM_INT_ENABLE_ZERO 0x7FFFFF6
> +#define TPM_INT_ENABLE_ZERO 0x7FFFFF60
> #define TPM_STS_READ_ZERO 0x23
> #define TPM_INTF_CAPABILITY_ZERO 0x0FFFF000
> #define TPM_I2C_INTERFACE_CAPABILITY_ZERO 0x80000000
> --
> 2.31.1
>

Reviewed-by: Jarkko Sakkinen <[email protected]>

Thank you.

BR, Jarkko

2022-08-26 04:54:57

by Jarkko Sakkinen

[permalink] [raw]
Subject: Re: [PATCH] tpm: tis_i2c: Fix sanity check interrupt enable mask

On Fri, Aug 26, 2022 at 07:04:00AM +0300, Jarkko Sakkinen wrote:
> On Wed, Aug 17, 2022 at 03:03:33PM -0500, Eddie James wrote:
> > The sanity check mask for TPM_INT_ENABLE register was off by 8 bits,
> > resulting in failure to probe if the TPM_INT_ENABLE register was a
> > valid value.
> >
> > Fixes: bbc23a07b072 ("tpm: Add tpm_tis_i2c backend for tpm_tis_core")
> > Signed-off-by: Eddie James <[email protected]>
> > ---
> > drivers/char/tpm/tpm_tis_i2c.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/char/tpm/tpm_tis_i2c.c b/drivers/char/tpm/tpm_tis_i2c.c
> > index 0692510dfcab..635a69dfcbbd 100644
> > --- a/drivers/char/tpm/tpm_tis_i2c.c
> > +++ b/drivers/char/tpm/tpm_tis_i2c.c
> > @@ -49,7 +49,7 @@
> >
> > /* Masks with bits that must be read zero */
> > #define TPM_ACCESS_READ_ZERO 0x48
> > -#define TPM_INT_ENABLE_ZERO 0x7FFFFF6
> > +#define TPM_INT_ENABLE_ZERO 0x7FFFFF60
> > #define TPM_STS_READ_ZERO 0x23
> > #define TPM_INTF_CAPABILITY_ZERO 0x0FFFF000
> > #define TPM_I2C_INTERFACE_CAPABILITY_ZERO 0x80000000
> > --
> > 2.31.1
> >
>
> Reviewed-by: Jarkko Sakkinen <[email protected]>
>
> Thank you.

I used "6.3 Handling of Multi-Byte Registers" I2C specification
to check this. I do not posses I2C chip.

https://trustedcomputinggroup.org/wp-content/uploads/TCG-TPM-I2C-Interface-Specification-v1.00.pdf

BR, Jarkko

2022-11-14 03:23:58

by Joel Stanley

[permalink] [raw]
Subject: Re: [PATCH] tpm: tis_i2c: Fix sanity check interrupt enable mask

On Wed, 17 Aug 2022 at 20:03, Eddie James <[email protected]> wrote:
>
> The sanity check mask for TPM_INT_ENABLE register was off by 8 bits,
> resulting in failure to probe if the TPM_INT_ENABLE register was a
> valid value.
>
> Fixes: bbc23a07b072 ("tpm: Add tpm_tis_i2c backend for tpm_tis_core")
> Signed-off-by: Eddie James <[email protected]>

Tested-by: Joel Stanley <[email protected]>
Fixes: bbc23a07b072 ("tpm: Add tpm_tis_i2c backend for tpm_tis_core")

Jarkko, do you plan on sending this as a fix?

> ---
> drivers/char/tpm/tpm_tis_i2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm_tis_i2c.c b/drivers/char/tpm/tpm_tis_i2c.c
> index 0692510dfcab..635a69dfcbbd 100644
> --- a/drivers/char/tpm/tpm_tis_i2c.c
> +++ b/drivers/char/tpm/tpm_tis_i2c.c
> @@ -49,7 +49,7 @@
>
> /* Masks with bits that must be read zero */
> #define TPM_ACCESS_READ_ZERO 0x48
> -#define TPM_INT_ENABLE_ZERO 0x7FFFFF6
> +#define TPM_INT_ENABLE_ZERO 0x7FFFFF60
> #define TPM_STS_READ_ZERO 0x23
> #define TPM_INTF_CAPABILITY_ZERO 0x0FFFF000
> #define TPM_I2C_INTERFACE_CAPABILITY_ZERO 0x80000000
> --
> 2.31.1
>

2022-11-26 00:37:12

by Jarkko Sakkinen

[permalink] [raw]
Subject: Re: [PATCH] tpm: tis_i2c: Fix sanity check interrupt enable mask

On Mon, Nov 14, 2022 at 03:16:00AM +0000, Joel Stanley wrote:
> On Wed, 17 Aug 2022 at 20:03, Eddie James <[email protected]> wrote:
> >
> > The sanity check mask for TPM_INT_ENABLE register was off by 8 bits,
> > resulting in failure to probe if the TPM_INT_ENABLE register was a
> > valid value.
> >
> > Fixes: bbc23a07b072 ("tpm: Add tpm_tis_i2c backend for tpm_tis_core")
> > Signed-off-by: Eddie James <[email protected]>
>
> Tested-by: Joel Stanley <[email protected]>
> Fixes: bbc23a07b072 ("tpm: Add tpm_tis_i2c backend for tpm_tis_core")
>
> Jarkko, do you plan on sending this as a fix?

Thanks for reminding! I picked it.

BR, Jarkko