[PATCH] drm/amdgpu: check memory allocation failure

Christian König christian.koenig at amd.com
Wed Aug 23 08:39:14 UTC 2017


Am 23.08.2017 um 07:52 schrieb Christophe JAILLET:
> Check memory allocation failure and return -ENOMEM in such a case.
>
> 'num_post_dep_syncobjs' still has to be set to 0 before the test in order
> to have it initialized if 'amdgpu_cs_parser_fini()' is called to free
> resources.
>
> The calling graph would be, in such a case!
>     failure in amdgpu_cs_process_syncobj_out_dep()
>        ---> error code returned by amdgpu_cs_dependencies()
>           --> amdgpu_cs_parser_fini() is called
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet at wanadoo.fr>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> index 15d4a28d73bb..baa90df90aea 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> @@ -1079,6 +1079,9 @@ static int amdgpu_cs_process_syncobj_out_dep(struct amdgpu_cs_parser *p,
>   					     GFP_KERNEL);
>   	p->num_post_dep_syncobjs = 0;
>   
> +	if (!p->post_dep_syncobjs)
> +		return -ENOMEM;
> +
>   	for (i = 0; i < num_deps; ++i) {
>   		p->post_dep_syncobjs[i] = drm_syncobj_find(p->filp, deps[i].handle);
>   		if (!p->post_dep_syncobjs[i])




More information about the amd-gfx mailing list