aboutsummaryrefslogtreecommitdiff
path: root/lib/crc-t10dif.c
diff options
context:
space:
mode:
authorYury Norov2018-04-05 16:18:25 -0700
committerLinus Torvalds2018-04-05 21:36:21 -0700
commit8351760ff5b2042039554b4948ddabaac644a976 (patch)
treebe731f914364e5b001db4e367be87f53fc2a4a12 /lib/crc-t10dif.c
parent5df63c2a149ae65a9ec239e7c2af44efa6f79beb (diff)
lib: fix stall in __bitmap_parselist()
syzbot is catching stalls at __bitmap_parselist() (https://syzkaller.appspot.com/bug?id=ad7e0351fbc90535558514a71cd3edc11681997a). The trigger is unsigned long v = 0; bitmap_parselist("7:,", &v, BITS_PER_LONG); which results in hitting infinite loop at while (a <= b) { off = min(b - a + 1, used_size); bitmap_set(maskp, a, off); a += group_size; } due to used_size == group_size == 0. Link: http://lkml.kernel.org/r/20180404162647.15763-1-ynorov@caviumnetworks.com Fixes: 0a5ce0831d04382a ("lib/bitmap.c: make bitmap_parselist() thread-safe and much faster") Signed-off-by: Yury Norov <ynorov@caviumnetworks.com> Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Reported-by: syzbot <syzbot+6887cbb011c8054e8a3d@syzkaller.appspotmail.com> Cc: Noam Camus <noamca@mellanox.com> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk> Cc: Matthew Wilcox <mawilcox@microsoft.com> Cc: Mauro Carvalho Chehab <mchehab@kernel.org> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/crc-t10dif.c')
0 files changed, 0 insertions, 0 deletions