[PATCH] fs/jfs: fix assert failed in dbFindBits()

Liu Shixin posted 1 patch 3 years, 5 months ago
fs/jfs/jfs_dmap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] fs/jfs: fix assert failed in dbFindBits()
Posted by Liu Shixin 3 years, 5 months ago
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@syzkaller.appspotmail.com
Signed-off-by: Liu Shixin <liushixin2@huawei.com>
---
 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