Re: [PATCH] gpu: amdkfd: fix a missing check of kmemdup

From: Kangjie Lu
Date: Fri Mar 22 2019 - 22:20:42 EST




> On Mar 8, 2019, at 10:19 PM, Kangjie Lu <kjlu@xxxxxxx> wrote:
>
> kmemdup could fail and return NULL. To avoid null pointer
> dereference, the fix checkes its return value and returns
> ENOMEM upon failures.

This is a NULL-pointer dereference issue.
Can someone review this patch? Thanks.

>
> Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> index 2e7c44955f43..7ef62d4e7598 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
> @@ -404,6 +404,9 @@ static int kfd_parse_subtype_iolink(struct crat_subtype_iolink *iolink,
> return -ENODEV;
> /* same everything but the other direction */
> props2 = kmemdup(props, sizeof(*props2), GFP_KERNEL);
> + if (!props2)
> + return -ENOMEM;
> +
> props2->node_from = id_to;
> props2->node_to = id_from;
> props2->kobj = NULL;
> --
> 2.17.1
>