New user's registration have been closed due to high spamming and low trafic on this forum. Please contact forum admins directly if you need an account. Thanks !

failed to linearize skb with tiny unaligned fragment

Got problems with your B2 or B3? Share and get helped!
Post Reply
stasheck
Posts: 126
Joined: 15 Jan 2014, 13:13

failed to linearize skb with tiny unaligned fragment

Post by stasheck »

After last kernel update (Arch Linux), when I try to watch films from B3 (via NFS), the film will get stuck a few times, and then will cause B3 to die - only hard reboot helps.

In the log, I get a ton of those: (few hundred per second):
[root@archb3 ~]# journalctl -r | grep skb | head -n1
Jun 24 18:02:28 archb3 kernel: mv643xx_eth_port mv643xx_eth_port.1 eth1: failed to linearize skb with tiny unaligned fragment
Current kernel:
[root@archb3 ~]# uname -a
Linux archb3 4.6.2-1-ARCH #1 PREEMPT Mon Jun 13 02:11:34 MDT 2016 armv5tel GNU/Linux
Did quick research and:
- seems to be a rare problem
- caused by a kernel driver
- I have no idea how to fix it
- I have very slight idea on how to roll back Arch kernel and not totally mess my system up

Any ideas?

PS. After reboot system seems to work fine - no errors - for some time. E.g. After I rebooted yesterday, I was aboe to watch 1 hr film without any issues; tried to watch today and it died after some 5 minutes or so.
sakaki
Posts: 172
Joined: 15 Aug 2014, 11:20

Re: failed to linearize skb with tiny unaligned fragment

Post by sakaki »

Hi stasheck,

haven't looked into this bug specifically, but if, as you say, it is kernel version specific, then you can easily roll back the kernel (inc. module set and headers) on your system and then 'pin' this in place (so it is not subsequently replaced by pacman -Syu). You can use the Arch Linux ARM rollback machine to get previous package versions (and browse its package archive, to see what versions are available, here).

For example, suppose your "last known good" version of the kernel was 4.5.5-1. Then, to get the rollback package for this kernel (and install it), issue:

Code: Select all

[root@archb3 ~]# curl -O http://tardis.tiny-vps.com/aarm/packages/l/linux-kirkwood-dt/linux-kirkwood-dt-4.5.5-1-arm.pkg.tar.xz
[root@archb3 ~]# curl -O http://tardis.tiny-vps.com/aarm/packages/l/linux-api-headers/linux-api-headers-4.5.5-1-arm.pkg.tar.xz
[root@archb3 ~]# pacman -U linux-kirkwood-dt-4.5.5-1-arm.pkg.tar.xz linux-api-headers-4.5.5-1-arm.pkg.tar.xz
  (confirm when prompted)
Then, to 'pin' it:

Code: Select all

[root@archb3 ~]# nano -w /etc/pacman.conf
and uncomment the IgnorePkg line, and modify it so it reads:

Code: Select all

IgnorePkg = linux-kirkwood-dt linux-api-headers
Save, and exit nano. Reboot, and you should be done.

If your issue is subsequently fixed in a newer kernel, you can 'unpin' by simply commenting out the IgnorePkg stanza (in pacman.conf), and then running pacman -Syu (to pick up the latest version again).

Hope that helps,

sakaki
Edited to clarify use of pacman -Syu, rather than just pacman -u.
Last edited by sakaki on 27 Jun 2016, 07:42, edited 1 time in total.
stasheck
Posts: 126
Joined: 15 Jan 2014, 13:13

Re: failed to linearize skb with tiny unaligned fragment

Post by stasheck »

Wish someone would describe it on Arch wiki in such a clear and concise way as you just did :-) Thanks a ton, Sakaki!
stasheck
Posts: 126
Joined: 15 Jan 2014, 13:13

Re: failed to linearize skb with tiny unaligned fragment

Post by stasheck »

I opened a topic on Arch ARM forum, here's the link for reference: https://archlinuxarm.org/forum/viewtopi ... 459#p52459
Post Reply