[AMD Official Use Only - AMD Internal Distribution Only] Reviewed-by: YiPeng Chai <[email protected]>
Best Regards, Thomas -----Original Message----- From: SHANMUGAM, SRINIVASAN <[email protected]> Sent: Sunday, March 15, 2026 2:26 PM To: Koenig, Christian <[email protected]>; Deucher, Alexander <[email protected]> Cc: [email protected]; SHANMUGAM, SRINIVASAN <[email protected]>; Chai, Thomas <[email protected]>; Dan Carpenter <[email protected]>; Zhou1, Tao <[email protected]>; Zhang, Hawking <[email protected]> Subject: [PATCH] drm/amd/ras: Fix NULL deref in ras_core_get_utc_second_timestamp() ras_core_get_utc_second_timestamp() retrieves the current UTC timestamp (in seconds since the Unix epoch) through a platform-specific RAS system callback and is used for timestamping RAS error events. The function checks ras_core in the conditional statement before calling the sys_fn callback. However, when the condition fails, the function prints an error message using ras_core->dev. If ras_core is NULL, this can lead to a potential NULL pointer dereference when accessing ras_core->dev. Add an early NULL check for ras_core at the beginning of the function and return 0 when the pointer is not valid. This prevents the dereference and makes the control flow clearer. Fixes: 13c91b5b4378 ("drm/amd/ras: Add rascore unified interface function") Cc: YiPeng Chai <[email protected]> Cc: Dan Carpenter <[email protected]> Cc: Tao Zhou <[email protected]> Cc: Hawking Zhang <[email protected]> Cc: Christian König <[email protected]> Cc: Alex Deucher <[email protected]> Signed-off-by: Srinivasan Shanmugam <[email protected]> --- drivers/gpu/drm/amd/ras/rascore/ras_core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/ras/rascore/ras_core.c b/drivers/gpu/drm/amd/ras/rascore/ras_core.c index 10cd398d4ae2..844720e4a275 100644 --- a/drivers/gpu/drm/amd/ras/rascore/ras_core.c +++ b/drivers/gpu/drm/amd/ras/rascore/ras_core.c @@ -527,6 +527,9 @@ bool ras_core_is_enabled(struct ras_core_context *ras_core) uint64_t ras_core_get_utc_second_timestamp(struct ras_core_context *ras_core) { + if (!ras_core) + return 0; + if (ras_core && ras_core->sys_fn && ras_core->sys_fn->get_utc_second_timestamp) return ras_core->sys_fn->get_utc_second_timestamp(ras_core); -- 2.34.1
