panic creating bridge0 on RPI4/arm64 on 13.2-p2

When trying to ifconfig bridge0 create on a RPI4(8GB), running 13.2-p2 (and earlier) I get a panic. Any suggestions on how I can get it to behave?

From core.txt
Code:
13.2-RELEASE-p2 FreeBSD 13.2-RELEASE-p2 GENERIC  arm64
panic: vm_fault failed: ffff0000ffea7e64

Unread portion of the kernel message buffer:
Fatal data abort:
  x0: ffff0000bf987000
  x1: ffffa0004efd1000
  x2:              400
  x3: ffff00004021e740
  x4: ffff00000095b06c
  x5: ffffa000486b5da1
  x6: 6c61632065657246
  x7: 206d6f726620736c
  x8:         40ec2778
  x9: ffff0000ffebd998
 x10:                0
 x11:                0
 x12:         7fffe134
 x13:   6e69616d6f6420
 x14:                0
 x15:                0
 x16:         73333332
 x17:                1
 x18: ffff0000fec273c0
 x19: ffff0000ffebd880
 x20: ffff000000ea55e0
 x21: ffff000000be6000
 x22: ffff000000be6000
 x23: ffffa000008ca600
 x24: ffffa000008ca600
 x25: ffffa0004e906c80
 x26: ffff000000b4a8a8
 x27: ffff0000fec27758
 x28:                0
 x29: ffff0000fec273c0
  sp: ffff0000fec273c0
  lr: ffff0000ffea7e50
 elr: ffff0000ffea7e64
spsr:         60000045
 far: ffff000140d80110
 esr:         96000046
panic: vm_fault failed: ffff0000ffea7e64
cpuid = 2

time = 1690942879
KDB: stack backtrace:
#0 0xffff0000004fd02c at kdb_backtrace+0x60
#1 0xffff0000004a8328 at vpanic+0x13c
#2 0xffff0000004a81e8 at panic+0x44
#3 0xffff0000007f42e0 at data_abort+0x200
#4 0xffff0000007d3010 at handle_el1h_sync+0x10
#5 0xffff0000ffea7e4c at vnet_bridge_init+0x2c
#6 0xffff0000006182ec at vnet_register_sysinit+0x114
#7 0xffff00000046b5d8 at linker_load_module+0xab8
#8 0xffff00000046d864 at kern_kldload+0xfc
#9 0xffff00000046d958 at sys_kldload+0x60
#10 0xffff0000007f3828 at do_el0_sync+0x57c
#11 0xffff0000007d3104 at handle_el0_sync+0x40
Uptime: 35s
Dumping 321 out of 8031 MB:..2%..12%..22%

get_curthread () at /usr/src/sys/arm64/include/pcpu.h:77
77              __asm __volatile("ldr   %0, [x18]" : "=&r"(td));
(kgdb) #0  get_curthread () at /usr/src/sys/arm64/include/pcpu.h:77
#1  doadump (textdump=<optimized out>) at /usr/src/sys/kern/kern_shutdown.c:396
#2  0xffff0000004a7e40 in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:484
#3  0xffff0000004a83b4 in vpanic (fmt=<optimized out>, ap=...)
    at /usr/src/sys/kern/kern_shutdown.c:923
#4  0xffff0000004a81ec in panic (fmt=0x0)
    at /usr/src/sys/kern/kern_shutdown.c:847
#5  0xffff0000007f42e4 in data_abort (td=0xffffa0004efd1000,
    frame=0xffff0000fec27220, esr=2516582470, far=<optimized out>, lower=0)
    at /usr/src/sys/arm64/arm64/trap.c:363
#6  <signal handler called>
#7  0xffff0000ffea7e64 in vnet_bridge_init (unused=<optimized out>)
    at /usr/src/sys/net/if_bridge.c:583
#8  0xffff0000006182f0 in vnet_register_sysinit (
    arg=0xffff0000ffebd880 <vnet_bridge_init_vnet_init>)
    at /usr/src/sys/net/vnet.c:504
#9  0xffff00000046b5dc in linker_file_sysinit (lf=<optimized out>)
    at /usr/src/sys/kern/kern_linker.c:236
