diff options
author | Theodore Ts'o <tytso@mit.edu> | 2023-05-06 21:04:01 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-05-17 11:53:58 +0200 |
commit | 665cc3ba50330049524c1d275bc840a8f28dde73 (patch) | |
tree | ebd90d992c7b116ce1e9e6b5e5fe4065eeb1c495 /fs/cachefiles | |
parent | f68876aeef96ef8b708ab10b9cb47ce0a5adb424 (diff) | |
download | linux-665cc3ba50330049524c1d275bc840a8f28dde73.tar.gz |
ext4: fix deadlock when converting an inline directory in nojournal mode
commit f4ce24f54d9cca4f09a395f3eecce20d6bec4663 upstream. In no journal mode, ext4_finish_convert_inline_dir() can self-deadlock by calling ext4_handle_dirty_dirblock() when it already has taken the directory lock. There is a similar self-deadlock in ext4_incvert_inline_data_nolock() for data files which we'll fix at the same time. A simple reproducer demonstrating the problem: mke2fs -Fq -t ext2 -O inline_data -b 4k /dev/vdc 64 mount -t ext4 -o dirsync /dev/vdc /vdc cd /vdc mkdir file0 cd file0 touch file0 touch file1 attr -s BurnSpaceInEA -V abcde . touch supercalifragilisticexpialidocious Cc: stable@kernel.org Link: https://lore.kernel.org/r/20230507021608.1290720-1-tytso@mit.edu Reported-by: syzbot+91dccab7c64e2850a4e5@syzkaller.appspotmail.com Link: https://syzkaller.appspot.com/bug?id=ba84cc80a9491d65416bc7877e1650c87530fe8a Signed-off-by: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/cachefiles')
0 files changed, 0 insertions, 0 deletions