From: Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
To: Luka Gejak <luka.gejak@linux.dev>
Cc: linux-wireless@vger.kernel.org,
Mauricio Faria de Oliveira <mfo@igalia.com>,
Ping-Ke Shih <pkshih@realtek.com>,
Po-Hao Huang <phhuang@realtek.com>, Kalle Valo <kvalo@kernel.org>,
kernel-dev@igalia.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] wifi: rtw88: fix skb leak in hw_scan probe request length check
Date: Sat, 14 Nov 2026 14:06:18 -0300 [thread overview]
Message-ID: <aviVCqxRQfNvtl_g@quatroqueijos.cascardo.eti.br> (raw)
In-Reply-To: <9AF24DB9-D92E-479C-A678-0571B1557198@linux.dev>
On Sat, Nov 14, 2026 at 02:40:24PM +0100, Luka Gejak wrote:
> On November 13, 2026 4:17:33 PM GMT+01:00, Mauricio Faria de Oliveira
> <mfo@igalia.com> wrote:
> >In _rtw_hw_scan_update_probe_req(), if the first loop fails (goto out;)
> >the
> >skb is leaked. It does not reach kfree_skb() at the end of the loop body
> >or
> >in the second loop (out:) since it is unlinked from probe_req_list.
> >
> >Fix the leak by calling kfree_skb() if the first loop fails.
> >
> >In /sys/kernel/debug/kmemleak, after simulating the failure:
> >
> > unreferenced object 0xffff88810965a000 (size 232):
> > comm "iw", pid 4729, jiffies 4345008185
> > hex dump (first 32 bytes):
> > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > backtrace (crc 20f7de11):
> > kmem_cache_alloc_node_noprof+0x302/0x380
> > __alloc_skb+0x74/0x2f0
> > skb_copy+0x57/0xe0
> > rtw_hw_scan_update_probe_req+0xff/0x230
> > rtw_hw_scan_prehandle+0x4e/0x180
> > rtw_hw_scan_offload+0x186/0x1d0
> > rtw_ops_hw_scan+0x61/0xb0
> > drv_hw_scan+0x81/0x130
> > __ieee80211_start_scan+0x2e0/0x760
> > rdev_scan+0x42/0x100
> > nl80211_trigger_scan+0x53b/0x730
> > genl_family_rcv_msg_doit+0x103/0x160
> > genl_rcv_msg+0x1b5/0x2c0
> > netlink_rcv_skb+0x52/0x100
> > genl_rcv+0x28/0x40
> > netlink_unicast+0x26d/0x3b0
> >
>
> Should this dump go under --- so it doesn't end up in commit message?
>
I find stack traces particularly helpful in commit messages. The help find
out fixes for bugs one encounter, avoiding duplicate work, and they also
justify the commit.
Cascardo.
> >This leak exists in the first loop since the function was introduced, and
> >still happened with the addition of the second loop, in these two commits:
> >
> >Fixes: 10d162b2ed39 ("rtw88: 8822c: add ieee80211_ops::hw_scan")
> >Fixes: d95984b5580d ("rtw88: fix memory overrun and memory leak during hw_scan")
>
> Should this perhaps cc stable?
>
> >Signed-off-by: Mauricio Faria de Oliveira <mfo@igalia.com>
> >---
>
> Either way I'm fine with the code, so just fix the commit message. Feel
> free to carry the tag for v2.
>
> Reviewed-by: Luka Gejak <luka.gejak@linux.dev>
>
> Best regards,
> Luka Gejak
next prev parent reply other threads:[~2026-11-14 17:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-13 15:17 Mauricio Faria de Oliveira
2026-11-14 13:40 ` Luka Gejak
2026-11-14 17:06 ` Thadeu Lima de Souza Cascardo [this message]
2026-11-14 17:17 ` Luka Gejak
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=aviVCqxRQfNvtl_g@quatroqueijos.cascardo.eti.br \
--to=cascardo@igalia.com \
--cc=kernel-dev@igalia.com \
--cc=kvalo@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=luka.gejak@linux.dev \
--cc=mfo@igalia.com \
--cc=phhuang@realtek.com \
--cc=pkshih@realtek.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®