summaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorLi Nan <linan122@huawei.com>2025-02-27 15:55:01 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-10 14:44:06 +0200
commita517d3dac67c735d8644ac2ee6c2c5a6f1f60a10 (patch)
treee72385b139f88f4622695b42191a013ceaacb159 /block
parent8e5785cba5420dad67d3c0ad04431acdd3902439 (diff)
downloadlinux-a517d3dac67c735d8644ac2ee6c2c5a6f1f60a10.tar.gz
linux-a517d3dac67c735d8644ac2ee6c2c5a6f1f60a10.tar.bz2
linux-a517d3dac67c735d8644ac2ee6c2c5a6f1f60a10.zip
badblocks: fix the using of MAX_BADBLOCKS
[ Upstream commit 37446680dfbfbba7cbedd680047182f70a0b857b ] The number of badblocks cannot exceed MAX_BADBLOCKS, but it should be allowed to equal MAX_BADBLOCKS. Fixes: aa511ff8218b ("badblocks: switch to the improved badblock handling code") Fixes: c3c6a86e9efc ("badblocks: add helper routines for badblock ranges handling") Signed-off-by: Li Nan <linan122@huawei.com> Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev> Reviewed-by: Yu Kuai <yukuai3@huawei.com> Acked-by: Coly Li <colyli@kernel.org> Link: https://lore.kernel.org/r/20250227075507.151331-7-zhengqixing@huaweicloud.com Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'block')
-rw-r--r--block/badblocks.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/block/badblocks.c b/block/badblocks.c
index 88f27d4f3856..43430bd3efa7 100644
--- a/block/badblocks.c
+++ b/block/badblocks.c
@@ -700,7 +700,7 @@ static bool can_front_overwrite(struct badblocks *bb, int prev,
*extra = 2;
}
- if ((bb->count + (*extra)) >= MAX_BADBLOCKS)
+ if ((bb->count + (*extra)) > MAX_BADBLOCKS)
return false;
return true;
@@ -1135,7 +1135,7 @@ re_clear:
if ((BB_OFFSET(p[prev]) < bad.start) &&
(BB_END(p[prev]) > (bad.start + bad.len))) {
/* Splitting */
- if ((bb->count + 1) < MAX_BADBLOCKS) {
+ if ((bb->count + 1) <= MAX_BADBLOCKS) {
len = front_splitting_clear(bb, prev, &bad);
bb->count += 1;
cleared++;