Panic when attempting to create tunnel when a tunnel with the named alias exists
Jamie Landeg-Jones
jamie at catflap.org
Mon May 25 19:21:52 UTC 2020
>From the "Why did you do that?" department:
I stumbled across a panic in 12.1-stable and 13-current. If you
attempt to create a tunnel, which would have the same name as
an already existing tunnel "alias" hardlink, you get a panic.
E.G:
# ifconfig tun create name tun1
# ifcondif tun create
FreeBSD 12.1-STABLE:
| Fatal trap 12: page fault while in kernel mode
| cpuid = 0; apic id = 00
| fault virtual address = 0x28
| fault code = supervisor read data, page not present
| instruction pointer = 0x20:0xffffffff80ccbd38
| stack pointer = 0x28:0xfffffe000056d4e0
| frame pointer = 0x28:0xfffffe000056d510
| 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 = 1434 (cat)
| trap number = 12
| panic: page fault
| cpuid = 0
| time = 1589762473
| KDB: stack backtrace:
| #0 0xffffffff80c1d2f7 at kdb_backtrace+0x67
| #1 0xffffffff80bd062d at vpanic+0x19d
| #2 0xffffffff80bd0483 at panic+0x43
| #3 0xffffffff810a7dcc at trap_fatal+0x39c
| #4 0xffffffff810a7e19 at trap_pfault+0x49
| #5 0xffffffff810a740f at trap+0x29f
| #6 0xffffffff81081bdc at calltrap+0x8
| #7 0xffffffff80cddcdc at tuncreate+0xec
| #8 0xffffffff80cdde32 at tunopen+0x22
| #9 0xffffffff80a85710 at devfs_open+0x120
| #10 0xffffffff81229976 at VOP_OPEN_APV+0x76
| #11 0xffffffff80cb1ba7 at vn_open_vnode+0x1b7
| #12 0xffffffff80cb17e6 at vn_open_cred+0x336
| #13 0xffffffff80ca9d33 at kern_openat+0x213
| #14 0xffffffff810a8984 at amd64_syscall+0x364
| #15 0xffffffff81082500 at fast_syscall_common+0x101
| Uptime: 12m13s
| Automatic reboot in 15 seconds - press a key on the console to abort
| --> Press a key on the console to reboot,
FreeBSD 13-CURRENT:
| panic: make_dev_sv: bad si_name (error=17, si_name=tun5)
| cpuid = 0
| time = 1589763850
| KDB: stack backtrace:
| db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe001adf4610
| vpanic() at vpanic+0x182/frame 0xfffffe001adf4660
| panic() at panic+0x43/frame 0xfffffe001adf46c0
| make_dev_sv() at make_dev_sv+0x373/frame 0xfffffe001adf4750
| make_dev_s() at make_dev_s+0x3b/frame 0xfffffe001adf47b0
| tun_create_device() at tun_create_device+0xde/frame 0xfffffe001adf4830
| tun_clone_create() at tun_clone_create+0x119/frame 0xfffffe001adf4880
| if_clone_createif() at if_clone_createif+0x4a/frame 0xfffffe001adf48d0
| ifioctl() at ifioctl+0x6e3/frame 0xfffffe001adf49a0
| kern_ioctl() at kern_ioctl+0x27b/frame 0xfffffe001adf4a00
| sys_ioctl() at sys_ioctl+0x127/frame 0xfffffe001adf4ad0
| amd64_syscall() at amd64_syscall+0x140/frame 0xfffffe001adf4bf0
| fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe001adf4bf0
| --- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x8004933fa, rsp = 0x7fffffffe288, rbp = 0x7fffffffe2d0 ---
| KDB: enter: panic
Cheers, Jamie
More information about the freebsd-current
mailing list