git: 8e64a7ec0b5d - stable/13 - net80211: amrr_init: change order of commands

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
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 */
 }