6658ebe102
[ Upstream commit 64933ab7b04881c6c18b21ff206c12278341c72e ] Both db_maxag and db_agpref are used as the index of the db_agfree array, but there is currently no validity check for db_maxag and db_agpref, which can lead to errors. The following is related bug reported by Syzbot: UBSAN: array-index-out-of-bounds in fs/jfs/jfs_dmap.c:639:20 index 7936 is out of range for type 'atomic_t[128]' Add checking that the values of db_maxag and db_agpref are valid indexes for the db_agfree array. Reported-by: syzbot+38e876a8aa44b7115c76@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=38e876a8aa44b7115c76 Signed-off-by: Juntong Deng <juntong.deng@outlook.com> Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
acl.c | ||
file.c | ||
inode.c | ||
ioctl.c | ||
jfs_acl.h | ||
jfs_btree.h | ||
jfs_debug.c | ||
jfs_debug.h | ||
jfs_dinode.h | ||
jfs_discard.c | ||
jfs_discard.h | ||
jfs_dmap.c | ||
jfs_dmap.h | ||
jfs_dtree.c | ||
jfs_dtree.h | ||
jfs_extent.c | ||
jfs_extent.h | ||
jfs_filsys.h | ||
jfs_imap.c | ||
jfs_imap.h | ||
jfs_incore.h | ||
jfs_inode.c | ||
jfs_inode.h | ||
jfs_lock.h | ||
jfs_logmgr.c | ||
jfs_logmgr.h | ||
jfs_metapage.c | ||
jfs_metapage.h | ||
jfs_mount.c | ||
jfs_superblock.h | ||
jfs_txnmgr.c | ||
jfs_txnmgr.h | ||
jfs_types.h | ||
jfs_umount.c | ||
jfs_unicode.c | ||
jfs_unicode.h | ||
jfs_uniupr.c | ||
jfs_xattr.h | ||
jfs_xtree.c | ||
jfs_xtree.h | ||
Kconfig | ||
Makefile | ||
namei.c | ||
resize.c | ||
super.c | ||
symlink.c | ||
xattr.c |