[OE-core] kernel miscompilation with gcc 4.8 for ARMv5

Holger Freyther holger at freyther.de
Fri Jul 19 05:39:33 UTC 2013


Enrico Scholz <enrico.scholz at ...> writes:

Good Morning,

> Applying two upstream kernel commits
> 455bd4c430b0c0a361f38e8658a0d6cb469942b5 (ARM: 7668/1: fix
> memset-related crashes caused by recent GCC (4.7.2) optimizations) and
> 418df63adac56841ef6b0f1fcf435bc64d4ed177 (ARM: 7670/1: fix the memset
> fix) seem to fix the problem for me.

I am in a similar situation with ARMv5. My 3.2.48 kernel randomly
crashed inside namei.c:do_lookup when de-referencing a bogus address
and after upgrading to 3.4.53 I do see crashes in the tcpv4 receive
path. Compiling my kernel with GCC 4.6.3 appears to produce a working
one. The output of the oops can be seen here[1], from what I see
I am entering this path[2] and besides the

 if (sk2) {
   sk = sk2;
   goto process;
 }

...
process:
	if (sk->sk_state == TCP_TIME_WAIT)
		goto do_time_wait;
...

will crash on the above line. Compiling tcp_ipv4.c with GCC4.6.3
and re-linking doesn't appear to fix the problem but maybe I made
another mistake.

Do you guys have an idea on how to proceed?



[1] http://paste.lisp.org/display/138095
[2] 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/ipv
4/tcp_ipv4.c?id=v3.4#n1833





More information about the Openembedded-core mailing list