[PATCH] drivers: gpu: drm: exynos: Replaced kzalloc & memcpy with kmemdup

Inki Dae inki.dae at samsung.com
Mon Mar 11 21:12:55 PDT 2013


Applied.

Thanks,
Inki Dae

2013/3/12 Alexandru Gheorghiu <gheorghiuandru at gmail.com>:
> Replaced calls to kzalloc followed by memcpy with call to kmemdup.
> Patch found using coccinelle.
>
> Signed-off-by: Alexandru Gheorghiu <gheorghiuandru at 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
> --
> 1.7.9.5
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list