Anyone wants to fix vtnet locking with IPv6?

"Bjoern A. Zeeb" <[email protected]>
Newsgroups gmane.os.freebsd.devel.net
Message-ID <[email protected]>
Those two come up almost every time I bring IPv6 up inside a bhyve VM.
The initial locking with that sleep mtx even twice.

Invoking IPv6 network device address event may sleep with the following non-sleepable locks held:
exclusive sleep mutex vtnet0-rx0 (vtnet0-rx0) r = 0 (0xfffff800018f4d80) locked @ /usr/sys/dev/virtio/network/if_vtnet.c:2241
stack backtrace: 
#0 0xffffffff80c0f9dc at witness_debugger+0x6c
#1 0xffffffff80c10bf0 at witness_warn+0x430 
#2 0xffffffff80dd78a7 at in6_update_ifa+0xc97
#3 0xffffffff80e05416 at in6_ifadd+0x316 
#4 0xffffffff80e019b3 at nd6_ra_input+0x10a3 
#5 0xffffffff80dd1556 at icmp6_input+0x5b6
#6 0xffffffff80debfa8 at ip6_input+0xc98 
#7 0xffffffff80d01e14 at netisr_dispatch_src+0xb4 
#8 0xffffffff80ce3eba at ether_demux+0x16a 
#9 0xffffffff80ce555e at ether_nh_input+0x3ce
#10 0xffffffff80d01e14 at netisr_dispatch_src+0xb4
#11 0xffffffff80ce4315 at ether_input+0xd5
#12 0xffffffff809b189e at vtnet_rxq_eof+0x7ce
#13 0xffffffff809b101c at vtnet_rx_vq_process+0x9c
#14 0xffffffff80b4bc56 at ithread_loop+0x266
#15 0xffffffff80b47f32 at fork_exit+0x82
#16 0xffffffff810c42ce at fork_trampoline+0xe
lock order reversal: (sleepable after non-sleepable)
  1st 0xfffff800018f4d80 vtnet0-rx0 (vtnet0-rx0, sleep mutex) @ /usr/sys/dev/virtio/network/if_vtnet.c:2241
  2nd 0xffffffff81eee4c0 in6_multi_sx (in6_multi_sx, sx) @ /usr/sys/netinet6/in6_mcast.c:1216
lock order vtnet0-rx0 -> in6_multi_sx attempted at:
#0 0xffffffff80c0f5b1 at witness_checkorder+0xbe1
#1 0xffffffff80ba2ed0 at _sx_xlock+0x60
#2 0xffffffff80de0311 at in6_joingroup+0x31
#3 0xffffffff80dd7c6a at in6_update_ifa+0x105a
#4 0xffffffff80e05416 at in6_ifadd+0x316
#5 0xffffffff80e019b3 at nd6_ra_input+0x10a3
#6 0xffffffff80dd1556 at icmp6_input+0x5b6
#7 0xffffffff80debfa8 at ip6_input+0xc98
#8 0xffffffff80d01e14 at netisr_dispatch_src+0xb4
#9 0xffffffff80ce3eba at ether_demux+0x16a
#10 0xffffffff80ce555e at ether_nh_input+0x3ce
#11 0xffffffff80d01e14 at netisr_dispatch_src+0xb4
#12 0xffffffff80ce4315 at ether_input+0xd5
#13 0xffffffff809b189e at vtnet_rxq_eof+0x7ce
#14 0xffffffff809b101c at vtnet_rx_vq_process+0x9c
#15 0xffffffff80b4bc56 at ithread_loop+0x266
#16 0xffffffff80b47f32 at fork_exit+0x82
#17 0xffffffff810c42ce at fork_trampoline+0xe


-- 
Bjoern A. Zeeb                                                     r15:7
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.