Hi,
I'm running armv7 OpenBSD (current) on qemu (armv7) and when:
-netdev tap,id=net0 -device virtio-net-device,netdev=net0
device is used then OpenBSD panics with:

# sh /etc/netstart vio0                                                
Fatal kernel mode data abort: 'Alignment fault'
trapframe: 0xcdf67d58
DFSR=00000001, DFAR=c527b832, spsr=80000013
r0 =00000015, r1 =c5148000, r2 =c527b81a, r3 =00000060
r4 =c4fc1988, r5 =000000fe, r6 =00000000, r7 =cdf67eb0
r8 =c4fc1988, r9 =00000000, r10=c09a2748, r11=cdf67db8
r12=cdf67ea0, ssp=cdf67da8, slr=c06cf80c, pc =c06d01a4

Stopped at      ipv6_check+0x88 [/usr/src/sys/netinet6/ip6_input.c:290]:
ldr      r3, [r2, #0x018]

ddb> trace
ipv6_check+0x88 [/usr/src/sys/netinet6/ip6_input.c:290]
        rlv=0xc06cf80c rfp=0xcdf67ea0
ip6_input_if+0x6c [/usr/src/sys/netinet6/ip6_input.c:376]
        rlv=0xc06cf754 rfp=0xcdf67ec0
ipv6_input+0x3c [/usr/src/sys/netinet6/ip6_input.c:0]
        rlv=0xc0373a40 rfp=0xcdf67f30
ether_input+0x5a0 [/usr/src/sys/net/if_ethersubr.c:572]
        rlv=0xc062e198 rfp=0xcdf67f48
if_input_process+0x98 [/usr/src/sys/net/if.c:1001]
        rlv=0xc07b78cc rfp=0xcdf67f70
ifiq_process+0xc0 [/usr/src/sys/net/ifq.c:848]
        Rlv=0xc0627494 rfp=0xcdf67fa8
taskq_thread+0xa4 [/usr/src/sys/kern/kern_task.c:453]
        rlv=0xc06acbf0 rfp=0xc0e77ee0
Bad frame pointer: 0xc0e77ee0

$ arm-none-eabi-objdump -D -S ./bsd.gdb
[…]
            IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_dst)) {
c06d01a4:       e5923018        ldr     r3, [r2, #24]
[…]

I’s OK for other re0:
-netdev tap,id=net0 -device rtl8139,netdev=net0

I’m able to reproduce it even for miniroot.img (autoconfiguring vio0).
If anyone would like to look at it and would need some help setting up
qemu, feel free to contact me.

BR,
-- 
Krystian Lewandowski

Reply via email to