git: 9a071e4e5764 - main - Assert that ifnet_detach_sxlock is held where needed.

From: Dag-Erling Smørgrav <des_at_FreeBSD.org>
Date: Fri, 08 Sep 2023 10:06:42 UTC
The branch main has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=9a071e4e576490370f26307405f12200218dec54

commit 9a071e4e576490370f26307405f12200218dec54
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2023-09-08 10:06:01 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2023-09-08 10:06:11 +0000

    Assert that ifnet_detach_sxlock is held where needed.
    
    Sponsored by:   NetApp, Inc.
    Sponsored by:   Klara, Inc.
    Reviewed by:    kp
    Differential Revision:  https://reviews.freebsd.org/D41770
---
 sys/net/if.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/net/if.c b/sys/net/if.c
index 7a78ebcfea05..f7636d46331a 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -1128,6 +1128,8 @@ if_detach_internal(struct ifnet *ifp, bool vmove)
 	shutdown = VNET_IS_SHUTTING_DOWN(ifp->if_vnet);
 #endif
 
+	sx_assert(&ifnet_detach_sxlock, SX_XLOCKED);
+
 	/*
 	 * At this point we know the interface still was on the ifnet list
 	 * and we removed it so we are in a stable state.