mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
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: 13c91b5b43 ("drm/amd/ras: Add rascore unified interface function")
Cc: YiPeng Chai <YiPeng.Chai@amd.com>
Cc: Dan Carpenter <dan.carpenter@linaro.org>
Cc: Tao Zhou <tao.zhou1@amd.com>
Cc: Hawking Zhang <Hawking.Zhang@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Reviewed-by: YiPeng Chai <YiPeng.Chai@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
15bdd0eaaf
commit
2b8101cc3b
|
|
@ -527,8 +527,11 @@ 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 && ras_core->sys_fn &&
|
||||
ras_core->sys_fn->get_utc_second_timestamp)
|
||||
if (!ras_core)
|
||||
return 0;
|
||||
|
||||
if (ras_core->sys_fn &&
|
||||
ras_core->sys_fn->get_utc_second_timestamp)
|
||||
return ras_core->sys_fn->get_utc_second_timestamp(ras_core);
|
||||
|
||||
RAS_DEV_ERR(ras_core->dev, "Failed to get system timestamp!\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user