[Babel-users] [babel] Babel MAC auth fails due to packet reordering

Daniel Gröber dxld at darkboxed.org
Fri May 13 23:01:19 BST 2022


Hi Toke,

after running with your patch for a short while I'm actually starting to
see frequent crashes. Here's a backtrace for one:

Program received signal SIGSEGV, Segmentation fault.
__strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65
65	../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory.
(gdb) bt
#0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:65
#1  0x0000555555592773 in bvsnprintf (
    buf=0x7fffffffd770 "babel1: Authentication PC (\367\377\177", size=997, 
    fmt=0x555555638ab9 "s) %u already seen (window start %u, value %x)", 
    fmt at entry=0x555555638aa1 "%s: Authentication PC (%s) %u already seen (window start %u, value %x)", args=args at entry=0x7fffffffdbc0) at lib/printf.c:256
#2  0x00005555555931ed in buffer_vprint (buf=buf at entry=0x7fffffffdb80, 
    fmt=fmt at entry=0x555555638aa1 "%s: Authentication PC (%s) %u already seen (window start %u, value %x)", args=args at entry=0x7fffffffdbc0) at lib/printf.c:531
#3  0x00005555555f81d8 in vlog (class=7, 
    msg=msg at entry=0x555555638aa1 "%s: Authentication PC (%s) %u already seen (window start %u, value %x)", args=args at entry=0x7fffffffdbc0)
    at sysdep/unix/log.c:219
#4  0x00005555555f83c2 in log_rl (f=f at entry=0x55555567ed50, 
    msg=<optimized out>, 
    msg at entry=0x555555638aa0 "\a%s: Authentication PC (%s) %u already seen (window start %u, value %x)") at sysdep/unix/log.c:262
#5  0x00005555555b5df3 in babel_auth_check_pc (ifa=ifa at entry=0x5555556a17f0, 
    msg=msg at entry=0x7fffffffded8) at proto/babel/babel.c:1568
#6  0x00005555555b8738 in babel_auth_check (ifa=ifa at entry=0x5555556a17f0, 
    saddr=..., sport=<optimized out>, daddr=..., dport=6696, 
    pkt=0x5555556a1b80, 
    trailer=0x5555556a1b9a "\020 z\334\016\"\367\212\304u\320\317\333\022\357\363t\a\277\036\356\234\304\370\236\177\351\232mW\236a\235\255", trailer_len=34)
    at proto/babel/packets.c:1907
#7  0x00005555555b8b0a in babel_process_packet (ifa=0x5555556a17f0, 
    pkt=0x5555556a1b80, len=<optimized out>, saddr=..., sport=<optimized out>, 
    daddr=..., dport=6696) at proto/babel/packets.c:1492
#8  0x00005555555b8f6b in babel_rx_hook (sk=<optimized out>, 
    len=<optimized out>) at proto/babel/packets.c:1585
#9  0x00005555555f5483 in sk_read (s=0x5555556a1a30, revents=<optimized out>)
    at sysdep/unix/io.c:1914
#10 0x00005555555f6181 in io_loop () at sysdep/unix/io.c:2349
#11 0x00005555555660e6 in main (argc=<optimized out>, argv=<optimized out>)
    at sysdep/unix/main.c:940

I can re-test with -O0 tomorrow if that helps.

--Daniel



More information about the Babel-users mailing list