In the Linux kernel, the following vulnerability has been resolved: amdkfd: properly free gang_ctx_bo when failed to init user queue The destructor of a gtt bo is declared as void amdgpu_amdkfd_free_gtt_mem(struct amdgpu_device *adev, void **mem_obj); Which takes void** as the second parameter. GCC allows passing void* to the function because void* can be implicitly casted to any other types, so it can pass compiling. However, passing this void* parameter into the function's execution process(which expects void** and dereferencing void**) will result in errors.
https://git.kernel.org/stable/c/ae5ab1c1ae504f622cc1ff48830a9ed48428146d
https://git.kernel.org/stable/c/a33f7f9660705fb2ecf3467b2c48965564f392ce
https://git.kernel.org/stable/c/091a68c58c1bbd2ab7d05d1b32c1306394ec691d