|
@@ -1286,7 +1286,8 @@ static long vhost_set_memory(struct vhost_dev *d, struct vhost_memory __user *m)
|
|
return -EOPNOTSUPP;
|
|
return -EOPNOTSUPP;
|
|
if (mem.nregions > max_mem_regions)
|
|
if (mem.nregions > max_mem_regions)
|
|
return -E2BIG;
|
|
return -E2BIG;
|
|
- newmem = kvzalloc(size + mem.nregions * sizeof(*m->regions), GFP_KERNEL);
|
|
|
|
|
|
+ newmem = kvzalloc(struct_size(newmem, regions, mem.nregions),
|
|
|
|
+ GFP_KERNEL);
|
|
if (!newmem)
|
|
if (!newmem)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|