W dniu 10.12.2013 15:25, Eric Dumazet pisze: > On Tue, 2013-12-10 at 07:55 +0100, Andrzej Pietrasiewicz wrote: >> W dniu 09.12.2013 16:31, Eric Dumazet pisze: >>> On Mon, 2013-12-09 at 12:47 +0100, Andrzej Pietrasiewicz wrote: >>>> NOT FOR COMMITTING TO MAINLINE. >>>> >>>> With g_ether loaded the sk occasionally becomes 0xffffffff. >>>> It happens usually after transferring few hundreds of kilobytes to few >>>> tens of megabytes. If sk is 0xffffffff then dereferencing it causes >>>> kernel panic. >>>> >>>> This is a *workaround*. I don't know enough net code to understand the core >>>> of the problem. However, with this patch applied the problems are gone, >>>> or at least pushed farther away. >>> >>> Is it happening on SMP or UP ? >> >> UP build, S5PC110 > > OK > > I believe you need additional debugging to track the exact moment > 0xffffffff is fed to 'sk' > > It looks like a very strange bug, involving a problem in some assembly > helper, register save/restore, compiler bug or stack corruption or > something. > I started with adding WARN_ON(sk == 0xffffffff); just before return in __inet_lookup_established(), and the problem was gone. So this looks very strange, like a toolchain problem. I used gcc-linaro-arm-linux-gnueabihf-4.8-2013.05. If I change the toolchain to gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415 the problem seems to have gone away. I attach the kernel config I used. AP