git: 541f915f421f - stable/13 - ifnet: Restore curvnet earlier

From: Zhenlei Huang <zlei_at_FreeBSD.org>
Date: Fri, 05 Jul 2024 15:45:23 UTC
The branch stable/13 has been updated by zlei:

URL: https://cgit.FreeBSD.org/src/commit/?id=541f915f421f80467f6e356d74b3cc971bcd74f6

commit 541f915f421f80467f6e356d74b3cc971bcd74f6
Author:     Zhenlei Huang <zlei@FreeBSD.org>
AuthorDate: 2024-06-27 04:38:04 +0000
Commit:     Zhenlei Huang <zlei@FreeBSD.org>
CommitDate: 2024-07-05 15:43:44 +0000

    ifnet: Restore curvnet earlier
    
    This improves readability a little. As a side effect, a redundant
    CURVNET_RESTORE is removed.
    
    No functional change intended.
    
    Reviewed by:    glebius
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D45595
    
    (cherry picked from commit ef4f4a44d9134ddadede0e2e6e658d0688c5ab3c)
    (cherry picked from commit 3bae3e545e2ef7ee26a94090fdc6962a127310a4)
---
 sys/net/if.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/sys/net/if.c b/sys/net/if.c
index 850d1030a16e..e457ce5c4705 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -1414,8 +1414,8 @@ if_vmove_loan(struct thread *td, struct ifnet *ifp, char *ifname, int jid)
 	/* XXX Lock interfaces to avoid races. */
 	CURVNET_SET_QUIET(pr->pr_vnet);
 	difp = ifunit(ifname);
+	CURVNET_RESTORE();
 	if (difp != NULL) {
-		CURVNET_RESTORE();
 		prison_free(pr);
 		return (EEXIST);
 	}
@@ -1425,16 +1425,13 @@ if_vmove_loan(struct thread *td, struct ifnet *ifp, char *ifname, int jid)
 	shutdown = VNET_IS_SHUTTING_DOWN(ifp->if_vnet);
 	if (shutdown) {
 		sx_xunlock(&ifnet_detach_sxlock);
-		CURVNET_RESTORE();
 		prison_free(pr);
 		return (EBUSY);
 	}
-	CURVNET_RESTORE();
 
 	found = if_unlink_ifnet(ifp, true);
 	if (! found) {
 		sx_xunlock(&ifnet_detach_sxlock);
-		CURVNET_RESTORE();
 		prison_free(pr);
 		return (ENODEV);
 	}