https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292993
Bug ID: 292993
Summary: panic in ng_eiface_mediastatus when stopping vnet_jail
with netgraph
Product: Base System
Version: 15.0-RELEASE
Hardware: amd64
OS: Any
Status: New
Keywords: crash
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: [email protected]
Reporter: [email protected]
Stopping jail[s] with vnet (created with /usr/share/examples/jails/jng) crashes
the system:
Reading symbols from kernel.debug...
Unread portion of the kernel message buffer:
<6>ng0_acme: link state changed to DOWN
Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address = 0x10
fault code = supervisor read data, page not present
instruction pointer = 0x20:0xffffffff8214e9bc
stack pointer = 0x28:0xfffffe008841da60
frame pointer = 0x28:0xfffffe008841da60
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 = 0 (jail_remove taskq)
rdi: fffff8000fdfe000 rsi: fffffe008841dad0 rdx: fffff80040f4ba08
rcx: 0000000000000000 r8: 0000000000000000 r9: 0000000000000010
rax: fffff80040f4ba00 rbx: fffffe008841dad0 rbp: fffffe008841da60
r10: 0000000000000000 r11: 0000000000000000 r12: 0000000000000001
r13: 0000000000208802 r14: fffff80040f4ba08 r15: fffff8006937002c
trap number = 12
panic: page fault
cpuid = 1
time = 1770201212
KDB: stack backtrace:
#0 0xffffffff80bbe1ed at kdb_backtrace+0x5d
#1 0xffffffff80b71576 at vpanic+0x136
#2 0xffffffff80b71433 at panic+0x43
#3 0xffffffff81079f69 at trap_pfault+0x3c9
#4 0xffffffff8104ffe8 at calltrap+0x8
#5 0xffffffff80ca6cde at ifmedia_ioctl+0x17e
#6 0xffffffff80dc93fa at dump_iface+0x11a
#7 0xffffffff80dc8ce5 at rtnl_handle_ifnet_event+0x85
#8 0xffffffff80c97818 at if_detach_internal+0x148
#9 0xffffffff80c9e6e5 at vnet_if_return+0x105
#10 0xffffffff80cd7864 at vnet_destroy+0x134
#11 0xffffffff80b311c8 at prison_deref+0x968
#12 0xffffffff80bd4de2 at taskqueue_run_locked+0x182
#13 0xffffffff80bd5fb2 at taskqueue_thread_loop+0xc2
#14 0xffffffff80b2786b at fork_exit+0x7b
#15 0xffffffff8105100e at fork_trampoline+0xe
Uptime: 7m54s
Debugging with kgdb the instruction pointer when system crashes:
(kgdb) list *0xffffffff8214e9bc
0xffffffff8214e9bc is in ng_eiface_mediastatus
(/usr/src/sys/netgraph/ng_eiface.c:365).
warning: Source file is more recent than executable.
360 ng_eiface_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr)
361 {
362 const priv_p priv = (priv_p)ifp->if_softc;
363 struct ifmedia *ifm = &priv->media;
364
365 if (ifm->ifm_cur->ifm_media == (IFM_ETHER | IFM_AUTO) &&
366 (priv->link_status & IFM_ACTIVE))
367 ifmr->ifm_active = IFM_ETHER | IFM_1000_T | IFM_FDX;
368 else
369 ifmr->ifm_active = ifm->ifm_cur->ifm_media;
Running jails the "old" way (binding L2/L3 to the main NIC) did not cause any
problems the last 2 decades but I want to separate my jails with virtual NICs
so netgraph looked promising but until today I did not manage to get it up
reliable.
Not sure whether the information above helps so if you need more information
please let me know. Also not sure whether I missed something in the conf of the
jail but anyway I think that an eventual bug in configuration should not crash
the whole system.
--
You are receiving this mail because:
You are the assignee for the bug.