Re: [PATCH] pstore/ram: Return directly after a failed kasprintf() call in ramoops_init_prz()

From: Dan Carpenter
Date: Thu Jan 18 2024 - 00:29:36 EST


On Wed, Jan 17, 2024 at 09:24:12PM +0100, Markus Elfring wrote:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Wed, 17 Jan 2024 21:09:22 +0100
>
> The result from a call of the function “kasprintf” was passed to
> a subsequent function call without checking for a null pointer before
> (according to a memory allocation failure).
> This issue was detected by using the Coccinelle software.
>
> Thus return directly after a failed kasprintf() call.
>
> Fixes: 1227daa43bce1 ("pstore/ram: Clarify resource reservation labels")
> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> ---
> fs/pstore/ram.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
> index 88b34fdbf759..1a673a4af17c 100644
> --- a/fs/pstore/ram.c
> +++ b/fs/pstore/ram.c
> @@ -595,6 +595,9 @@ static int ramoops_init_prz(const char *name,
> }
>
> label = kasprintf(GFP_KERNEL, "ramoops:%s", name);
> + if (!label)
> + return -ENOMEM;
> +
> *prz = persistent_ram_new(*paddr, sz, sig, &cxt->ecc_info,
> cxt->memtype, PRZ_FLAG_ZAP_OLD, label);
> kfree(label);

This patch is fine as a clean up, but I think it's useful to say that
if you pass a NULL label to persistent_ram_new() then it will return
an error. It won't crash. So this patch is a nice cleanup but it's not
a bug fix.

regards,
dan carpenter