Panic when attempting to create tunnel when a tunnel with the named alias exists

From: Jamie Landeg-Jones <jamie_at_catflap.org>
Date: Mon, 25 May 2020 20:21:40 +0100
>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
Received on Mon May 25 2020 - 17:21:52 UTC

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