]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
jfs: UBSAN: shift-out-of-bounds in dbFindBits
authorRemington Brasga <rbrasga@uci.edu>
Wed, 10 Jul 2024 00:12:44 +0000 (00:12 +0000)
committerDave Kleikamp <dave.kleikamp@oracle.com>
Fri, 23 Aug 2024 18:14:28 +0000 (13:14 -0500)
Fix issue with UBSAN throwing shift-out-of-bounds warning.

Reported-by: syzbot+e38d703eeb410b17b473@syzkaller.appspotmail.com
Signed-off-by: Remington Brasga <rbrasga@uci.edu>
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
fs/jfs/jfs_dmap.c

index 5713994328cbcbde653193a7250cbcc6ffc7e377..ccdfa38d7a6824cbc3530e086ad3abf481dbfbbe 100644 (file)
@@ -3022,7 +3022,7 @@ static int dbFindBits(u32 word, int l2nb)
 
        /* scan the word for nb free bits at nb alignments.
         */
-       for (bitno = 0; mask != 0; bitno += nb, mask >>= nb) {
+       for (bitno = 0; mask != 0; bitno += nb, mask = (mask >> nb)) {
                if ((mask & word) == mask)
                        break;
        }