git: 8e64a7ec0b5d - stable/13 - net80211: amrr_init: change order of commands
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 12 Jun 2024 19:16:33 UTC
The branch stable/13 has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=8e64a7ec0b5d8a9b788ec36e9a17d896f7ebcd59
commit 8e64a7ec0b5d8a9b788ec36e9a17d896f7ebcd59
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2024-02-05 14:48:08 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2024-06-12 16:56:26 +0000
net80211: amrr_init: change order of commands
First run the KASSERT before trying to do the free operation.
Better for reporting and debugging.
Add a guard setting the value to NULL afterwards. NULL pointers
are a lot easier to test for.
Reviewed by: cc
Differential Revision: https://reviews.freebsd.org/D43751
(cherry picked from commit cd9fee3d2c370e81109505c2abfd381af952e9b3)
---
sys/net80211/ieee80211_amrr.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys/net80211/ieee80211_amrr.c b/sys/net80211/ieee80211_amrr.c
index 7248af0edccf..461554d75ea1 100644
--- a/sys/net80211/ieee80211_amrr.c
+++ b/sys/net80211/ieee80211_amrr.c
@@ -132,8 +132,9 @@ amrr_init(struct ieee80211vap *vap)
static void
amrr_deinit(struct ieee80211vap *vap)
{
- IEEE80211_FREE(vap->iv_rs, M_80211_RATECTL);
KASSERT(nrefs > 0, ("imbalanced attach/detach"));
+ IEEE80211_FREE(vap->iv_rs, M_80211_RATECTL);
+ vap->iv_rs = NULL; /* guard */
nrefs--; /* XXX locking */
}