svn commit: r333309 - in head/sys: net netinet netinet6

Tom Jones thj at freebsd.org
Wed May 9 12:48:37 UTC 2018


On Sun, May 06, 2018 at 08:34:13PM +0000, Matt Macy wrote:
> Author: mmacy
> Date: Sun May  6 20:34:13 2018
> New Revision: 333309
> URL: https://svnweb.freebsd.org/changeset/base/333309
> 
> Log:
>   r333175 introduced deferred deletion of multicast addresses in order to permit the driver ioctl
>   to sleep on commands to the NIC when updating multicast filters. More generally this permitted
>   driver's to use an sx as a softc lock. Unfortunately this change introduced a race whereby a
>   a multicast update would still be queued for deletion when ifconfig deleted the interface
>   thus calling down in to _purgemaddrs and synchronously deleting _all_ of the multicast addresses
>   on the interface.
>   
>   Synchronously remove all external references to a multicast address before enqueueing for delete.
>   

Hi Matt,

I am getting periodic panics on a FreeBSD CURRENT guest running bhyve on
a 11.1 Host.  An idle guest will panic after about 5 minutes. Reverting
this commit stops the panics.

Fatal trap 9: general protection fault while in kernel mode
cpuid = 0; apic id = 00
instruction pointer     = 0x20:0xffffffff80db01ac
stack pointer           = 0x28:0xfffffe00121827d0
frame pointer           = 0x28:0xfffffe0012182800
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 12 (swi4: clock (0))
[ thread pid 12 tid 100023 ]
Stopped at      in6m_disconnect+0x13c:  cmpq    %r13,(%rcx)
db> bt
Tracing pid 12 tid 100023 td 0xfffff8000322d000
in6m_disconnect() at in6m_disconnect+0x13c/frame 0xfffffe0012182800
mld_fasttimo() at mld_fasttimo+0x62b/frame 0xfffffe00121828d0
pffasttimo() at pffasttimo+0x54/frame 0xfffffe0012182900
softclock_call_cc() at softclock_call_cc+0x150/frame 0xfffffe00121829b0
softclock() at softclock+0x7c/frame 0xfffffe00121829e0
intr_event_execute_handlers() at intr_event_execute_handlers+0x99/frame 0xfffffe0012182a20
ithread_loop() at ithread_loop+0xb7/frame 0xfffffe0012182a70
fork_exit() at fork_exit+0x84/frame 0xfffffe0012182ab0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0012182ab0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---

- [tj]



More information about the svn-src-head mailing list