[syzbot] [jfs?] KASAN: slab-use-after-free Read in dbFreeBits

From: Edward Adam Davis
Date: Fri Aug 16 2024 - 19:17:08 EST


sync jfs remount and jfs ioctrl with s_umount

#syz test: upstream master

diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
index cb3cda1390ad..a409ae18454a 100644
--- a/fs/jfs/jfs_dmap.c
+++ b/fs/jfs/jfs_dmap.c
@@ -1645,7 +1645,9 @@ s64 dbDiscardAG(struct inode *ip, int agno, s64 minlen)
* call jfs_issue_discard() itself */
if (!(JFS_SBI(sb)->flag & JFS_DISCARD))
jfs_issue_discard(ip, tt->blkno, tt->nblocks);
+ down_read(&sb->s_umount);
dbFree(ip, tt->blkno, tt->nblocks);
+ up_read(&sb->s_umount);
trimmed += tt->nblocks;
}
kfree(totrim);