UDP receive path: is this safe?
From: devnetfs <hidden>
Date: 2003-08-24 06:46:12
Hello, I've created an in-kernel udp socket and set sock->data_ready to my function foo(). inside foo() i do a skb_recv_datagram() to get (in noblock mode) the skb's received on the socket. is this safe/correct to do? as sock->data_ready() path for udp is: udp_rcv() -> udp_queue_rcv_skb() -> sock_queue_rcv_skb() -> data_ready() and skb_recv_datagram() calls skb_dequeue()... any possible races? as i think there can be multiples callers inside foo() at the same time (correct?). but then skb_dequeue() should be safe. but i am unsure of call-path from udp_rcv() to data_ready()? please enlighten. i want to avoid the overhead of converting an skb to iovec (by calling udp_recvmsg) and hence pursuing this path. thanks in advance, A. __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com