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;