Message ID | 1471282613-31006-4-git-send-email-linuxram@us.ibm.com (mailing list archive) |
---|---|
State | Deferred, archived |
Delegated to: | Mike Snitzer |
Headers | show |
diff --git a/drivers/md/dm-inplace-compress.c b/drivers/md/dm-inplace-compress.c index 70d6c0e..17221a1 100644 --- a/drivers/md/dm-inplace-compress.c +++ b/drivers/md/dm-inplace-compress.c @@ -453,6 +453,12 @@ static int dm_icomp_read_or_create_super(struct dm_icomp_info *info) info->data_blocks = data_blocks; info->data_start = (1 + meta_blocks) << DMCP_BLOCK_SECTOR_SHIFT; + if ((data_blocks << DMCP_BLOCK_SECTOR_SHIFT) < info->ti->len) { + info->ti->error = + "Insufficient sectors to satisfy requested size"; + return -ENOMEM; + } + addr = kzalloc(DMCP_BLOCK_SIZE, GFP_KERNEL); if (!addr) { info->ti->error = "Cannot allocate super";
if enough space is not available to create a block of the specified size error out. Signed-off-by: Ram Pai <linuxram@us.ibm.com> --- drivers/md/dm-inplace-compress.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)