When some other buffer is immediately copied into allocated region.
Replace calls to kmalloc followed by a memcpy with a direct
call to kmemdup.

Signed-off-by: Shyam Saini <mayhs11saini at gmail.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_mob.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
index b6126a5..941bcfd 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
@@ -319,18 +319,17 @@ int vmw_otables_setup(struct vmw_private *dev_priv)
        int ret;

        if (dev_priv->has_dx) {
-               *otables = kmalloc(sizeof(dx_tables), GFP_KERNEL);
+               *otables = kmemdup(dx_tables, sizeof(dx_tables), GFP_KERNEL);
                if (*otables == NULL)
                        return -ENOMEM;

-               memcpy(*otables, dx_tables, sizeof(dx_tables));
                dev_priv->otable_batch.num_otables = ARRAY_SIZE(dx_tables);
        } else {
-               *otables = kmalloc(sizeof(pre_dx_tables), GFP_KERNEL);
+               *otables = kmemdup(pre_dx_tables, sizeof(pre_dx_tables),
+                                  GFP_KERNEL);
                if (*otables == NULL)
                        return -ENOMEM;

-               memcpy(*otables, pre_dx_tables, sizeof(pre_dx_tables));
                dev_priv->otable_batch.num_otables = ARRAY_SIZE(pre_dx_tables);
        }

-- 
2.7.4

Reply via email to