summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/log.c
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2021-03-12 13:58:54 +0100
committerAndreas Gruenbacher <agruenba@redhat.com>2021-03-12 14:55:23 +0100
commitd5bf630f355d8c532bef2347cf90e8ae60a5f1bd (patch)
treecb7cdc1c95c123fa07ded5b6f017cf68a70f53be /fs/gfs2/log.c
parentgfs2: fix use-after-free in trans_drain (diff)
downloadlinux-d5bf630f355d8c532bef2347cf90e8ae60a5f1bd.tar.xz
linux-d5bf630f355d8c532bef2347cf90e8ae60a5f1bd.zip
gfs2: bypass signal_our_withdraw if no journal
Before this patch, function signal_our_withdraw referenced the journal inode immediately. But corrupt file systems may have some invalid journals, in which case our attempt to read it in will withdraw and the resulting signal_our_withdraw would dereference the NULL value. This patch adds a check to signal_our_withdraw so that if the journal has not yet been initialized, it simply returns and does the old-style withdraw. Thanks, Andy Price, for his analysis. Reported-by: syzbot+50a8a9cf8127f2c6f5df@syzkaller.appspotmail.com Fixes: 601ef0d52e96 ("gfs2: Force withdraw to replay journals and wait for it to finish") Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2/log.c')
0 files changed, 0 insertions, 0 deletions