On 5/14/2024 6:30 AM, Ma, Jun wrote: > Hi Lijo & Kevin, thanks for review, will drop this patch > In the original function below check is there. if (!handle || !info || type >= ACA_ERROR_TYPE_COUNT) return -EINVAL; So moving this to a later stage is still valid. struct aca_error_cache *error_cache = &handle->error_cache; Further NULL check of error_cache is not required. Thanks, Lijo > Regards, > Ma Jun > > On 5/14/2024 7:13 AM, Wang, Yang(Kevin) wrote: >> [AMD Official Use Only - AMD Internal Distribution Only] >> >> -----Original Message----- >> From: Ma, Jun <Jun.Ma2@xxxxxxx> >> Sent: Monday, May 13, 2024 4:56 PM >> To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx >> Cc: Feng, Kenneth <Kenneth.Feng@xxxxxxx>; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Wang, Yang(Kevin) <KevinYang.Wang@xxxxxxx>; Koenig, Christian <Christian.Koenig@xxxxxxx>; Ma, Jun <Jun.Ma2@xxxxxxx> >> Subject: [PATCH 3/5] drm/amdgpu: Fix null pointer dereference to aca_handle >> >> Check handle pointer before using it >> >> Signed-off-by: Ma Jun <Jun.Ma2@xxxxxxx> >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_aca.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_aca.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_aca.c >> index 28febf33fb1b..e969a7d77b4d 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_aca.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_aca.c >> @@ -279,7 +279,7 @@ static struct aca_bank_error *get_bank_error(struct aca_error *aerr, struct aca_ int aca_error_cache_log_bank_error(struct aca_handle *handle, struct aca_bank_info *info, >> enum aca_error_type type, u64 count) { >> - struct aca_error_cache *error_cache = &handle->error_cache; >> + struct aca_error_cache *error_cache; >> struct aca_bank_error *bank_error; >> struct aca_error *aerr; >> >> @@ -289,6 +289,10 @@ int aca_error_cache_log_bank_error(struct aca_handle *handle, struct aca_bank_in >> if (!count) >> return 0; >> >> + error_cache = &handle->error_cache; >> [Kevin]: >> The above code is always return non-0 value, right? >> >> Best Regards, >> Kevin >> + if (!error_cache) >> + return -EINVAL; >> + >> aerr = &error_cache->errors[type]; >> bank_error = get_bank_error(aerr, info); >> if (!bank_error) >> -- >> 2.34.1 >>