On Mon, Nov 08, 2021 at 01:57:53PM +0100, Paul de Weerd wrote:
> Hi all,
> 
> After upgrading my laptop to a newer snapshot this weekend, I started
> getting panics.   I was running OpenBSD 7.0-current (GENERIC.MP) #60:
> Sun Oct 31 13:27:05 MDT 2021 before the upgrade.  Hand-typed from a
> picture I took:
> 
> panic: kernel diagnostic assertion "ieee80211_has_seq(hw)" failed: file 
> "/usr/src/sys/net80211/ieee80211_input.c", line 145
> Stopped at      db_enter+0x10:  popq    %rbp
>     TID    PID    UID     PRFLAGS     PFLAGS   CPU   COMMAND
>  503471  51765    107    0x100010  0x4000000     3   vmd
>  333711  51765    107    0x100010  0x4000000     1   vmd
>  148566  72734      0     0x14000      0x200     2   drmwq
> db_enter() at db_enter+0x10
> panic(ffffffff81e52e8a) at panic+0xbf
> __assert(ffffffff81ec2db8,ffffffff81ef7c3b,91,ffffffff81ecda4c) at 
> __assert+0x25
> ieee80211_get_hdrlen(fffffd805ce2967a) at ieee80211_get_hdrlen+0x8f
> iwx_ccmp_decap(...) at iwx_ccmp_decap+0x40
> iwx_rx_frame(...) at iwx_rx_frame+0xe1
> iwx_release_frames(...) at iwx_release_frames+0x17f
> iwx_rx_reorder(...) at iwx_rx_reorder+0x595
> iwx_rx_mpdu_mq(...) at iwx_rx_mpdu_mq+0x2e0
> iwx_rx_pkt(...) at iwx_rx_pkt+0x650
> iwx_notif_intr(...) at iwx_notif_intr+0x9c
> iwx_intr_msix(...) at iwx_intr_msix+0xb4
> intr_handler(...) at intr_handler+0x6e
> Xintr_ioapic_edge31_untramp() at Xintr_ioapic_edge31_untramp+0x18f
> end trace frame: 0xffff80001d98f4e0, count: 0
> 

Unfortunately, I cannot make any sense of this.

There were no new changes in iwx(4) since Oct 15. If the Oct 31 snap
was working fine then your problem is not related to driver-side changes.

Also in the regular code flow there is no way that non-QoS data frames
end up on the list processed in iwx_release_frames(). And QoS data frames
always have a sequence number so this assertion simply should not trigger.

I guess there could be some kind of memory corruption, where either an
mbuf or the mbuf list maintained by the driver is garbage?

Please try to bisect kernels from source and see whether you can find
a commit which started this. I don't have a better answer for now.

Reply via email to