On Wed, Nov 16, 2016 at 08:56:13AM -0500, Stefan Berger wrote:
> Check the bios_dir entry for NULL before accessing it. Currently
> this crashes the driver when a TPM 2 is attached and the entries
> are NULL.
> 
> Signed-off-by: Stefan Berger <[email protected]>

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

> ---
>  drivers/char/tpm/tpm_eventlog.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/char/tpm/tpm_eventlog.c b/drivers/char/tpm/tpm_eventlog.c
> index ebec4ac..fb603a7 100644
> --- a/drivers/char/tpm/tpm_eventlog.c
> +++ b/drivers/char/tpm/tpm_eventlog.c
> @@ -455,10 +455,12 @@ void tpm_bios_log_teardown(struct tpm_chip *chip)
>        * This design ensures that open() either safely gets kref or fails.
>        */
>       for (i = (TPM_NUM_EVENT_LOG_FILES - 1); i >= 0; i--) {
> -             inode = d_inode(chip->bios_dir[i]);
> -             inode_lock(inode);
> -             inode->i_private = NULL;
> -             inode_unlock(inode);
> -             securityfs_remove(chip->bios_dir[i]);
> +             if (chip->bios_dir[i]) {
> +                     inode = d_inode(chip->bios_dir[i]);
> +                     inode_lock(inode);
> +                     inode->i_private = NULL;
> +                     inode_unlock(inode);
> +                     securityfs_remove(chip->bios_dir[i]);
> +             }
>       }
>  }
> -- 
> 2.4.3

/Jarkko

------------------------------------------------------------------------------
_______________________________________________
tpmdd-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tpmdd-devel

Reply via email to