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
prev parent 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.