#10 linker_load_file (filename=<optimized out>, result=<optimized out>)
    at /usr/src/sys/kern/kern_linker.c:461
#11 linker_load_module (kldname=<optimized out>, kldname@entry=0x0,
    modname=modname@entry=0xffffa0004869a400 "if_bridge",
    parent=<optimized out>, verinfo=<optimized out>, lfpp=<optimized out>,
    lfpp@entry=0xffff0000fec27758) at /usr/src/sys/kern/kern_linker.c:2190
Uptime: 35s
Dumping 321 out of 8031 MB:..2%..12%..22%

get_curthread () at /usr/src/sys/arm64/include/pcpu.h:77
77              __asm __volatile("ldr   %0, [x18]" : "=&r"(td));
(kgdb) #0  get_curthread () at /usr/src/sys/arm64/include/pcpu.h:77
#1  doadump (textdump=<optimized out>) at /usr/src/sys/kern/kern_shutdown.c:396
#2  0xffff0000004a7e40 in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:484
#3  0xffff0000004a83b4 in vpanic (fmt=<optimized out>, ap=...)
    at /usr/src/sys/kern/kern_shutdown.c:923
#4  0xffff0000004a81ec in panic (fmt=0x0)
    at /usr/src/sys/kern/kern_shutdown.c:847
#5  0xffff0000007f42e4 in data_abort (td=0xffffa0004efd1000,
    frame=0xffff0000fec27220, esr=2516582470, far=<optimized out>, lower=0)
    at /usr/src/sys/arm64/arm64/trap.c:363
#6  <signal handler called>
#7  0xffff0000ffea7e64 in vnet_bridge_init (unused=<optimized out>)
    at /usr/src/sys/net/if_bridge.c:583
#8  0xffff0000006182f0 in vnet_register_sysinit (
    arg=0xffff0000ffebd880 <vnet_bridge_init_vnet_init>)
    at /usr/src/sys/net/vnet.c:504
#9  0xffff00000046b5dc in linker_file_sysinit (lf=<optimized out>)
    at /usr/src/sys/kern/kern_linker.c:236
#10 linker_load_file (filename=<optimized out>, result=<optimized out>)
    at /usr/src/sys/kern/kern_linker.c:461
#11 linker_load_module (kldname=<optimized out>, kldname@entry=0x0,
    modname=modname@entry=0xffffa0004869a400 "if_bridge",
    parent=<optimized out>, verinfo=<optimized out>, lfpp=<optimized out>,
    lfpp@entry=0xffff0000fec27758) at /usr/src/sys/kern/kern_linker.c:2190
#12 0xffff00000046d868 in kern_kldload (td=td@entry=0xffffa0004efd1000,
    file=<optimized out>, file@entry=0xffffa0004869a400 "if_bridge",
    fileid=fileid@entry=0xffff0000fec2779c)
    at /usr/src/sys/kern/kern_linker.c:1149
#13 0xffff00000046d95c in sys_kldload (td=0xffffa0004efd1000,
    uap=<optimized out>) at /usr/src/sys/kern/kern_linker.c:1172
#14 0xffff0000007f382c in syscallenter (td=0xffffa0004efd1000)
    at /usr/src/sys/arm64/arm64/../../kern/subr_syscall.c:190
#15 svc_handler (td=0xffffa0004efd1000, frame=<optimized out>)
    at /usr/src/sys/arm64/arm64/trap.c:198
#16 do_el0_sync (td=0xffffa0004efd1000, frame=<optimized out>,
    far=<optimized out>) at /usr/src/sys/arm64/arm64/trap.c:583
#17 <signal handler called>
#18 0x00006b9f5acc1acc in ?? ()
#19 0x00006b9ed5e4b1a0 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(kgdb)
 
Last edited by a moderator:
Looks like there may be a mismatch between your kernel and if_bridge module.
Do you have a custom kernel build / config?
 
Looks like there may be a mismatch between your kernel and if_bridge module.
Do you have a custom kernel build / config?
Thanks! I had installed 13.2-p2 using freebsd-update over the top of a custom kernel build. I noticed it had replaced a lot of the kernel modules, so I thought/expected it had replaced everything. I rebuilt the kernel, installed, restarted and now it's able to create the bridge.
 
Back
Top