On Mon, Jul 06, 2015 at 10:48:28AM -0400, [email protected] wrote:
> >Synopsis: panic on octeon when receiving l2tp connection
> >Category: kernel
> >Environment:
> System : OpenBSD 5.8
> Details : OpenBSD 5.8-beta (GENERIC) #1: Sun Jun 28 20:14:14 CEST
> 2015
>
> [email protected]:/usr/src/sys/arch/octeon/compile/GENERIC
>
> Architecture: OpenBSD.octeon
> Machine : octeon
> >Description:
>
> I set up a l2tp/ipsec server on my edgerouter lite (July 1st 2015 snapshot).
> I can connect from Android 5.1.1 but when I connect from Windows 7 I get a
> kernel panic.
>
> It seems I can reproduce at will.
Is this with or without pipex (sysctl net.pipex.enable)?
I have seen unaligned memory access problems on sparc64 with pipex
enabled. The cause seems to be header compression of some mDNS packet.
> Mon Jul 6 10:26:46 EDT 2015
>
> OpenBSD/octeon (routeur.my.domain) (console)
>
> login:
> Trap cause = 4 Frame 0x980000041ffcf780
> Trap PC 0xffffffff811794b8 RA 0xffffffff81179490 fault 0x9800000008d6a64b
> 0xffffffff811793f0 (0,0,9800000008d6a600,4c) ra 0xffffffff81179490 sp
> 0x980000041ffcf8d8, sz 0
> 0xffffffff811793f0 (0,0,9800000008d6a600,4c) ra 0x0 sp 0x980000041ffcf8d8,
> sz 0
> User-level: pid 16889
> stopped on non ddb fault
> Stopped at 0xffffffff811794b8: bnezl s5,0xffffffff81179420
> 0xffffffff811794bc: lhu v0,2(s5)
> ddb> show panic
> the kernel did not panic
> ddb> c
> panic: trap
> Stopped at 0xffffffff812722e4: jr ra
> 0xffffffff812722e8: nop
> RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
> DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
> ddb> show panic
> trap
> ddb> trace
> 0xffffffff812722e0 (3f59ae901229d78d,9001070000000200,200,100000c00000001)
> ra 0
> xffffffff810b2d80 sp 0x980000041ffcf608, sz 0
> 0xffffffff810b2c34 (3f59ae901229d78d,9001070000000200,200,100000c00000001)
> ra 0
> x0 sp 0x980000041ffcf608, sz 0
> User-level: pid 16889
> ddb> ps
> PID PPID PGRP UID S FLAGS WAIT COMMAND
> 23365 1 23365 0 3 0x83 ttyin getty
> 9907 1 9907 0 3 0x80 poll cron
> 23446 15815 15815 95 3 0x90 kqread smtpd
> 2608 15815 15815 95 3 0x90 kqread smtpd
> 22764 15815 15815 95 3 0x90 kqread smtpd
> 9925 15815 15815 95 3 0x90 kqread smtpd
> 16573 15815 15815 95 3 0x90 kqread smtpd
> 8887 15815 15815 103 3 0x90 kqread smtpd
> 15815 1 15815 0 3 0x80 kqread smtpd
> 4996 21194 21194 77 3 0x90 poll dhcpd
> 21194 1 21194 77 3 0x90 poll dhcpd
> 6671 1 6671 0 3 0x80 select sshd
> 13072 10658 13072 0 3 0x80 netio npppd
> 10658 1 10658 82 3 0x90 kqread npppd
> 22730 16180 16180 68 3 0x90 select isakmpd
> 16180 1 16180 0 3 0x80 netio isakmpd
> 611 22801 20278 83 3 0x90 poll ntpd
> 22801 20278 20278 83 3 0x90 poll ntpd
> 20278 1 20278 0 3 0x80 poll ntpd
> 23196 1 23196 53 3 0x90 kqread unbound
> 11852 28842 28842 74 3 0x90 bpf pflogd
> 28842 1 28842 0 3 0x80 netio pflogd
> 1435 22924 22924 73 2 0x90 syslogd
> 22924 1 22924 0 3 0x80 netio syslogd
> 25754 1 25754 77 3 0x90 poll dhclient
> 22230 1 22230 0 3 0x80 poll dhclient
> 22249 0 0 0 3 0x14200 pgzero zerothread
> 29325 0 0 0 3 0x14200 aiodoned aiodoned
> 15154 0 0 0 3 0x14200 syncer update
> 24050 0 0 0 3 0x14200 cleaner cleaner
> 19213 0 0 0 3 0x14200 reaper reaper
> 9934 0 0 0 3 0x14200 pgdaemon pagedaemon
> *16889 0 0 0 7 0x14200 crypto
> 31830 0 0 0 3 0x14200 pftm pfpurge
> 15242 0 0 0 3 0x14200 usbtsk usbtask
> 15209 0 0 0 3 0x14200 usbatsk usbatsk
> 12639 0 0 0 3 0x14200 bored dwc2
> 18369 0 0 0 3 0x14200 bored softnet
> 12695 0 0 0 3 0x14200 bored systqmp
> 5766 0 0 0 3 0x14200 bored systq
> 13631 0 0 0 3 0x40014200 idle0
> 1 0 1 0 3 0x82 wait init
> 0 -1 0 0 3 0x10200 scheduler swapper
> ddb> show registers
> at 0xffffffff81360000
> v0 0x1
> v1 0x1
> a0 0x3f59ae901229d78d
> a1 0x9001070000000200
> a2 0x200
> a3 0x100000c00000001
> a4 0x3fd8
> a5 0xffffffff8137e6b0
> a6 0
> a7 0xc1331986b8c60620
> t0 0xffffffff813eed60
> t1 0
> t2 0
> t3 0xffffffff8b5a9aba
> s0 0x980000041ffcf640
> s1 0xffffffff812fe340
> s2 0x100
> s3 0xffffffff813ee010
> s4 0x14
> s5 0x980000000fee9758
> s6 0x4
> s7 0x9
> t8 0xffffffffa99db6d1
> t9 0xffffffff812c9518
> k0 0x980000000fee9758
> k1 0x4
> gp 0xffffffff8135f950
> sp 0x980000041ffcf608
> s8 0
> ra 0xffffffff810b2d80
> sr 0x500087e2
> lo 0x1f4
> hi 0
> bad 0x9800000008d6a64b
> cs 0x40008424
> pc 0xffffffff812722e4
> 0xffffffff812722e4: jr ra
> 0xffffffff812722e8: nop
>
> >How-To-Repeat:
>
> ipsec.conf:
> ext_if=cnmac0
> key="<mypsk>"
>
> ike passive esp transport \
> proto udp from $ext_if to any port 1701 \
> main auth "hmac-sha1" enc "3des" group modp1024 \
> quick auth "hmac-sha1" enc "aes" \
> psk $key
>
> pf.conf:
> pass in on egress proto {ah,esp}
> pass in quick on egress proto udp from any to (egress) port {500, 4500, 1701}
> pass on enc0 from any to any keep state (if-bound)
> pass on pppx0 from any to any keep state (if-bound)
>
> I connect from Windows 7 with the standard config except I choose l2tp and I
> set the psk.
>
>
> dmesg:
> OpenBSD 5.8-beta (GENERIC) #1: Sun Jun 28 20:14:14 CEST 2015
> [email protected]:/usr/src/sys/arch/octeon/compile/GENERIC
> real mem = 515932160 (492MB)
> avail mem = 511524864 (487MB)
> warning: no entropy supplied by boot loader
> mainbus0 at root
> cpu0 at mainbus0: Cavium OCTEON CPU rev 0.1 500 MHz, Software FP emulation
> cpu0: cache L1-I 32KB 4 way D 8KB 64 way, L2 128KB 8 way
> clock0 at mainbus0: int 5
> iobus0 at mainbus0
> octcf at iobus0 base 0x1d000800 irq 0 not configured
> pcibus at iobus0 irq 0 not configured
> cn30xxgmx0 at iobus0 base 0x1180008000000 irq 48
> cnmac0 at cn30xxgmx0: RGMII, address 04:18:d6:a1:6d:fe
> atphy0 at cnmac0 phy 7: F1 10/100/1000 PHY, rev. 2
> cnmac1 at cn30xxgmx0: RGMII, address 04:18:d6:a1:6d:ff
> atphy1 at cnmac1 phy 6: F1 10/100/1000 PHY, rev. 2
> cnmac2 at cn30xxgmx0: RGMII, address 04:18:d6:a1:6e:00
> atphy2 at cnmac2 phy 5: F1 10/100/1000 PHY, rev. 2
> octrng0 at iobus0 base 0x1400000000000 irq 0
> octhci at iobus0 irq 56 not configured
> dwctwo0 at iobus0 base 0x1180068000000 irq 56usb0 at dwctwo0: USB revision 2.0
> uhub0 at usb0 " DWC2 root hub" rev 2.00/1.00 addr 1
>
> uartbus0 at mainbus0
> com0 at uartbus0 base 0x1180000000800 irq 34: ns16550, no working fifo
> com0: console
> com1 at uartbus0 base 0x1180000000c00 irq 35: ns16550, no working fifo
> /dev/ksyms: Symbol table not valid.
> umass0 at uhub0 port 1 configuration 1 interface 0 " USB DISK 2.0" rev
> 2.00/1.00 addr 2
> umass0: using SCSI over Bulk-Only
> scsibus0 at umass0: 2 targets, initiator 0
> sd0 at scsibus0 targ 1 lun 0: <, USB DISK 2.0, PMAP> SCSI4 0/direct removable
> serial.13fe41004983C3C44F82
> sd0: 3824MB, 512 bytes/sector, 7831552 sectors
> vscsi0 at root
> scsibus1 at vscsi0: 256 targets
> softraid0 at root
> scsibus2 at softraid0: 256 targets
> boot device: sd0
> root on sd0a (d2254a60106318f1.a) swap on sd0b dump on sd0b
> WARNING: / was not properly unmounted
> WARNING: No TOD clock, believing file system.
> WARNING: CHECK AND RESET THE DATE!
> cnmac0: a reception error occured, the packet was dropped (error code = 13)
>
> usbdevs:
> Controller /dev/usb0:
> addr 1: high speed, self powered, config 1, DWC2 root hub(0x0000), (0x0000),
> rev 1.00
> port 1 addr 2: high speed, power 200 mA, config 1, USB DISK 2.0(0x4100),
> (0x13fe), rev 1.00, iSerialNumber 07084983C3C44F82
>
--
:wq Claudio