diff mbox series

tpm: tis_i2c: Fix sanity check interrupt enable mask

Message ID 20220817200333.305264-1-eajames@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series tpm: tis_i2c: Fix sanity check interrupt enable mask | expand

Commit Message

Eddie James Aug. 17, 2022, 8:03 p.m. UTC
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 <eajames@linux.ibm.com>
---
 drivers/char/tpm/tpm_tis_i2c.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jarkko Sakkinen Aug. 26, 2022, 4:03 a.m. UTC | #1
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 <eajames@linux.ibm.com>
> ---
>  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 <jarkko@kernel.org>

Thank you.

BR, Jarkko
Jarkko Sakkinen Aug. 26, 2022, 4:10 a.m. UTC | #2
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 <eajames@linux.ibm.com>
> > ---
> >  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 <jarkko@kernel.org>
> 
> 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
Joel Stanley Nov. 14, 2022, 3:16 a.m. UTC | #3
On Wed, 17 Aug 2022 at 20:03, Eddie James <eajames@linux.ibm.com> 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 <eajames@linux.ibm.com>

Tested-by: Joel Stanley <joel@jms.id.au>
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
>
Jarkko Sakkinen Nov. 26, 2022, 12:14 a.m. UTC | #4
On Mon, Nov 14, 2022 at 03:16:00AM +0000, Joel Stanley wrote:
> On Wed, 17 Aug 2022 at 20:03, Eddie James <eajames@linux.ibm.com> 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 <eajames@linux.ibm.com>
> 
> Tested-by: Joel Stanley <joel@jms.id.au>
> 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
diff mbox series

Patch

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