2016-04-25 09:21:52

by Jarkko Sakkinen

[permalink] [raw]
Subject: [PATCH] tpm: check for TPM_CHIP_FLAG_TPM2 before calling tpm2_shutdown()

Signed-off-by: Jarkko Sakkinen <[email protected]>
Reported-by: Stefan Berger <[email protected]>
---
drivers/char/tpm/tpm-chip.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
index a12db8e..1965dc7 100644
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@ -270,7 +270,8 @@ static void tpm_del_char_device(struct tpm_chip *chip)

/* Make the driver uncallable. */
down_write(&chip->ops_sem);
- tpm2_shutdown(chip, TPM2_SU_CLEAR);
+ if (chip->flags & TPM_CHIP_FLAG_TPM2)
+ tpm2_shutdown(chip, TPM2_SU_CLEAR);
chip->ops = NULL;
up_write(&chip->ops_sem);
}
--
2.7.4


2016-04-25 17:57:34

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] tpm: check for TPM_CHIP_FLAG_TPM2 before calling tpm2_shutdown()

On Mon, Apr 25, 2016 at 12:21:30PM +0300, Jarkko Sakkinen wrote:
> Signed-off-by: Jarkko Sakkinen <[email protected]>
> Reported-by: Stefan Berger <[email protected]>
> drivers/char/tpm/tpm-chip.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-By: Jason Gunthorpe <[email protected]>
Fixes: 20e0152393b41 ("tpm: fix crash in tpm_tis deinitialization")

> diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
> index a12db8e..1965dc7 100644
> +++ b/drivers/char/tpm/tpm-chip.c
> @@ -270,7 +270,8 @@ static void tpm_del_char_device(struct tpm_chip *chip)
>
> /* Make the driver uncallable. */
> down_write(&chip->ops_sem);
> - tpm2_shutdown(chip, TPM2_SU_CLEAR);
> + if (chip->flags & TPM_CHIP_FLAG_TPM2)
> + tpm2_shutdown(chip, TPM2_SU_CLEAR);
> chip->ops = NULL;
> up_write(&chip->ops_sem);
> }

2016-04-25 18:48:52

by Jarkko Sakkinen

[permalink] [raw]
Subject: Re: [PATCH] tpm: check for TPM_CHIP_FLAG_TPM2 before calling tpm2_shutdown()

On Mon, Apr 25, 2016 at 11:57:20AM -0600, Jason Gunthorpe wrote:
> On Mon, Apr 25, 2016 at 12:21:30PM +0300, Jarkko Sakkinen wrote:
> > Signed-off-by: Jarkko Sakkinen <[email protected]>
> > Reported-by: Stefan Berger <[email protected]>
> > drivers/char/tpm/tpm-chip.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
>
> Reviewed-By: Jason Gunthorpe <[email protected]>
> Fixes: 20e0152393b41 ("tpm: fix crash in tpm_tis deinitialization")

Thanks and thanks for the fixes line (forgot to add it) :)

/Jarkko

> > diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
> > index a12db8e..1965dc7 100644
> > +++ b/drivers/char/tpm/tpm-chip.c
> > @@ -270,7 +270,8 @@ static void tpm_del_char_device(struct tpm_chip *chip)
> >
> > /* Make the driver uncallable. */
> > down_write(&chip->ops_sem);
> > - tpm2_shutdown(chip, TPM2_SU_CLEAR);
> > + if (chip->flags & TPM_CHIP_FLAG_TPM2)
> > + tpm2_shutdown(chip, TPM2_SU_CLEAR);
> > chip->ops = NULL;
> > up_write(&chip->ops_sem);
> > }
>

2016-04-25 19:09:25

by Stefan Berger

[permalink] [raw]
Subject: Re: [PATCH] tpm: check for TPM_CHIP_FLAG_TPM2 before calling tpm2_shutdown()

On 04/25/2016 01:57 PM, Jason Gunthorpe wrote:
> On Mon, Apr 25, 2016 at 12:21:30PM +0300, Jarkko Sakkinen wrote:
>> Signed-off-by: Jarkko Sakkinen <[email protected]>
>> Reported-by: Stefan Berger <[email protected]>
>> drivers/char/tpm/tpm-chip.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
> Reviewed-By: Jason Gunthorpe <[email protected]>
> Fixes: 20e0152393b41 ("tpm: fix crash in tpm_tis deinitialization")

Tested-by: Stefan Berger <[email protected]>