NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/60637: destroying a vlan interface with a configured parent interface hangs



The following reply was made to PR kern/60637; it has been noted by GNATS.

From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
To: Emmanuel Nyarko <joe%ns1.eloisystems.com@localhost>
Cc: gnats-bugs%NetBSD.org@localhost, netbsd-bugs%NetBSD.org@localhost
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 <joe%ns1.eloisystems.com@localhost>
 > 
 > >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.
 



Home | Main Index | Thread Index | Old Index