[OpenWrt-Devel] AA on brcm47xx: Unhandled kernel unaligned access

Nikolai Zhubr n-a-zhubr at yandex.ru
Tue Jul 15 15:26:33 EDT 2014


15.07.2014 12:04, Nikolai Zhubr:
> 15.07.2014 1:42, Jonas Gorski:
> [...]
>>> or
>>> bw32(bp, B44_RXMAXLEN, bp->dev->mtu + ETH_HLEN + 8) ?
>>
>> This is the right one; mtu (the "payload") + ETH_HLEN (14 bytes) + 8
>> (4 bytes for vlan tag, probably 4 extra bytes for custom header
>> optionally used by broadcom switches)
>
> Ok, tested this. Unfortunately it's still panicing under load (and
> seemingly this change made no difference whatsoever):

And I've performed yet another experiment. If I insert an additional 
router (running also openwrt but atheros-based) between this WL-500W and 
uplink (with the idea to filter out any strange and bogus incoming 
packets) and redo the same test, I get no panic but instead a silent 
spontaneous reboot in a few minutes after reaching 30mbit traffic. I'll 
retest this more carefully later, and meanwhile I think:

1. Apparently some (bogus?) packets ocasionally coming from uplink still 
confuse b44 driver and cause panics regardless of my B44_RXMAXLEN 
correction.

2. Silent reboot might probably indicate hardware problem like 
overheating. Although I have its case open and I touched its chips, 
well, they were acceptably warm I think. Another point is that CPU 
performance limits routing capability of this device (when using openwrt 
at least) somewhere around 33mbit, so getting close to continuous 100% 
CPU usage might probably lead to watchdog trigger? (Just a random 
speculation)


Thank you.
Nikolai

