]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: fix timer use-after-free on failed mount
authorJan Kara <jack@suse.cz>
Mon, 15 Mar 2021 16:59:06 +0000 (17:59 +0100)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 21 Mar 2021 04:27:49 +0000 (00:27 -0400)
commit46d45c620b97b485a4486ffd436a56c610d25251
tree91b8caa387423ca6b69fa991141da04dd739eb58
parent87e7a61f3340f036a30ae680a600b8390bf89389
ext4: fix timer use-after-free on failed mount

When filesystem mount fails because of corrupted filesystem we first
cancel the s_err_report timer reminding fs errors every day and only
then we flush s_error_work. However s_error_work may report another fs
error and re-arm timer thus resulting in timer use-after-free. Fix the
problem by first flushing the work and only after that canceling the
s_err_report timer.

Reported-by: syzbot+628472a2aac693ab0fcd@syzkaller.appspotmail.com
Fixes: a5f1fe57630e ("ext4: save error info to sb through journal if available")
CC: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20210315165906.2175-1-jack@suse.cz
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/super.c