udp4: fix IP_CMSG_CHECKSUM for connected sockets
authorPaolo Abeni <pabeni@redhat.com>
Thu, 13 Sep 2018 14:27:20 +0000 (16:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 29 Sep 2018 10:06:00 +0000 (03:06 -0700)
commit0f6f77f3b8f46b40da840a409a76bdb5c271e0a5
tree6f46b6bda6f78fb5d256a2e992b1096632b09121
parent6f5ec16ee02b4f453796d40ec086e6523877c907
udp4: fix IP_CMSG_CHECKSUM for connected sockets

[ Upstream commit 2b5a921740a55c00223a797d075b9c77c42cb171 ]

commit 2abb7cdc0dc8 ("udp: Add support for doing checksum
unnecessary conversion") left out the early demux path for
connected sockets. As a result IP_CMSG_CHECKSUM gives wrong
values for such socket when GRO is not enabled/available.

This change addresses the issue by moving the csum conversion to a
common helper and using such helper in both the default and the
early demux rx path.

Fixes: 2abb7cdc0dc8 ("udp: Add support for doing checksum unnecessary conversion")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/udp.c