Date: Thu, 30 Apr 2026 09:53:18 +0000 From: Zhenlei Huang <zlei@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: a989b0fbc965 - stable/15 - ifnet: Remove unreachable code Message-ID: <69f3268e.47024.7e6a3680@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/15 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=a989b0fbc965b453d97e3d032efb4f9c7592734a commit a989b0fbc965b453d97e3d032efb4f9c7592734a Author: Zhenlei Huang <zlei@FreeBSD.org> AuthorDate: 2026-03-16 17:03:05 +0000 Commit: Zhenlei Huang <zlei@FreeBSD.org> CommitDate: 2026-04-30 09:51:59 +0000 ifnet: Remove unreachable code The ioctls SIOCSIFVNET and SIOCSIFRVNET are for userland only. For SIOCSIFVNET, if_vmove_loan(), the interface is obtained from current VNET. For SIOCSIFRVNET, if_vmove_reclaim(), a valid child prison is held before getting the interface. In both cases the VNET of the obtained interfaces is stable, so there's no need to check it. No functional change intended. Reviewed by: glebius, jamie (for #jails) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D55828 (cherry picked from commit e0731059af912a27d0f842959218946b1daaa7d1) --- sys/net/if.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 9ea5f9778d98..71a4585ae7eb 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1297,7 +1297,6 @@ if_vmove_loan(struct thread *td, struct ifnet *ifp, char *ifname, int jid) struct prison *pr; struct ifnet *difp; bool found; - bool shutdown; MPASS(ifindex_table[ifp->if_index].ife_ifnet == ifp); @@ -1327,14 +1326,6 @@ if_vmove_loan(struct thread *td, struct ifnet *ifp, char *ifname, int jid) } sx_xlock(&ifnet_detach_sxlock); - /* Make sure the VNET is stable. */ - shutdown = VNET_IS_SHUTTING_DOWN(ifp->if_vnet); - if (shutdown) { - sx_xunlock(&ifnet_detach_sxlock); - prison_free(pr); - return (EBUSY); - } - found = if_unlink_ifnet(ifp, true); if (! found) { sx_xunlock(&ifnet_detach_sxlock); @@ -1361,7 +1352,6 @@ if_vmove_reclaim(struct thread *td, char *ifname, int jid) struct vnet *vnet_dst; struct ifnet *ifp; int found __diagused; - bool shutdown; /* Try to find the prison within our visibility. */ sx_slock(&allprison_lock); @@ -1389,14 +1379,6 @@ if_vmove_reclaim(struct thread *td, char *ifname, int jid) return (EEXIST); } - /* Make sure the VNET is stable. */ - shutdown = VNET_IS_SHUTTING_DOWN(ifp->if_vnet); - if (shutdown) { - CURVNET_RESTORE(); - prison_free(pr); - return (EBUSY); - } - /* Get interface back from child jail/vnet. */ found = if_unlink_ifnet(ifp, true); MPASS(found);home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69f3268e.47024.7e6a3680>
