diff options
author | Jan Kara <jack@suse.cz> | 2021-03-15 17:59:06 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-03-24 11:54:17 +0100 |
commit | 9ac7ff18a845ae1fe146aae437c3b940408d3dd0 (patch) | |
tree | a7120823f328eddc12978bb34a14cacb68d66000 /fs/ext4/fast_commit.c | |
parent | b99d7fc175da682bf143851cd54027be3246b228 (diff) |
ext4: fix timer use-after-free on failed mount
commit 2a4ae3bcdf05b8639406eaa09a2939f3c6dd8e75 upstream.
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: 2d01ddc86606 ("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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/ext4/fast_commit.c')
0 files changed, 0 insertions, 0 deletions