All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jérôme Pouiller" <jerome.pouiller@silabs.com>
To: gregkh@linuxfoundation.org, linux-staging@lists.linux.dev,
	Xiaoke Wang <xkernel.wang@foxmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] staging: wfx: check the return value of devm_kmalloc()
Date: Wed, 16 Feb 2022 12:56:14 +0100	[thread overview]
Message-ID: <1660310.YPgQWDYhUI@pc-42> (raw)
In-Reply-To: <tencent_BD0AC737C546F88052FF7F11881D3350EE06@qq.com>

On Wednesday 16 February 2022 12:29:50 CET xkernel.wang@foxmail.com wrote:
> From: Xiaoke Wang <xkernel.wang@foxmail.com>
> 
> devm_kmalloc() returns a pointer to allocated memory on success, NULL
> on failure. While there is a memory allocation of devm_kmalloc()
> without proper check. It is better to check the return value of it to
> prevent wrong memory access.
> 
> Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
> ---
>  drivers/staging/wfx/main.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/staging/wfx/main.c b/drivers/staging/wfx/main.c
> index 4b9fdf9..0ef9225 100644
> --- a/drivers/staging/wfx/main.c
> +++ b/drivers/staging/wfx/main.c
> @@ -294,6 +294,8 @@ struct wfx_dev *wfx_init_common(struct device *dev,
>         hw->wiphy->n_iface_combinations = ARRAY_SIZE(wfx_iface_combinations);
>         hw->wiphy->iface_combinations = wfx_iface_combinations;
>         hw->wiphy->bands[NL80211_BAND_2GHZ] = devm_kmalloc(dev, sizeof(wfx_band_2ghz), GFP_KERNEL);
> +       if (!hw->wiphy->bands[NL80211_BAND_2GHZ])
> +               return NULL;
>         // FIXME: also copy wfx_rates and wfx_2ghz_chantable
>         memcpy(hw->wiphy->bands[NL80211_BAND_2GHZ], &wfx_band_2ghz,
>                sizeof(wfx_band_2ghz));
> --
> 

Good catch! However, I think you should call ieee80211_free_hw(hw)
before to return.

While reviewing your code, I have noticed that all the error handlers
of this function return without calling ieee80211_free_hw(hw).

-- 
Jérôme Pouiller



      reply	other threads:[~2022-02-16 11:56 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-16 11:29 [PATCH] staging: wfx: check the return value of devm_kmalloc() xkernel.wang
2022-02-16 11:56 ` Jérôme Pouiller [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1660310.YPgQWDYhUI@pc-42 \
    --to=jerome.pouiller@silabs.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=xkernel.wang@foxmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.