diff options
| author | Li Nan <linan122@huawei.com> | 2025-02-27 15:55:01 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-04-10 14:44:06 +0200 |
| commit | a517d3dac67c735d8644ac2ee6c2c5a6f1f60a10 (patch) | |
| tree | e72385b139f88f4622695b42191a013ceaacb159 /block | |
| parent | 8e5785cba5420dad67d3c0ad04431acdd3902439 (diff) | |
| download | linux-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.c | 4 |
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++; |
