]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: mac80211: fix memory leak in ieee80211_register_hw()
authorDawei Feng <dawei.feng@seu.edu.cn>
Mon, 6 Jul 2026 14:35:07 +0000 (22:35 +0800)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 7 Jul 2026 07:25:05 +0000 (09:25 +0200)
commit95fc02722edde02946d0d475221f2b2054d3d8ba
treec96fb4650d75fa1f4a10becdccf94153b523c8ac
parentf3858d5b1432098c1936e03d6e03dd0e33facf60
wifi: mac80211: fix memory leak in ieee80211_register_hw()

If kmemdup() fails while copying supported band structures, the error
path jumps to fail_rate. This skips rate_control_deinitialize() and
leaks the initialized local->rate_ctrl.

Fix this by adding a fail_band label that shares the rate-control cleanup
path before falling through to the remaining teardown.

The bug was first flagged by an experimental analysis tool we are
developing for kernel memory-management bugs while analyzing
v6.13-rc1. The tool is still under development and is not yet publicly
available. Manual inspection confirms that the bug is still present in
v7.1-rc7.

An x86_64 allyesconfig build showed no new warnings. As we do not have a
suitable mac80211 device/driver combination to test with, no runtime
testing was able to be performed.

Fixes: 09b4a4faf9d0 ("mac80211: introduce capability flags for VHT EXT NSS support")
Cc: stable@vger.kernel.org
Reviewed-by: Zilin Guan <zilin@seu.edu.cn>
Signed-off-by: Dawei Feng <dawei.feng@seu.edu.cn>
Link: https://patch.msgid.link/20260706143507.146131-1-dawei.feng@seu.edu.cn
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/main.c