From nobody Mon Sep 14 19:48:16 2026 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 4hkG0c4xkxz6rcHF for ; Mon, 14 Sep 2026 19:48:16 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hkG0c3lsWz4XHp for ; Mon, 14 Sep 2026 19:48:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789415296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZlNAWMeFGmzvSW4BXW8R1ovbLBL9xgndbb+KqSXacTM=; b=u3oba3Uc2FDKYjHL/Vht38Ri0ALM/rpPU+1EwIt9aDSc8MGWq+5spAsv68JvHf4c+IluEf uCn5kg1248KL6NDHxFRNhO3OLoSxEB/j2DqA1L2JIRqknQeWxeKTUIylxSII9x4JKoHdrZ U7OY5c71tO+8ycaJ4d82l1QqMLOMjlukWG5U4+jFTf/bkyXWJH0RFCqypptqn7VLEeOydt G32q9GC2JP1MMRG8SVIefaxrF+Ib1VrGAhwKuxsljWnVCMMtrbglPzWAr1wo5i+SDwsjGr b3cLsXdzSQrid6uswRan7j/gmZweup9LV7qQ+jM4PrGkD7A47DGbrcFZU6IcWg== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789415296; b=PEDuiPCiUZ7eLtCzFgkwQ99vg+vRc8br+6noZvU5h+l/o833f2n0VACRW+AIR6So1OM6/B eK7IewpuhbZC4//yxmCxD+K+Ed6zv6kIbY7v29ZNbTYN0ftM+l3imUxVB0w/c0ikK7GWF5 iM9M1FMjysQLTWEsWQHpMdkK8yW303Yn2ZoyGEkwRoYUtD8Z4Yx3IPOQzkPi2BB4rABJu1 PRHmKvCwnD3SYpjpUI/90kM/cNYuDCI60WNOgU96sqpEKr8l3VBWKfR6VkHjUoHjkRR7su a30vfsYlLYwFpTRhDq/IGA1q+5NNAQf474ubsl8fRUSv3Z5R0wYxfw68nTPWIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789415296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZlNAWMeFGmzvSW4BXW8R1ovbLBL9xgndbb+KqSXacTM=; b=WcsY6vbzMul/eb69FrjJhhSfgzSsJv0AIgSIVCgsx2qYePe4AJNCmum0kUp97K6D1WPs1J 1uO6qixhBnETz3WGajeH7AJdTWh8eABsgrf16wro1rQ0oQ2dOZCDAPOXbBxsJMbgptN7eA SGFff9zm//ZMcSoafh589+Qbx1dI1VYCkW3nbCYQ2MrNA1ZykPZcUBeNi/isNAaxKf8yxh dophhs95xdDoPIYE7/U3FaANvCiEIt1fjreCqrp81js1z1p2kTN8kI721NYY3BHMHzXWKc ddVpcmLKWZEueOVlWRf+/1HwDTDraQ9VJuVZk36ltBiqJCb/sjmRC6O/fSqCIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hkG0c1X7VzRCG for ; Mon, 14 Sep 2026 19:48:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 23266 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 14 Sep 2026 19:48:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Artem Bunichev From: Bjoern A. Zeeb Subject: git: 73166d21bd83 - main - LinuxKPI: 802.11: Always lock around lkpi_80211_mo_{remove_interface,stop}() 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list 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: 73166d21bd831db264509cbdce1ab3b63ab5b189 Auto-Submitted: auto-generated Date: Mon, 14 Sep 2026 19:48:16 +0000 Message-Id: <6aa84f80.23266.312750b4@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=73166d21bd831db264509cbdce1ab3b63ab5b189 commit 73166d21bd831db264509cbdce1ab3b63ab5b189 Author: Artem Bunichev AuthorDate: 2026-09-13 21:21:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-09-14 19:06:01 +0000 LinuxKPI: 802.11: Always lock around lkpi_80211_mo_{remove_interface,stop}() Add the missing locking to another two MO driver downcalls, as drivers always expect it (e.g. rtw89 by assertion). Add the lock and might_sleep assertions to the respective lkpi_80211_mo_* downcalls. PR: 298417 Reviewed by: bz MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D59608 --- sys/compat/linuxkpi/common/src/linux_80211.c | 2 ++ sys/compat/linuxkpi/common/src/linux_80211_macops.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index ae0c374e2ea6..cde4b820b4dd 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4622,10 +4622,12 @@ lkpi_ic_vap_delete(struct ieee80211vap *vap) IMPROVE("clear up other bits in this state"); + wiphy_lock(hw->wiphy); lkpi_80211_mo_remove_interface(hw, vif); /* Single VAP, so we can do this here. */ lkpi_80211_mo_stop(hw, false); /* XXX SUSPEND */ + wiphy_unlock(hw->wiphy); mtx_destroy(&lvif->mtx); free(lvif, M_80211_VAP); diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index 06d2ecba8048..1ea6bc1dc916 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -80,6 +80,9 @@ lkpi_80211_mo_stop(struct ieee80211_hw *hw, bool suspend) { struct lkpi_hw *lhw; + might_sleep(); + lockdep_assert_wiphy(hw->wiphy); + lhw = HW_TO_LHW(hw); if (lhw->ops->stop == NULL) return; @@ -197,6 +200,9 @@ lkpi_80211_mo_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vi struct lkpi_hw *lhw; struct lkpi_vif *lvif; + might_sleep(); + lockdep_assert_wiphy(hw->wiphy); + lhw = HW_TO_LHW(hw); if (lhw->ops->remove_interface == NULL) return;