diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2016-09-22 15:54:33 -0400 |
---|---|---|
committer | Sinclair Yeh <syeh@vmware.com> | 2016-10-10 14:46:35 -0400 |
commit | 7ed3b3943281e9da32b52e2aac77bdb2c42c5117 (patch) | |
tree | 3d4f537c3f0baf5f42306bb776c0432a04c68629 | |
parent | a19440304db2d97aed5cee9bfa5017c98d2348bf (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.c | 10 |
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; |