Re: [syzbot] Re: [syzbot] [jfs?] KASAN: slab-use-after-free Read in lmLogInit
From: syzbot
Date: Mon Aug 26 2024 - 05:03:04 EST
For archival purposes, forwarding an incoming command email to
linux-kernel@xxxxxxxxxxxxxxx.
***
Subject: Re: [syzbot] [jfs?] KASAN: slab-use-after-free Read in lmLogInit
Author: lizhi.xu@xxxxxxxxxxxxx
blk dev max sector is 0
#syz test: upstream df6cbc62cc9b
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
index 9609349e92e5..14404780f38d 100644
--- a/fs/jfs/jfs_logmgr.c
+++ b/fs/jfs/jfs_logmgr.c
@@ -1163,6 +1163,15 @@ static int open_inline_log(struct super_block *sb)
set_bit(log_INLINELOG, &log->flag);
log->bdev_file = sb->s_bdev_file;
+ printk("sb: %p, sb t: %s, sbf: %p, bdev1: %p, sbdev: %p, %s\n",
+ sb, sb->s_type->name, sb->s_bdev_file, file_bdev(sb->s_bdev_file), sb->s_bdev, __func__);
+
+ if (!bdev_nr_sectors(file_bdev(sb->s_bdev_file))) {
+ kfree(log);
+ jfs_warn("open_inline_log: block device max sector is 0");
+ return -EINVAL;
+ }
+
log->base = addressPXD(&JFS_SBI(sb)->logpxd);
log->size = lengthPXD(&JFS_SBI(sb)->logpxd) >>
(L2LOGPSIZE - sb->s_blocksize_bits);