summaryrefslogtreecommitdiff
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2014-10-06 02:47:07 (GMT)
committerTheodore Ts'o <tytso@mit.edu>2014-10-06 02:47:07 (GMT)
commite2bfb088fac03c0f621886a04cffc7faa2b49b1d (patch)
tree019df92d68735cc63ba24d723b42a687dbd955d1 /drivers/watchdog
parent3e67cfad22230ebed85c56cbe413876f33fea82b (diff)
downloadlinux-e2bfb088fac03c0f621886a04cffc7faa2b49b1d.tar.xz
ext4: don't orphan or truncate the boot loader inode
The boot loader inode (inode #5) should never be visible in the directory hierarchy, but it's possible if the file system is corrupted that there will be a directory entry that points at inode #5. In order to avoid accidentally trashing it, when such a directory inode is opened, the inode will be marked as a bad inode, so that it's not possible to modify (or read) the inode from userspace. Unfortunately, when we unlink this (invalid/illegal) directory entry, we will put the bad inode on the ophan list, and then when try to unlink the directory, we don't actually remove the bad inode from the orphan list before freeing in-memory inode structure. This means the in-memory orphan list is corrupted, leading to a kernel oops. In addition, avoid truncating a bad inode in ext4_destroy_inode(), since truncating the boot loader inode is not a smart thing to do. Reported-by: Sami Liedes <sami.liedes@iki.fi> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/watchdog')
0 files changed, 0 insertions, 0 deletions