Thread (25 messages) 25 messages, 7 authors, 2009-06-29

Re: [PATCH] net: fix race in the receive/select

From: Jarek Poplawski <hidden>
Date: 2009-06-28 21:49:24
Also in: lkml

On Sun, Jun 28, 2009 at 08:04:12PM +0200, Oleg Nesterov wrote:
On 06/28, Jarek Poplawski wrote:
...
quoted
Hmm... of course:

static inline void sock_poll_wait(struct file * filp, struct sock *sk, poll_table *p)
{
 	if (p && sk->sk_sleep) {
 		__poll_wait(filp, sk->sk_sleep, p);
 		/*
 		 * fat comment
 		 */
 		smp_mb(); // or smp_mb__after_unlock();
 	}
}
Perhaps it makes sense to check ->sk_sleep != NULL in sock_poll_wait(), but
I don't think we need __poll_wait(). poll_wait() is inline, I think gcc
will optimize out "if (p && wait_address)" check if poll_wait() is called
from sock_poll_wait().
Sure, to me it looks a bit more readable, but let Jiri choose.;-)

Cheers,
Jarek P. 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help