diff options
Diffstat (limited to 'net/ipv6/udp.c')
| -rw-r--r-- | net/ipv6/udp.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index d25e5a9252fd..199b080d418a 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -749,6 +749,7 @@ static int udpv6_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)  	skb_list_walk_safe(segs, skb, next) {  		__skb_pull(skb, skb_transport_offset(skb)); +		udp_post_segment_fix_csum(skb);  		ret = udpv6_queue_rcv_one_skb(sk, skb);  		if (ret > 0)  			ip6_protocol_deliver_rcu(dev_net(skb->dev), skb, ret, @@ -1713,6 +1714,9 @@ struct proto udpv6_prot = {  	.unhash			= udp_lib_unhash,  	.rehash			= udp_v6_rehash,  	.get_port		= udp_v6_get_port, +#ifdef CONFIG_BPF_SYSCALL +	.psock_update_sk_prot	= udp_bpf_update_proto, +#endif  	.memory_allocated	= &udp_memory_allocated,  	.sysctl_mem		= sysctl_udp_mem,  	.sysctl_wmem_offset     = offsetof(struct net, ipv4.sysctl_udp_wmem_min),  |