wifi: cfg80211: Fix "no buffer space available" error in nl80211_get_station() for MLO
authorNithyanantham Paramasivam <nithyanantham.paramasivam@oss.qualcomm.com>
Fri, 5 Sep 2025 12:48:00 +0000 (18:18 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 10 Sep 2025 07:11:35 +0000 (09:11 +0200)
commit8cc71fc3b82b51e155fbe20876b1aa17a315ac4c
treee55c7c823b19cc1ac4417491540b827afc46e229
parenta814c36cc6738ae61a4bcda6d948935a6da51ae1
wifi: cfg80211: Fix "no buffer space available" error in nl80211_get_station() for MLO

Currently, nl80211_get_station() allocates a fixed buffer size using
NLMSG_DEFAULT_SIZE. In multi-link scenarios - particularly when the
number of links exceeds two - this buffer size is often insufficient
to accommodate complete station statistics, resulting in "no buffer
space available" errors.

To address this, modify nl80211_get_station() to return only
accumulated station statistics and exclude per link stats.

Pass a new flag (link_stats) to nl80211_send_station() to control
the inclusion of per link statistics. This allows retaining
detailed output with per link data in dump commands, while
excluding it from other commands where it is not needed.

This change modifies the handling of per link stats introduced in
commit 82d7f841d9bd ("wifi: cfg80211: extend to embed link level
statistics in NL message") to enable them only for
nl80211_dump_station().

Apply the same fix to cfg80211_del_sta_sinfo() by skipping per link
stats to avoid buffer issues. cfg80211_new_sta() doesn't include
stats and is therefore not impacted.

Fixes: 82d7f841d9bd ("wifi: cfg80211: extend to embed link level statistics in NL message")
Signed-off-by: Nithyanantham Paramasivam <nithyanantham.paramasivam@oss.qualcomm.com>
Link: https://patch.msgid.link/20250905124800.1448493-1-nithyanantham.paramasivam@oss.qualcomm.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/nl80211.c