Re: kern/60637: destroying a vlan interface with a configured parent interface hangs
"Taylor R Campbell via gnats" <[email protected]>
| Newsgroups | gmane.os.netbsd.bugs |
|---|---|
| Message-ID | <[email protected]> |
The following reply was made to PR kern/60637; it has been noted by GNATS. From: Taylor R Campbell <[email protected]> To: Emmanuel Nyarko <[email protected]> Cc: [email protected], [email protected] Subject: Re: kern/60637: destroying a vlan interface with a configured parent interface hangs Date: Tue, 25 Aug 2026 19:04:01 +0000 > Date: Mon, 24 Aug 2026 20:27:18 +0000 (UTC) > From: Emmanuel Nyarko <[email protected]> > > >Description: > > The usual procedure to configuring a vlan interface is > > create the vlan interface, configure it with a vlan ID and a parent > > when shutting it down, > > unconfigure it > and > destroy it and this works without hanging. > > but running destroy when not unconfigured hangs. > >How-To-Repeat: > > ifconfig vlan0 create > ifconfig vlan0 vlan 6 vlanif $interface > ifconfig vlan0 destroy I tried this in a VM with interface=vioif0 and it worked fine. Can you share the output of the following, before it hangs? 1. ifconfig -a 2. dmesg 3. when it hangs, start crash(8) in another terminal (or start it before the hang) and run: - ps - show all tstiles/t Also, are you running with any local patches? > - IFNET_GLOBAL_LOCK(); > ifindex2ifnet[ifp->if_index] = NULL; > TAILQ_REMOVE(&ifnet_list, ifp, if_list); > IFNET_WRITER_REMOVE(ifp); > pserialize_perform(ifnet_psz); > - IFNET_GLOBAL_UNLOCK(); This is definitely not a fix! Everything here -- ifindex2ifnet, ifnet_list, IFNET_WRITER_*, ifnet_psz -- must have access serialized by IFNET_GLOBAL_LOCK in order to coordinate the data structures with other threads.