On Mon, 2015-07-13 at 16:10 +0800, Herbert Xu wrote: > On Mon, Jul 13, 2015 at 10:05:42AM +0200, Eric Dumazet wrote: > > > > Herbert, UDP peek support is very buggy anyway, because of deferred > > checksums > > > > __skb_checksum_complete() will happily manipulate csum, ip_summed, > > csum_complete_sw & csum_valid > > > > Ideally, peek should never touch skb (but skb->users) > > I think UDP should be OK because the main creator of shared skbs > is af_packet and in that cast the IP stack will clone the skb upon > entry. AFAIK there aren't any entities doing the shared skb trick > within the IP stack. > > IOW the UDP stack does not have to worry about share skbs, unlike > netlink.
It should worry, in case multiple threads are using MSG_PEEK on same udp socket ;) Problem here is not the producer (might be unicast packets btw), but multiple 'consumers' It turns out your patch would also solve this problem. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html