diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c index 1a5072425c4a..e3a202f0b08d 100644 --- a/drivers/md/dm-cache-target.c +++ b/drivers/md/dm-cache-target.c @@ -2149,6 +2149,11 @@ static int parse_origin_dev(struct cache_args *ca, struct dm_arg_set *as, return r; } + if (ca->ti->len > get_dev_size(ca->origin_dev)) { + *error = "Device size larger than cached device"; + return -EINVAL; + } + return 0; }