diff options
author | Tom Herbert <therbert@google.com> | 2014-05-05 16:43:58 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-05-05 23:17:16 -0400 |
commit | 79e0f1c9f2c7096e93879d4158f2d34142b693dd (patch) | |
tree | 358140d06ae5270a33258740aa0b77d21469ccdc /net/ipv6/udp.c | |
parent | 5a50a92784e4630f7b3e163ecd32ac3f783d9b4e (diff) | |
download | op-kernel-dev-79e0f1c9f2c7096e93879d4158f2d34142b693dd.zip op-kernel-dev-79e0f1c9f2c7096e93879d4158f2d34142b693dd.tar.gz |
ipv6: Need to sock_put on csum error
Commit 4068579e1e098fa81d48db9ba4432ab664c58561 ("net: Implmement
RFC 6936 (zero RX csums for UDP/IPv6)") introduced zero checksums
being allowed for IPv6, but in the case that a socket disallows a
zero checksum on RX we need to sock_put.
Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/udp.c')
-rw-r--r-- | net/ipv6/udp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 4fcd9bc..fc2be63 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -884,6 +884,7 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable, int ret; if (!uh->check && !sk->sk_no_check) { + sock_put(sk); udp6_csum_zero_error(skb); goto csum_error; } |