fs/jfs: fix shift exponent db_agl2size negative
authorLiu Shixin via Jfs-discussion <jfs-discussion@lists.sourceforge.net>
Thu, 3 Nov 2022 03:01:59 +0000 (11:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:55:16 +0000 (13:55 +0100)
commit1f4a325933f81bc52d484bb77e3cb415b0272921
treedefd88789ff77296052104d140e5154bccae3e54
parent6cd37f8232f5e169a723e1d5fbe3b2139c2ef763
fs/jfs: fix shift exponent db_agl2size negative

[ Upstream commit fad376fce0af58deebc5075b8539dc05bf639af3 ]

As a shift exponent, db_agl2size can not be less than 0. Add the missing
check to fix the shift-out-of-bounds bug reported by syzkaller:

 UBSAN: shift-out-of-bounds in fs/jfs/jfs_dmap.c:2227:15
 shift exponent -744642816 is negative

Reported-by: syzbot+0be96567042453c0c820@syzkaller.appspotmail.com
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Liu Shixin <liushixin2@huawei.com>
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/jfs/jfs_dmap.c