From nobody Thu Jun 19 01:23:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bN2tS6S1Nz5yMX4; Thu, 19 Jun 2025 01:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bN2tS5FGmz3wrS; Thu, 19 Jun 2025 01:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750296208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ivXPtNmxo+TrP+J2Zc1sU/AX6rs88n7ZgmPow30zjys=; b=E1+gQr/o+obgG8Y59/2yiQedHXJAZRbUB0B1Q4SorNrx+oEy7nWvbv6arNJuY7TiLnRiRy R/2fUukJG5b8cbeFHoJDAZNHYi7KIvTqKwhVazcZXHY9Bae/+j+Vio9VrjzqdXEYxsI/1l KpHvRH874GGkafI7sOHCZmw+dlfxP3AK4+EbwR0DuomU55dqAnJBALyMUnahprIPApuRHr ko7Z+KHWmtgz6VQhT9Qk0VFBzHjN8g6TNcLrrHgWFucBGoLKyrWzUMyLAkDp+dtEriiFws 37mmUtQKJuC9ZqsehqfFQFsW0IxH331f42g5jxiovXF4c3yNvlyzNo4COR0yMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750296208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ivXPtNmxo+TrP+J2Zc1sU/AX6rs88n7ZgmPow30zjys=; b=gkxjR25gLIaBFqprsy5SM3782Uc/smsdERk7VDiwVZDllGsZjwljwtHFqQzlhEN8+d5CXI yfh6ZhLIt6+Y+wwyXPEa8Fhgkuu1879VWT/Yjb+l649YmVhzxp4s+FnPFq0q7Nm9mK7O3y rZHNDMlYmE12+QgCfYeddI2VqA/zV6jQfwx9TBZ5KYVIqndnVCkKrC7shYWKo25EZs558R eXLHCPq7XZQiJken2/NezNCaYXOsUT9VsEAM2aeBlM8NX0MIEifKGiP7WATePJKBj/K4eH AuvuM5kfyPz2rvnVUjVH4FZFlW/q8khMD0Qs6IcZGDZSy5srbaZqKyhPLEYzdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1750296208; a=rsa-sha256; cv=none; b=mPWIZXMDp4ZoHp1mCidskAy3/DpWofGoEjrvCBCuHracKn4ngFRQGT0KlNqvycb/LMpcfC ZL12NVgHXxP8nl76nDJMCRf9h6dKAQQVgufz1rX/qctKKfeMaao6TxGkShR+Fe4NM5YXUR 9/JcFyMEicMJU6+yRvEobAdmWEtqC174S+tBfPL+SjEZ4yIWZvN4hawLFGJIIjTL//ADo/ 5/z7/9VY7Q0q/ODK4Tm7eFAppZvkzIZOcR5hr08snKAnhEcnBUr1zzauWz8nqTy9MIY85Q gJX3EMfW3a4HyOsCfALh02acPbZ5KDBKTFXeA1ZllhzCctjxfrxS6J9sDIwAfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bN2tS4WN8zt85; Thu, 19 Jun 2025 01:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55J1NSBD035219; Thu, 19 Jun 2025 01:23:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55J1NSdj035216; Thu, 19 Jun 2025 01:23:28 GMT (envelope-from git) Date: Thu, 19 Jun 2025 01:23:28 GMT Message-Id: <202506190123.55J1NSdj035216@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f51c794cbc80 - main - net80211: in ieee80211_sta_join() only do_ht if HT is avail List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f51c794cbc80682931d47264e3c18329bae0a2c1 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f51c794cbc80682931d47264e3c18329bae0a2c1 commit f51c794cbc80682931d47264e3c18329bae0a2c1 Author: Bjoern A. Zeeb AuthorDate: 2025-06-18 21:58:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-06-19 01:23:12 +0000 net80211: in ieee80211_sta_join() only do_ht if HT is avail In ieee80211_sta_join() there are currently two ways to set "do_ht": (1) after checking HT IEs are avail, and (2) after checking VHT IEs are avail and we are not on 2GHz. In the latter case no one checks that HT IEs are available and when we hit ieee80211_ht_updateparams_final() htinfo may be NULL and we panic. Avoid this by only checking for VHT if do_ht was set. No VHT without HT IEs. While here switch do_ht to be a bool. Sponsored by: The FreeBSD Foundation MFC after: 3 days PR: 287625 Fixes: 51172f62a753f Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D50923 --- sys/net80211/ieee80211_node.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index de19bc6a7361..ad17af6778a1 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -940,7 +940,7 @@ ieee80211_sta_join(struct ieee80211vap *vap, struct ieee80211_channel *chan, { struct ieee80211com *ic = vap->iv_ic; struct ieee80211_node *ni; - int do_ht = 0; + bool do_ht; ni = ieee80211_alloc_node(&ic->ic_sta, vap, se->se_macaddr, __func__, __LINE__); @@ -1016,6 +1016,7 @@ ieee80211_sta_join(struct ieee80211vap *vap, struct ieee80211_channel *chan, * association request/response, the only appropriate place * to setup the HT state is here. */ + do_ht = false; if (ni->ni_ies.htinfo_ie != NULL && ni->ni_ies.htcap_ie != NULL && vap->iv_flags_ht & IEEE80211_FHT_HT) { @@ -1023,7 +1024,7 @@ ieee80211_sta_join(struct ieee80211vap *vap, struct ieee80211_channel *chan, ieee80211_ht_updateparams(ni, ni->ni_ies.htcap_ie, ni->ni_ies.htinfo_ie); - do_ht = 1; + do_ht = true; } /* @@ -1032,7 +1033,7 @@ ieee80211_sta_join(struct ieee80211vap *vap, struct ieee80211_channel *chan, * * For now, don't allow 2GHz VHT operation. */ - if (ni->ni_ies.vhtopmode_ie != NULL && + if (do_ht && ni->ni_ies.vhtopmode_ie != NULL && ni->ni_ies.vhtcap_ie != NULL && vap->iv_vht_flags & IEEE80211_FVHT_VHT) { if (IEEE80211_IS_CHAN_2GHZ(ni->ni_chan)) { @@ -1045,7 +1046,6 @@ ieee80211_sta_join(struct ieee80211vap *vap, struct ieee80211_channel *chan, ni->ni_ies.vhtcap_ie, ni->ni_ies.vhtopmode_ie); ieee80211_setup_vht_rates(ni); - do_ht = 1; } }