diff options
| author | Zhenlei Huang <zlei@FreeBSD.org> | 2026-03-16 17:03:05 +0000 |
|---|---|---|
| committer | Zhenlei Huang <zlei@FreeBSD.org> | 2026-03-16 17:03:05 +0000 |
| commit | e0731059af912a27d0f842959218946b1daaa7d1 (patch) | |
| tree | a95f5a067ef207477371cceff63152dd08a505b1 | |
| parent | 8065ff63c0e5c3bb4abb02f55b20cb47bb51d1a7 (diff) | |
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
| -rw-r--r-- | sys/net/if.c | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index c3f31a28b40d..41084ecf0516 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1188,7 +1188,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); @@ -1218,14 +1217,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); @@ -1252,7 +1243,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); @@ -1280,14 +1270,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); |
