badblocks: Fix a nonsense WARN_ON() which checks whether a u64 variable < 0
[ Upstream commit 7e76336e14de9a2b67af96012ddd46c5676cf340 ] In _badblocks_check(), there are lines of code like this, 1246 sectors -= len; [snipped] 1251 WARN_ON(sectors < 0); The WARN_ON() at line 1257 doesn't make sense because sectors is unsigned long long type and never to be <0. Fix it by checking directly checking whether sectors is less than len. Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Signed-off-by: Coly Li <colyli@kernel.org> Reviewed-by: Yu Kuai <yukuai3@huawei.com> Link: https://lore.kernel.org/r/20250309160556.42854-1-colyli@kernel.org Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7bd6061b0a
commit
75ae2a3553
+3
-2
@@ -1349,14 +1349,15 @@ re_check:
|
|||||||
len = sectors;
|
len = sectors;
|
||||||
|
|
||||||
update_sectors:
|
update_sectors:
|
||||||
|
/* This situation should never happen */
|
||||||
|
WARN_ON(sectors < len);
|
||||||
|
|
||||||
s += len;
|
s += len;
|
||||||
sectors -= len;
|
sectors -= len;
|
||||||
|
|
||||||
if (sectors > 0)
|
if (sectors > 0)
|
||||||
goto re_check;
|
goto re_check;
|
||||||
|
|
||||||
WARN_ON(sectors < 0);
|
|
||||||
|
|
||||||
if (unacked_badblocks > 0)
|
if (unacked_badblocks > 0)
|
||||||
rv = -1;
|
rv = -1;
|
||||||
else if (acked_badblocks > 0)
|
else if (acked_badblocks > 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user