nl80211_get_reg_do() has a WARN_ON() for a self-managed wiphy without a private regdomain. Userspace can trigger it with a plain NL80211_CMD_GET_REG request. Drivers can register such a wiphy first and set its regdomain later. ath12k, for example, calls ieee80211_register_hw() and only then applies the regdomain with ath12k_regd_update(). iwd queries the regdomain of a new wiphy as soon as it shows up, so it can hit that window at boot: WARNING: net/wireless/nl80211.c:10828 at nl80211_get_reg_do+0x1d0/0x1fc [cfg80211], CPU#5: iwd/721 Call trace: nl80211_get_reg_do+0x1d0/0x1fc [cfg80211] (P) genl_family_rcv_msg_doit+0xd0/0x138 genl_rcv_msg+0x58/0xd4 netlink_rcv_skb+0x5c/0x140 genl_rcv+0x34/0x4c netlink_unicast+0x31c/0x39c netlink_sendmsg+0x188/0x400 The same trace has been reported with an Intel BE200 (iwlwifi). The dump variant, nl80211_get_reg_dump(), already skips a wiphy without a regdomain without warning. Keep returning -EINVAL, but drop the WARN_ON(). The same change was posted in 2021 but was never applied. Seen on a Microsoft Surface Pro 11 (WCN7850, ath12k) in 3 of 4 boots with next-20260929. Fixes: 1bdd716cbcca ("cfg80211: return private regdom for self-managed devices") Reported-by: Diederik de Haas Closes: https://lore.kernel.org/all/DL5P72WYQVOQ.23G9D01OY3BAA@cknow-tech.com/ Link: https://lore.kernel.org/all/iwlwifi.20210409123755.ba2ea961f4ae.I8fde32d3196e860efa3b4ec464c42194195b42ec@changeid/ Assisted-by: LLM Signed-off-by: François Roux --- net/wireless/nl80211.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index a18240455..2589491af 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -10824,8 +10824,12 @@ static int nl80211_get_reg_do(struct sk_buff *skb, struct genl_info *info) regdom = get_wiphy_regdom(wiphy); - /* a self-managed-reg device must have a private regdom */ - if (WARN_ON(!regdom && self_managed)) { + /* + * A self-managed-reg device gets its private regdom from the + * driver, which may happen only after the wiphy is registered. + * Userspace can ask before that, so don't WARN. + */ + if (!regdom && self_managed) { err = -EINVAL; goto nla_put_failure_rcu; } base-commit: 6474fa070f2b8013b4b87350b775b8c3be6e8aac -- 2.56.0