[Bug 148807] [panic] "panic: sbdrop" and "panic: sbsndptr: sockbuf _ and mbuf _ clashing" (8.1-RELEASE/10.1-STABLE/11-CURRENT)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Oct 13 09:12:41 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=148807

slw at zxy.spb.ru changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |slw at zxy.spb.ru

--- Comment #33 from slw at zxy.spb.ru ---
(In reply to Hiren Panchasara from comment #31)

> Most interesting frames are these 2:
> 
> #22 0xffffffff80a6c546 in ether_input (ifp=<optimized out>, m=0x0) at /d2/hiren/freebsd/sys/net/if_ethersubr.c:759
> #23 0xffffffff804e2b3c in igb_rx_input (rxr=<optimized out>, ifp=0xfffff80115614800, m=0xfffff8014eee7600, 
>    ptype=<optimized out>) at /d2/hiren/freebsd/sys/dev/e1000/if_igb.c:4957
>
> #23 has an mbuf while #22 has it null.

> Does this point to your hunch of
> "device-driver bugs involving modifications to the mbuf chain after submitting the mbuf to the network stack (e.g., due to concurrency bugs in the device driver)" ?

This is just result of compiler optimisation and stack decoding.
Compiler use for m same register as passed at call time and do

while (m) {  
 mn = m->m_nextpkt;
[...]
 m = mn;
}

as result m (as decoded argument) will be incorectly displayed.
Actualy this is just last loop iteration with last mbuf in chain.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-net mailing list