Forwarded: [PATCH] dm cache: fix divide error in too_many_discard_blocks

From: syzbot

Date: Fri Nov 06 2026 - 14:22:05 EST


For archival purposes, forwarding an incoming command email to
linux-kernel@xxxxxxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx.

***

Subject: [PATCH] dm cache: fix divide error in too_many_discard_blocks
Author: drifabdelmalekmohamedsaid@xxxxxxxxx

#syz test

Signed-off-by: Drif Abdelmalek Mohamed Said <drifabdelmalekmohamedsaid@xxxxxxxxx>
---
drivers/md/dm-cache-target.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c
index 1a5072425c4a..408bc743a141 100644
--- a/drivers/md/dm-cache-target.c
+++ b/drivers/md/dm-cache-target.c
@@ -2383,6 +2383,8 @@ static int create_cache_policy(struct cache *cache, struct cache_args *ca,
static bool too_many_discard_blocks(sector_t discard_block_size,
sector_t origin_size)
{
+ if (discard_block_size > U32 / 2)
+ return false;
(void) sector_div(origin_size, discard_block_size);

return origin_size > MAX_DISCARD_BLOCKS;
--
2.47.3