>
>
> [ 271.210000] ------------[ cut here ]------------
> [ 271.220000] WARNING: at net/core/dev.c:2194
> skb_warn_bad_offload+0xc0/0xe8()
> [ 271.220000] b44: caps=(0x0000000000004000, 0x0000000000000000) len=377
> data_len=0 gso_size=57048 gso_type=32506 ip_summed=0
> [ 271.240000] Modules linked in: pppoe ppp_async iptable_nat b43legacy
> b43 pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv4 mac80211
> ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat xt_multiport
> xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT
> xt_LOG xt_CT slhc nf_nat_irc nf_nat_ftp nf_nat nf_defrag_ipv4
> nf_conntrack_irc nf_conntrack_ftp iptable_raw iptable_mangle
> iptable_filter ipt_REJECT ip_tables crc_ccitt compat ip6t_REJECT
> ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables
> nf_conntrack_ipv6 nf_conntrack nf_defrag_ipv6 ipv6 arc4 crypto_blkcipher
> leds_gpio gpio_button_hotplug tg3 hwmon bgmac b44 ptp pps_core
> [ 271.300000] CPU: 0 PID: 3 Comm: ksoftirqd/0 Not tainted 3.10.44 #2
> [ 271.300000] Stack : 00000000 00000000 00000000 00000000 8030d552
> 00000036 818201d0 00000008
> 80272688 802bf23b 00000003 8030cd00 818201d0 00000008 802bb6e4 00000000
> 802bb6dc 8001c204 00000003 80019bc4 80299520 00000008 80273f28 8182bc5c
> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 8182bbe8
> ...
> [ 271.340000] Call Trace:
> [ 271.340000] [<80010ca0>] show_stack+0x48/0x70
> [ 271.350000] [<80019cc0>] warn_slowpath_common+0x78/0xa8
> [ 271.350000] [<80019d1c>] warn_slowpath_fmt+0x2c/0x38
> [ 271.360000] [<801b2d10>] skb_warn_bad_offload+0xc0/0xe8
> [ 271.360000] [<801b68c4>] __skb_gso_segment+0x50/0xec
> [ 271.370000] [<801de5bc>] ip_forward_finish+0x108/0x1bc
> [ 271.370000] [<801b3da0>] __netif_receive_skb_core+0x46c/0x52c
> [ 271.380000] [<81ad41d4>] 0x81ad41d4
> [ 271.380000]
> [ 271.380000] ---[ end trace b4f0aa7175b12bf7 ]---
> [ 271.390000] Unhandled kernel unaligned access[#1]:
> [ 271.390000] CPU: 0 PID: 3 Comm: ksoftirqd/0 Tainted: G W 3.10.44 #2
> [ 271.390000] task: 81820028 ti: 8182a000 task.ti: 8182a000
> [ 271.390000] $ 0 : 00000000 00000001 81696a48 00000028
> [ 271.390000] $ 4 : 2d37d9ee 00000000 00007088 00000000
> [ 271.390000] $ 8 : 0000002d 35373137 62323162 5d203766
> [ 271.390000] $12 : 00000000 03bf0000 00000000 bc000000
> [ 271.390000] $16 : 80e7fec0 00000001 00000001 00000014
> [ 271.390000] $20 : 00000000 00000008 802bb6e4 00000000
> [ 271.390000] $24 : 00000003 80150bcc
> [ 271.390000] $28 : 8182a000 8182bd28 802bb6dc 801ab22c
> [ 271.390000] Hi : 00000000
> [ 271.390000] Lo : 00000083
> [ 271.390000] epc : 80064440 put_page+0x0/0x4c
> [ 271.390000] Tainted: G W
> [ 271.390000] ra : 801ab22c skb_release_data+0xc4/0x118
> [ 271.390000] Status: 1000b803 KERNEL EXL IE
> [ 271.390000] Cause : 00800010
> [ 271.390000] BadVA : 2d37d9ee
> [ 271.390000] PrId : 00029006 (Broadcom BMIPS3300)
> [ 271.390000] Modules linked in: pppoe ppp_async iptable_nat b43legacy
> b43 pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv4 mac80211
> ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat xt_multiport
> xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT
> xt_LOG xt_CT slhc nf_nat_irc nf_nat_ftp nf_nat nf_defrag_ipv4
> nf_conntrack_irc nf_conntrack_ftp iptable_raw iptable_mangle
> iptable_filter ipt_REJECT ip_tables crc_ccitt compat ip6t_REJECT
> ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables
> nf_conntrack_ipv6 nf_conntrack nf_defrag_ipv6 ipv6 arc4 crypto_blkcipher
> leds_gpio gpio_button_hotplug tg3 hwmon bgmac b44 ptp pps_core
> [ 271.390000] Process ksoftirqd/0 (pid: 3, threadinfo=8182a000,
> task=81820028, tls=00000000)
> [ 271.390000] Stack : 80e7fec0 801ab294 80e7fec0 00007088 00000000
> 80e7fec0 ffffffea 801ab2d0
> 802bb6e4 80e7fec0 80e5da40 00000001 80e7fec0 801de5d4 00000850 80f72ac0
> 81b68000 801de4b4 00000001 801aa3e4 802bca98 802bca98 802bb6d0 81abc000
> 80e7fec0 801b3da0 00000042 81ad0964 81b7df20 801aa3e4 802bb6e4 8018e658
> 0000010a 000001f1 81abc3e8 81abc3c0 00000042 80e7fec0 00000017 00000187
> ...
> [ 271.390000] Call Trace:
> [ 271.390000] [<80064440>] put_page+0x0/0x4c
> [ 271.390000] [<801ab22c>] skb_release_data+0xc4/0x118
> [ 271.390000] [<801ab2d0>] __kfree_skb+0x14/0xd4
> [ 271.390000] [<801de5d4>] ip_forward_finish+0x120/0x1bc
> [ 271.390000] [<801b3da0>] __netif_receive_skb_core+0x46c/0x52c
> [ 271.390000] [<81ad41d4>] 0x81ad41d4
> [ 271.390000]
> [ 271.390000]
> Code: 3c058006 080190c9 24a538e4 <8c820000> 3042c000 10400003 00801821
> 08018fa0 00000000
> [ 271.630000] ---[ end trace b4f0aa7175b12bf8 ]---
> [ 271.640000] Kernel panic - not syncing: Fatal exception in interrupt
> [ 271.640000] Rebooting in 3 seconds..
>
>
>
>>
>>> or maybe even
>>> bw32(bp, B44_RXMAXLEN, bp->dev->mtu) ?
>>>
>>> Apology for my ignorance, just can't stand testing it immediately to
>>> hopefully get it right for BB.
>>>
>>>
>>> Thank you.
>>> Nikolai
>>
>> Thanks for testing!
>>
>>
>> Jonas
>>
>> .
>>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list