summaryrefslogtreecommitdiff
path: root/fs/ext4/fast_commit.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2021-03-15 17:59:06 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-24 11:54:17 +0100
commit9ac7ff18a845ae1fe146aae437c3b940408d3dd0 (patch)
treea7120823f328eddc12978bb34a14cacb68d66000 /fs/ext4/fast_commit.c
parentb99d7fc175da682bf143851cd54027be3246b228 (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