Function msm_gpu_crashstate_capture maybe called for several times, and then the state->bos is a potential memleak. Also the state->pos maybe alloc failed, but now without any handle. This change is to fix some potential memleak and add error handle when alloc failed.
I suggest to improve the provided information. How do you think about a wording variant like the following?
The function “msm_gpu_crashstate_capture” can be called multiple times. The members “comm”, “cmd” and “bos” of the data structure “msm_gpu_state” are reassigned with pointers according to dynamic memory allocations if the preprocessor symbol “CONFIG_DEV_COREDUMP” was defined. But the function “kfree” was not called for them before.
Thus add missing actions. * Release previous objects. * Use further null pointer checks. * Complete the corresponding exception handling.
Would you like to add the tag “Fixes” to the commit message? https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Docu...
…
+++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -366,8 +366,11 @@ static void msm_gpu_crashstate_capture(struct msm_gpu *gpu, if (!should_dump(submit, submit->cmd[i].idx)) nr++;
state->bos = kcalloc(nr, sizeof(struct msm_gpu_state_bo), GFP_KERNEL);kfree(state->bos);
if (!state->bos)
return;
…
Will there be a need to reconsider the indentation for function call parameters in such source files? https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Docu...
Regards, Markus