AW: PROBLEM: Kernel Oops in UDP stack
From: Marcel Hellwig
Date: Wed Aug 01 2018 - 01:55:34 EST
On Tue, Jul 31, 2018 at 15:36:05PM +0000 Andrew Lunn wrote:
> Is this mainline 3.4.113, or LPC version?
Mainline, afaik there is no newer version of the lpc kernel and the lpc driver are upstream since 3.4 (hence the 3.4.113 kernel version we tried).
> How much work is involved in testing a newer kernel. You are not going to get too much help from the community with such an old kernel. If you can reproduce it with a modern day kernel, then people are more likely to help.
We haven't tried any newer version, because DTS is mandatory since 3.5 afaik? We hadn't the time to look into, although it looks pretty straight forward.
>> Kernel oops:
>> [ 1125.090000] Unable to handle kernel paging request at virtual
>> address c14fe63a [ 1125.100000] pgd = c14d8000 [ 1125.100000]
>> [c14fe63a] *pgd=8140041e(bad) [ 1125.100000] Internal error: Oops: 1
>> [#1] PREEMPT ARM [ 1125.100000] Modules linked in:
>> [ 1125.100000] CPU: 0 Not tainted (3.4.113.7 #1)
>> [ 1125.100000] PC is at udp_recvmsg+0x284/0x33c [ 1125.100000] LR is
>> at 0x0
> LR == 0 is suspicious. It should contain the return address, inet_recvmsg+0x38/0x4c. That is assuming the calling convention is the same for this old kernel as todays kernels on ARM.
I will do a little debugging why LR is 0 here. Maybe that's the clue.
> Could you produce net/ipv4/udp.lst for this exact kernel build?
Sure: https://gist.github.com/hellow554/6b11c6c0827d5db80a7e66f71f5636ff#file-net_uipv4_udp-lst
> Any idea how you could get file:line information ?
> ( like : udp_setsockopt+0x62/0xa0 net/ipv4/udp.c:2502 )
[<c0228adc>] (udp_recvmsg+0x284/0x33c) from [<c02306e0>] (inet_recvmsg+0x38/0x4c): net/ipv4/udp.c:1234
[<c02306e0>] (inet_recvmsg+0x38/0x4c) from [<c01d2c38>] (sock_recvmsg+0xa8/0xcc): include/linux/file.h:25
[<c01d2c38>] (sock_recvmsg+0xa8/0xcc) from [<c01d3fac>] (___sys_recvmsg.part.4+0xe0/0x1bc): net/socket.c:751
[<c01d3fac>] (___sys_recvmsg.part.4+0xe0/0x1bc) from [<c01d4fbc>] (__sys_recvmsg+0x50/0x80): net/socket.c:2193
[<c01d4fbc>] (__sys_recvmsg+0x50/0x80) from [<c000dfe0>] (ret_fast_syscall+0x0/0x2c): include/linux/file.h:25 (from arch/arm/kernel/entry-common.S:34)
https://elixir.bootlin.com/linux/v3.4.113/source :)
Many thanks for the answer, I hope I could answer your questions.
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