Good point.

Acked-by: Seung-Woo Kim <sw0312....@samsung.com>

On 2013년 03월 12일 04:25, Alexandru Gheorghiu wrote:
> Replaced calls to kzalloc followed by memcpy with call to kmemdup.
> Patch found using coccinelle.
> 
> Signed-off-by: Alexandru Gheorghiu <gheorghiuan...@gmail.com>
> ---
>  drivers/gpu/drm/exynos/exynos_drm_vidi.c |    6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c 
> b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> index 13ccbd4..9504b0c 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> @@ -117,13 +117,12 @@ static struct edid *vidi_get_edid(struct device *dev,
>       }
>  
>       edid_len = (1 + ctx->raw_edid->extensions) * EDID_LENGTH;
> -     edid = kzalloc(edid_len, GFP_KERNEL);
> +     edid = kmemdup(ctx->raw_edid, edid_len, GFP_KERNEL);
>       if (!edid) {
>               DRM_DEBUG_KMS("failed to allocate edid\n");
>               return ERR_PTR(-ENOMEM);
>       }
>  
> -     memcpy(edid, ctx->raw_edid, edid_len);
>       return edid;
>  }
>  
> @@ -563,12 +562,11 @@ int vidi_connection_ioctl(struct drm_device *drm_dev, 
> void *data,
>                       return -EINVAL;
>               }
>               edid_len = (1 + raw_edid->extensions) * EDID_LENGTH;
> -             ctx->raw_edid = kzalloc(edid_len, GFP_KERNEL);
> +             ctx->raw_edid = kmemdup(raw_edid, edid_len, GFP_KERNEL);
>               if (!ctx->raw_edid) {
>                       DRM_DEBUG_KMS("failed to allocate raw_edid.\n");
>                       return -ENOMEM;
>               }
> -             memcpy(ctx->raw_edid, raw_edid, edid_len);
>       } else {
>               /*
>                * with connection = 0, free raw_edid
> 

-- 
Seung-Woo Kim
Samsung Software R&D Center
--

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to