Re: [PATCH] drm/msm: Improve exception handling in msm_gpu_crashstate_capture()

From: Markus Elfring
Date: Fri Jun 12 2020 - 03:36:36 EST


> 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/Documentation/process/submitting-patches.rst?id=b791d1bdf9212d944d749a5c7ff6febdba241771#n183


â
> +++ 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++;
>
> + kfree(state->bos);
> state->bos = kcalloc(nr,
> sizeof(struct msm_gpu_state_bo), GFP_KERNEL);
> + 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/Documentation/process/coding-style.rst?id=b791d1bdf9212d944d749a5c7ff6febdba241771#n93

Regards,
Markus