Re: Networking panic on 12 - found the cause

From: Kristof Provost <kp_at_freebsd.org>
Date: Tue, 12 Feb 2019 21:13:30 +0100
On 2019-02-12 13:54:21 (-0600), Eric van Gyzen <eric_at_vangyzen.net> wrote:
> I see the same behavior on head (and stable/12).
> 
> (kgdb) f
> #16 0xffffffff80ce5331 in ether_output_frame (ifp=0xfffff80003672800,
>     m=0xfffff8000c88b100) at /usr/src/sys/net/if_ethersubr.c:468
> 468			switch (pfil_run_hooks(V_link_pfil_head, &m, ifp, PFIL_OUT,
> 
>    0xffffffff80ce5321 <+81>:	mov    %gs:0x0,%rax
>    0xffffffff80ce532a <+90>:	mov    0x500(%rax),%rax
> => 0xffffffff80ce5331 <+97>:	mov    0x28(%rax),%rax
> 
> I think this is part of the V_link_pfil_head.  I'm not very familiar
> with vnet.  Does this need a CURVNET_SET(), maybe in garp_rexmit()?
> 
Yes. I posted a proposed patch in
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235699

Basically we get called through a timer, so there's no vnet context. It
needs to be set, and then we can safely use any V_ variables.

Regards,
Kristof
Received on Tue Feb 12 2019 - 19:13:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:20 UTC