Re: [PATCH] net: sk == 0xffffffff fix - not for commit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

You should not have more than 150 instructions to decode, including
__inet_lookup_established()

Since __inet_lookup_established() dereferences the socket pointer, I do
not see why it would crash ~20 instructions _later_



--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux