From: Louis Kotze <loukot@gmail.com>
To: johannes@sipsolutions.net
Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
loukot@gmail.com
Subject: [PATCH v2 0/2] wifi: cfg80211: say why the auth/assoc BSS lookup failed
Date: Tue, 21 Jul 2026 20:11:56 +0200 [thread overview]
Message-ID: <20260721181158.3004022-1-loukot@gmail.com> (raw)
In-Reply-To: <2629d83dd460f3d9a60566f3fad975db13b045c3.camel@sipsolutions.net>
The BSS lookup for an authentication or association request can fail
because no scan entry exists, because the entry is expired, or because
the entry's use_for flags forbid the requested use. All three
currently produce the same generic (or no) diagnostic, which
wpa_supplicant relays verbatim as the only hint a user gets when e.g.
an MLO association degrades to fewer links.
Patch 1 makes __cfg80211_get_bss() record the reason via an optional
extack while it walks the BSS table, and wires the auth and assoc
paths up to it. Patch 2 adds a KUnit test for the reported reasons.
v2: per Johannes' feedback on v1, drop the separate failure-path
classification helper (which re-walked the table and could race
against it changing); the reason is now captured in
__cfg80211_get_bss() itself, during the same bss_lock walk that fails
the lookup, and the public cfg80211_get_bss() wrapper just passes
NULL. Since the reporting now lives in the lookup, the previously
silent authentication path gets the same messages for free, and a
KUnit test (new in v2) can cover all the reasons deterministically.
Demonstrated end-to-end in a mac80211_hwsim VM: with an unpatched
wpa_supplicant failing an MLD reassociation on a stale per-link BSS,
the supplicant log now shows
nl80211: kernel reports: BSS not found in scan results
nl80211: kernel reports error for link: 1
instead of the undiscriminating "Error fetching BSS for link".
Louis Kotze (2):
wifi: cfg80211: say why the auth/assoc BSS lookup failed
wifi: cfg80211: tests: check BSS lookup failure reasons
include/net/cfg80211.h | 7 ++-
net/wireless/nl80211.c | 28 +++++----
net/wireless/scan.c | 35 ++++++++---
net/wireless/tests/scan.c | 122 +++++++++++++++++++++++++++++++++++++-
4 files changed, 170 insertions(+), 22 deletions(-)
base-commit: ac798f757d6475dc6fee2ec899980d6740714596
--
2.55.0
next prev parent reply other threads:[~2026-07-21 18:12 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-11 4:34 [PATCH] wifi: nl80211: say why the association BSS lookup failed Louis Kotze
2026-07-21 15:31 ` Johannes Berg
2026-07-21 18:11 ` Louis Kotze [this message]
2026-07-21 18:11 ` [PATCH v2 1/2] wifi: cfg80211: say why the auth/assoc " Louis Kotze
2026-07-21 22:10 ` Johannes Berg
2026-07-22 7:07 ` Louis Kotze
2026-07-22 7:07 ` [PATCH v3 0/2] " Louis Kotze
2026-07-22 7:07 ` [PATCH v3 1/2] " Louis Kotze
2026-07-22 7:07 ` [PATCH v3 2/2] wifi: cfg80211: tests: check BSS lookup failure reasons Louis Kotze
2026-07-21 18:11 ` [PATCH v2 " Louis Kotze
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=20260721181158.3004022-1-loukot@gmail.com \
--to=loukot@gmail.com \
--cc=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
/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.