Thread (1 message) 1 message, 1 author, 2015-09-20

Re: [PATCH v2] [net] af_unix: return data from multiple SKBs on recv() with MSG_PEEK flag

From: Aaron Conole <hidden>
Date: 2015-09-20 19:38:40

Resending, I accidentally dropped the list.
Eric Dumazet [off-list ref] writes:
quoted
On Sun, 2015-09-20 at 15:07 -0400, Aaron Conole wrote:
quoted
Eric Dumazet [off-list ref] writes:
quoted
On Sun, 2015-09-20 at 05:18 -0400, Aaron Conole wrote:
quoted
From: Aaron Conole <redacted>
I am wondering what this is expected to do, and how this code would
possibly not trigger a crash.
Are you suspecting it should crash from a possible double-lock case?
On line 2125, there is an unconditional unlock, which should be 
guaranteeing that there is no longer a condition to 'double lock' the
socket.
Not at all.

I am suggesting there is a big difference between

unix_state_lock(&sk);

and

unix_state_lock(sk);

Can you see it ?
Wow!

That's an excellent catch, thank you! I did test the originally
submitted patch, and got no oops, bug, panic, etc (I usually have
panic_on_oops set to 1 when first testing new code).

I guess I got very lucky, somehow. I'll change this, and make sure
to retest.

I will also try to enhance the python case attached to the bug to
include a filepointer as well, and will repost a v3 when I have done
this.

Thanks,
-Aaron
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help