aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Elfring <elfring@users.sourceforge.net>2016-09-22 15:54:33 -0400
committerSinclair Yeh <syeh@vmware.com>2016-10-10 14:46:35 -0400
commit7ed3b3943281e9da32b52e2aac77bdb2c42c5117 (patch)
tree3d4f537c3f0baf5f42306bb776c0432a04c68629
parenta19440304db2d97aed5cee9bfa5017c98d2348bf (diff)
drm/vmwgfx: Use kmalloc_array() in vmw_surface_define_ioctl()
Multiplications for the size determination of memory allocations indicated that array data structures should be processed. Thus use the corresponding function "kmalloc_array". This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Reviewed-by: Sinclair Yeh <syeh@vmware.com> Signed-off-by: Sinclair Yeh <syeh@vmware.com>
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_surface.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
index c2a721a8cef9..f55754936d90 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
@@ -763,14 +763,16 @@ int vmw_surface_define_ioctl(struct drm_device *dev, void *data,
763 memcpy(srf->mip_levels, req->mip_levels, sizeof(srf->mip_levels)); 763 memcpy(srf->mip_levels, req->mip_levels, sizeof(srf->mip_levels));
764 srf->num_sizes = num_sizes; 764 srf->num_sizes = num_sizes;
765 user_srf->size = size; 765 user_srf->size = size;
766 766 srf->sizes = kmalloc_array(srf->num_sizes,
767 srf->sizes = kmalloc(srf->num_sizes * sizeof(*srf->sizes), GFP_KERNEL); 767 sizeof(*srf->sizes),
768 GFP_KERNEL);
768 if (unlikely(srf->sizes == NULL)) { 769 if (unlikely(srf->sizes == NULL)) {
769 ret = -ENOMEM; 770 ret = -ENOMEM;
770 goto out_no_sizes; 771 goto out_no_sizes;
771 } 772 }
772 srf->offsets = kmalloc(srf->num_sizes * sizeof(*srf->offsets), 773 srf->offsets = kmalloc_array(srf->num_sizes,
773 GFP_KERNEL); 774 sizeof(*srf->offsets),
775 GFP_KERNEL);
774 if (unlikely(srf->offsets == NULL)) { 776 if (unlikely(srf->offsets == NULL)) {
775 ret = -ENOMEM; 777 ret = -ENOMEM;
776 goto out_no_offsets; 778 goto out_no_offsets;