[PATCH] fs/jfs: fix assert failed in dbFindBits()
From: Liu Shixin
Date: Wed Nov 02 2022 - 04:55:48 EST
syzkaller reported a bug:
BUG at fs/jfs/jfs_dmap.c:2984 assert(bitno < 32)
Since we increased bitno before check (mask != 0) in the loop, the value
can reach 32. Modify the assert condition to (bitno <= 32) to fix it.
Reported-by: syzbot+c6357942fbe0fce51c76@xxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Liu Shixin <liushixin2@xxxxxxxxxx>
---
fs/jfs/jfs_dmap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
index 6b838d3ae7c2..7bd57728edf3 100644
--- a/fs/jfs/jfs_dmap.c
+++ b/fs/jfs/jfs_dmap.c
@@ -2981,7 +2981,7 @@ static int dbFindBits(u32 word, int l2nb)
break;
}
- ASSERT(bitno < 32);
+ ASSERT(bitno <= 32);
/* return the bit number.
*/
--
2.25.1