Dongliang Mu 3e997e4ce8 fs: jfs: fix shift-out-of-bounds in dbAllocAG
[ Upstream commit 898f706695682b9954f280d95e49fa86ffa55d08 ]

Syzbot found a crash : UBSAN: shift-out-of-bounds in dbAllocAG. The
underlying bug is the missing check of bmp->db_agl2size. The field can
be greater than 64 and trigger the shift-out-of-bounds.

Fix this bug by adding a check of bmp->db_agl2size in dbMount since this
field is used in many following functions. The upper bound for this
field is L2MAXL2SIZE - L2MAXAG, thanks for the help of Dave Kleikamp.
Note that, for maintenance, I reorganized error handling code of dbMount.

Reported-by: syzbot+15342c1aa6a00fb7a438@syzkaller.appspotmail.com
Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-14 10:16:13 +01:00
..
2020-10-16 11:11:22 -07:00
2021-09-18 13:40:15 +02:00
2022-11-25 17:45:56 +01:00
2023-01-14 10:15:22 +01:00
2022-06-09 10:21:16 +02:00
2023-01-04 11:39:23 +01:00