diff options
author | Coly Li <colyli@kernel.org> | 2025-03-09 12:05:56 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-03-10 07:41:58 -0600 |
commit | 7e76336e14de9a2b67af96012ddd46c5676cf340 (patch) | |
tree | ab197e8a5e2b5e75f1c01ae3e4fbbb2a826c3db6 /block | |
parent | fc0e982b8a3a169b1c654d9a1aa45bf292943ef2 (diff) |
badblocks: Fix a nonsense WARN_ON() which checks whether a u64 variable < 0
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>
Diffstat (limited to 'block')
-rw-r--r-- | block/badblocks.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/block/badblocks.c b/block/badblocks.c index 673ef068423a..ece64e76fe8f 100644 --- a/block/badblocks.c +++ b/block/badblocks.c @@ -1242,14 +1242,15 @@ re_check: len = sectors; update_sectors: + /* This situation should never happen */ + WARN_ON(sectors < len); + s += len; sectors -= len; if (sectors > 0) goto re_check; - WARN_ON(sectors < 0); - if (unacked_badblocks > 0) rv = -1; else if (acked_badblocks > 0) |