From: Stefan Berger Date: Wed, 16 Nov 2016 13:56:13 +0000 (-0500) Subject: tpm: Check the bios_dir entry for NULL before accessing it X-Git-Tag: v4.10-rc1~116^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=005451d44ad46623aac8349df15d7c0d1d8914c1;p=platform%2Fkernel%2Flinux-exynos.git tpm: Check the bios_dir entry for NULL before accessing it 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 Reviewed-by: Jarkko Sakkinen Tested-by: Jarkko Sakkinen Signed-off-by: Jarkko Sakkinen --- diff --git a/drivers/char/tpm/tpm_eventlog.c b/drivers/char/tpm/tpm_eventlog.c index 8ee4ea1..34f0921 100644 --- a/drivers/char/tpm/tpm_eventlog.c +++ b/drivers/char/tpm/tpm_eventlog.c @@ -449,10 +449,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]); + } } }