diff options
Diffstat (limited to 'net/ipv6/udp.c')
| -rw-r--r-- | net/ipv6/udp.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 8cde9efd7919..a0871c212741 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -40,6 +40,7 @@  #include <net/transp_v6.h>  #include <net/ip6_route.h>  #include <net/raw.h> +#include <net/seg6.h>  #include <net/tcp_states.h>  #include <net/ip6_checksum.h>  #include <net/ip6_tunnel.h> @@ -561,7 +562,7 @@ int __udp6_lib_err(struct sk_buff *skb, struct inet6_skb_parm *opt,  	struct ipv6_pinfo *np;  	const struct ipv6hdr *hdr = (const struct ipv6hdr *)skb->data;  	const struct in6_addr *saddr = &hdr->saddr; -	const struct in6_addr *daddr = &hdr->daddr; +	const struct in6_addr *daddr = seg6_get_daddr(skb, opt) ? : &hdr->daddr;  	struct udphdr *uh = (struct udphdr *)(skb->data+offset);  	bool tunnel = false;  	struct sock *sk;  |