AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amdgpu: fix potential NULL pointer when check_atom_bios() fails
@ 2020-12-31  8:47 Jiawei Gu
  2021-01-03 16:10 ` Christian König
  0 siblings, 1 reply; 2+ messages in thread
From: Jiawei Gu @ 2020-12-31  8:47 UTC (permalink / raw)
  To: amd-gfx; +Cc: emily.deng, 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.

Signed-off-by: Jiawei Gu <Jiawei.Gu@amd.com>
---
 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
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] drm/amdgpu: fix potential NULL pointer when check_atom_bios() fails
  2020-12-31  8:47 [PATCH] drm/amdgpu: fix potential NULL pointer when check_atom_bios() fails Jiawei Gu
@ 2021-01-03 16:10 ` Christian König
  0 siblings, 0 replies; 2+ messages in thread
From: Christian König @ 2021-01-03 16:10 UTC (permalink / raw)
  To: Jiawei Gu, amd-gfx; +Cc: emily.deng

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@amd.com>

Acked-by: Christian König <christian.koenig@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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-01-03 16:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-31  8:47 [PATCH] drm/amdgpu: fix potential NULL pointer when check_atom_bios() fails Jiawei Gu
2021-01-03 16:10 ` Christian König

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox