>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c >> @@ -1730,11 +1730,12 @@ int amdgpu_ras_interrupt_dispatch(struct amdgpu_device *adev, >> struct ras_dispatch_if *info) >> { >> struct ras_manager *obj = amdgpu_ras_find_obj(adev, &info->head); >> - struct ras_ih_data *data = &obj->ih_data; >> + struct ras_ih_data *data; > I'm curious, this only takes the address of obj->ih_data. Even if a null pointer would accidentally be returned by a call of the function “amdgpu_ras_find_obj”? https://elixir.bootlin.com/linux/v6.3-rc6/source/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c#L618 > It doesn't dereference the pointer until after the !obj check below. Does the used arrow operator indicate a pointer dereference? > How is this undefined behaviour? I guess that another information source can be helpful for such an issue. https://wiki.sei.cmu.edu/confluence/display/c/EXP34-C.+Do+not+dereference+null+pointers?focusedCommentId=405504153#comment-405504153 Regards, Markus