[PATCH] drm/amdgpu: fix potential NULL pointer when check_atom_bios() fails
Christian König
ckoenig.leichtzumerken at gmail.com
Sun Jan 3 16:10:49 UTC 2021
Am 31.12.20 um 09:47 schrieb Jiawei Gu:
> Asic funcs pointer needs being checked whether is NULL. Because when
> check_atom_bios() fails in req_init_data handshake, asic funcs pointer
> is not initialized yet.
Mhm, I'm wondering if we shouldn't change the init sequence then. The
asic_funcs is something pretty fundamental.
> Signed-off-by: Jiawei Gu <Jiawei.Gu at amd.com>
Acked-by: Christian König <christian.koenig at amd.com> for now.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
> index 6333cada1e09..efdf639f6593 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c
> @@ -155,7 +155,7 @@ static bool amdgpu_read_bios_from_rom(struct amdgpu_device *adev)
> u8 header[AMD_VBIOS_SIGNATURE_END+1] = {0};
> int len;
>
> - if (!adev->asic_funcs->read_bios_from_rom)
> + if (!adev->asic_funcs || !adev->asic_funcs->read_bios_from_rom)
> return false;
>
> /* validate VBIOS signature */
> @@ -348,7 +348,8 @@ static bool amdgpu_read_disabled_bios(struct amdgpu_device *adev)
> if (adev->flags & AMD_IS_APU)
> return igp_read_bios_from_vram(adev);
> else
> - return amdgpu_asic_read_disabled_bios(adev);
> + return (!adev->asic_funcs || !adev->asic_funcs->read_disabled_bios) ?
> + false : amdgpu_asic_read_disabled_bios(adev);
> }
>
> #ifdef CONFIG_ACPI
More information about the amd-gfx
mailing list