drm/amdgpu: check memory allocation failure
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 Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Родитель
a3ce364558
Коммит
06f10a537e
|
@ -1079,6 +1079,9 @@ static int amdgpu_cs_process_syncobj_out_dep(struct amdgpu_cs_parser *p,
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
p->num_post_dep_syncobjs = 0;
|
p->num_post_dep_syncobjs = 0;
|
||||||
|
|
||||||
|
if (!p->post_dep_syncobjs)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
for (i = 0; i < num_deps; ++i) {
|
for (i = 0; i < num_deps; ++i) {
|
||||||
p->post_dep_syncobjs[i] = drm_syncobj_find(p->filp, deps[i].handle);
|
p->post_dep_syncobjs[i] = drm_syncobj_find(p->filp, deps[i].handle);
|
||||||
if (!p->post_dep_syncobjs[i])
|
if (!p->post_dep_syncobjs[i])
|
||||||
|
|
Загрузка…
Ссылка в новой задаче