AW: AW: AW: PROBLEM: Kernel Oops in UDP stack
From: Marcel Hellwig
Date: Fri Aug 03 2018 - 04:24:24 EST
>
>Well, this driver does not use NET_IP_ALIGN reservation, meaning IP header is not 4-byte aligned.
>
>No idea why mis-alignments are okay in IP layer, but not in UDP
>
>You could try to patch it to use netdev_alloc_skb_ip_align() instead of dev_alloc_skb()
Looks very promising! CPU runs for 3 hours and no panic so far. Let's hope it survives the weekend! *fingers crossed*
The strange thing I don't understand is, why does the 3.5.7 kernel does not crash (or 4.17.12, yes I managed to run a recent kernel on our machine! \o/ )? It does not use netdev_alloc_skb_ip_align either[0][1], but one thing, that I noticed it, that there is a difference in /proc/iomem
3.4.113
# cat /proc/iomem
08000000-0801ffff : lpc-eth.0
31060000-31060fff : lpc-eth.0
40088000-4008801f : serial
[...]
3.5.7
# cat /proc/iomem
20084000-20084fff : /ahb/apb/ssp@20084000
2008c000-2008cfff : /ahb/apb/ssp@2008c000
31000000-31000fff : /ahb/dma@31000000
40088000-4008801f : serial
[...]
As you notice lpc-eth.0 (or 31060000.ethernet as it's called nowadays) is not listed, so my guess it is served by DMA?
May that the reason why it does not crash (Notice: 3.5.7 runs via device tree file)?
So just my thought: If I would disable dma (somehow) would the error still occur in today's kernel?
[0]: https://elixir.bootlin.com/linux/v3.5.7/source/drivers/net/ethernet/nxp/lpc_eth.c#L1003
[1]: https://elixir.bootlin.com/linux/v4.17.12/source/drivers/net/ethernet/nxp/lpc_eth.c#L957
Mit freundlichen GrÃÃen / With kind regards
Marcel Hellwig
B. Sc. Informatik
Entwickler
m-u-tÂGmbH
Am Marienhof 2
22880 Wedel
Germany
Phone: +49 4103 9308 - 474
Fax:ÂÂ +49 4103 9308 - 99
mhellwig@xxxxxxxxxxxxx
www.mut-group.com
GeschÃftsfÃhrerÂ(Managing Director): Fabian Peters
Amtsgericht Pinneberg (Commercial Register No.): HRBÂ10304 PI
USt-IdNr. (VAT-No.): DE228275390
WEEE-Reg-Nr.: DE 72271808