On Sun, Oct 23, 2016 at 9:03 PM, Eric Dumazet <[email protected]> wrote: > From: Eric Dumazet <[email protected]> > > First bug was added in commit ad6f939ab193 ("ip: Add offset parameter to > ip_cmsg_recv") : Tom missed that ipv4 udp messages could be received on > AF_INET6 socket. ip_cmsg_recv(msg, skb) should have been replaced by > ip_cmsg_recv_offset(msg, skb, sizeof(struct udphdr)); > > Then commit e6afc8ace6dd ("udp: remove headers from UDP packets before > queueing") forgot to adjust the offsets now UDP headers are pulled > before skb are put in receive queue. > > Fixes: ad6f939ab193 ("ip: Add offset parameter to ip_cmsg_recv") > Fixes: e6afc8ace6dd ("udp: remove headers from UDP packets before queueing") > Signed-off-by: Eric Dumazet <[email protected]> > Cc: Sam Kumar <[email protected]> > Cc: Willem de Bruijn <[email protected]> > --- > Tom, I would appreciate your feedback on this patch, I presume > you have tests to verify IP_CHECKSUM feature ? Thanks ! >
Tested-by: Willem de Bruijn <[email protected]> Thanks for fixing, Eric. Tested with https://github.com/wdebruij/kerneltools/blob/master/tests/recv_cmsg_ipchecksum.c
