git: 634fd711b003 - stable/14 - net80211: amrr_init: change order of commands

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Mon, 22 Apr 2024 19:44:05 UTC
The branch stable/14 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=634fd711b003fa59fda39533a2b578228299031a

commit 634fd711b003fa59fda39533a2b578228299031a
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2024-02-05 14:48:08 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2024-04-22 17:00:22 +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 */
 }