[PATCH] drm/amdgpu: Check if NBIO funcs are NULL in amdgpu_device_baco_exit

Christian König christian.koenig at amd.com
Tue May 14 07:21:01 UTC 2024


Am 14.05.24 um 09:06 schrieb Friedrich Vock:
> The special case for VM passthrough doesn't check adev->nbio.funcs
> before dereferencing it. If GPUs that don't have an NBIO block are
> passed through, this leads to a NULL pointer dereference on startup.
>
> Signed-off-by: Friedrich Vock <friedrich.vock at gmx.de>

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

>
> Fixes: 1bece222eab ("drm/amdgpu: Clear doorbell interrupt status for Sienna Cichlid")
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Cc: Christian König <christian.koenig at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 861ccff78af95..83c4533ee75c8 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -6165,7 +6165,7 @@ int amdgpu_device_baco_exit(struct drm_device *dev)
>   	    adev->nbio.funcs->enable_doorbell_interrupt)
>   		adev->nbio.funcs->enable_doorbell_interrupt(adev, true);
>
> -	if (amdgpu_passthrough(adev) &&
> +	if (amdgpu_passthrough(adev) && adev->nbio.funcs &&
>   	    adev->nbio.funcs->clear_doorbell_interrupt)
>   		adev->nbio.funcs->clear_doorbell_interrupt(adev);
>
> --
> 2.45.0
>



More information about the amd-gfx mailing list