]> Git Repo - linux.git/commit
nilfs2: fix use-after-free bug of struct nilfs_root
authorRyusuke Konishi <[email protected]>
Mon, 3 Oct 2022 15:05:19 +0000 (00:05 +0900)
committerAndrew Morton <[email protected]>
Wed, 12 Oct 2022 02:05:44 +0000 (19:05 -0700)
commitd325dc6eb763c10f591c239550b8c7e5466a5d09
tree6fc9482d6abf38a75889208b399196de59b8dafa
parentb1f44cdabad8c50cd72d6b6731e9fdf3730a8f4f
nilfs2: fix use-after-free bug of struct nilfs_root

If the beginning of the inode bitmap area is corrupted on disk, an inode
with the same inode number as the root inode can be allocated and fail
soon after.  In this case, the subsequent call to nilfs_clear_inode() on
that bogus root inode will wrongly decrement the reference counter of
struct nilfs_root, and this will erroneously free struct nilfs_root,
causing kernel oopses.

This fixes the problem by changing nilfs_new_inode() to skip reserved
inode numbers while repairing the inode bitmap.

Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Ryusuke Konishi <[email protected]>
Reported-by: [email protected]
Reported-by: Khalid Masum <[email protected]>
Tested-by: Ryusuke Konishi <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
fs/nilfs2/inode.c
This page took 0.053394 seconds and 4 git commands to generate.