Project

General

Profile

Actions

Bug #14917

closed

Mulicast traffic on a detached interface causes a panic

Added by Steve Wheeler about 1 year ago. Updated 10 months ago.

Status:
Closed
Priority:
Normal
Category:
Interfaces
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
23.09.1
Release Notes:
Default
Affected Version:
2.7.0
Affected Architecture:
All

Description

Multicast traffic can attempt to send over an interface that is down triggering a panic.

Here pimd is routing multicast traffic and the interface loses link:
Panic:

fault virtual address    = 0x0
fault code        = supervisor read data, page not present
instruction pointer    = 0x20:0xffffffff80f051cb
stack pointer            = 0x28:0xfffffe0137f7cb30
frame pointer            = 0x28:0xfffffe0137f7cb60
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        = 58230 (pimd)
rdi: fffffe00c6a48f18 rsi:                4 rdx:                1
rcx:                0  r8:                0  r9: fffff8000b173000
rax:              100 rbx: fffffe013781dc80 rbp: fffffe0137f7cb60
r10:                0 r11: 80000003151cee01 r12: fffffe013781dc80
r13:                0 r14: fffff80141883300 r15:                0
trap number        = 12
panic: page fault
cpuid = 11
time = 1697857988
KDB: enter: panic

Backtrace:

db:1:pfs> bt
Tracing pid 58230 tid 100925 td 0xfffffe013781dc80
kdb_enter() at kdb_enter+0x32/frame 0xfffffe0137f7c8f0
vpanic() at vpanic+0x183/frame 0xfffffe0137f7c940
panic() at panic+0x43/frame 0xfffffe0137f7c9a0
trap_fatal() at trap_fatal+0x409/frame 0xfffffe0137f7ca00
trap_pfault() at trap_pfault+0x4f/frame 0xfffffe0137f7ca60
calltrap() at calltrap+0x8/frame 0xfffffe0137f7ca60
--- trap 0xc, rip = 0xffffffff80f051cb, rsp = 0xfffffe0137f7cb30, rbp = 0xfffffe0137f7cb60 ---
X_ip_mrouter_done() at X_ip_mrouter_done+0x32b/frame 0xfffffe0137f7cb60
rip_detach() at rip_detach+0x3f/frame 0xfffffe0137f7cb90
sorele_locked() at sorele_locked+0x89/frame 0xfffffe0137f7cbb0
soclose() at soclose+0x14a/frame 0xfffffe0137f7cc10
_fdrop() at _fdrop+0x11/frame 0xfffffe0137f7cc30
closef() at closef+0x24b/frame 0xfffffe0137f7ccc0
fdescfree() at fdescfree+0x516/frame 0xfffffe0137f7cd90
exit1() at exit1+0x4c6/frame 0xfffffe0137f7cdf0
sys_exit() at sys_exit+0xd/frame 0xfffffe0137f7ce00
amd64_syscall() at amd64_syscall+0x109/frame 0xfffffe0137f7cf30

See: https://forum.netgate.com/topic/183587/crash-when-rebooting-lan-side-switch

Actions

Also available in: Atom PDF