reiserfs: prevent NULL pointer dereference in reiserfs_insert_item()
authorYunfeng Ye <yeyunfeng@huawei.com>
Fri, 31 Jan 2020 06:17:26 +0000 (22:17 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Feb 2020 15:36:08 +0000 (16:36 +0100)
[ Upstream commit aacee5446a2a1aa35d0a49dab289552578657fb4 ]

The variable inode may be NULL in reiserfs_insert_item(), but there is
no check before accessing the member of inode.

Fix this by adding NULL pointer check before calling reiserfs_debug().

Link: http://lkml.kernel.org/r/79c5135d-ff25-1cc9-4e99-9f572b88cc00@huawei.com
Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com>
Cc: zhengbin <zhengbin13@huawei.com>
Cc: Hu Shiyuan <hushiyuan@huawei.com>
Cc: Feilong Lin <linfeilong@huawei.com>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/reiserfs/stree.c

index 0037aea97d39a6c73eff9755d805bc2312b552a3..2946713cb00d6cfe327dd6e86ac3b452d6cc34fb 100644 (file)
@@ -2250,7 +2250,8 @@ int reiserfs_insert_item(struct reiserfs_transaction_handle *th,
        /* also releases the path */
        unfix_nodes(&s_ins_balance);
 #ifdef REISERQUOTA_DEBUG
-       reiserfs_debug(th->t_super, REISERFS_DEBUG_CODE,
+       if (inode)
+               reiserfs_debug(th->t_super, REISERFS_DEBUG_CODE,
                       "reiserquota insert_item(): freeing %u id=%u type=%c",
                       quota_bytes, inode->i_uid, head2type(ih));
 #endif