On 11/16/2016 10:40 AM, Jarkko Sakkinen wrote:
> On Wed, Nov 16, 2016 at 08:28:30PM +0530, Nayna wrote:
>>
>> On 11/16/2016 07:26 PM, 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.
>> Thanks Stefan !! I think it would be good to also add Fixes in commit
>> description here.
>>
>> Fixes: d660a91a1b9d (tpm: adds NULL check for securityfs pseudo files)
> Not mandatory as this is not in the mainline tree but doesn't hurt
> either.
I wished you could just merge this fix patch into Nayna's original patch
-- makes bisecting the code a lot easier.
Stefan
>
> /Jarkko
>
>> Thanks & Regards,
>> - Nayna
>>
>>> Signed-off-by: Stefan Berger <[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]);
>>> + }
>>> }
>>> }
>>>
------------------------------------------------------------------------------
_______________________________________________
tpmdd-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tpmdd-devel