Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amdgpu: handle amdgpu_cgs_create_device() errors in amd_powerplay_create()

Add error handling to propagate amdgpu_cgs_create_device() failures
to the caller. When amdgpu_cgs_create_device() fails, release hwmgr
and return -ENOMEM to prevent null pointer dereference.

[v1]->[v2]: Change error code from -EINVAL to -ENOMEM. Free hwmgr.

Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Wentao Liang and committed by
Alex Deucher
1435e895 bd4b125e

+5
+5
drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c
··· 51 51 hwmgr->adev = adev; 52 52 hwmgr->not_vf = !amdgpu_sriov_vf(adev); 53 53 hwmgr->device = amdgpu_cgs_create_device(adev); 54 + if (!hwmgr->device) { 55 + kfree(hwmgr); 56 + return -ENOMEM; 57 + } 58 + 54 59 mutex_init(&hwmgr->msg_lock); 55 60 hwmgr->chip_family = adev->family; 56 61 hwmgr->chip_id = adev->asic_type;