diff options
-rw-r--r-- | net/ipv4/ipvs/ip_vs_core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/ipvs/ip_vs_core.c b/net/ipv4/ipvs/ip_vs_core.c index 1f4f3b943595..f5180ac56be3 100644 --- a/net/ipv4/ipvs/ip_vs_core.c +++ b/net/ipv4/ipvs/ip_vs_core.c | |||
@@ -847,7 +847,7 @@ static int ip_vs_out_icmp_v6(struct sk_buff *skb, int *related) | |||
847 | if (!cp) | 847 | if (!cp) |
848 | return NF_ACCEPT; | 848 | return NF_ACCEPT; |
849 | 849 | ||
850 | snet.in6 = iph->saddr; | 850 | ipv6_addr_copy(&snet.in6, &iph->saddr); |
851 | return handle_response_icmp(AF_INET6, skb, &snet, cih->nexthdr, cp, | 851 | return handle_response_icmp(AF_INET6, skb, &snet, cih->nexthdr, cp, |
852 | pp, offset, sizeof(struct ipv6hdr)); | 852 | pp, offset, sizeof(struct ipv6hdr)); |
853 | } | 853 | } |
@@ -1227,7 +1227,7 @@ ip_vs_in_icmp_v6(struct sk_buff *skb, int *related, unsigned int hooknum) | |||
1227 | /* The packet could also belong to a local client */ | 1227 | /* The packet could also belong to a local client */ |
1228 | cp = pp->conn_out_get(AF_INET6, skb, pp, &ciph, offset, 1); | 1228 | cp = pp->conn_out_get(AF_INET6, skb, pp, &ciph, offset, 1); |
1229 | if (cp) { | 1229 | if (cp) { |
1230 | snet.in6 = iph->saddr; | 1230 | ipv6_addr_copy(&snet.in6, &iph->saddr); |
1231 | return handle_response_icmp(AF_INET6, skb, &snet, | 1231 | return handle_response_icmp(AF_INET6, skb, &snet, |
1232 | cih->nexthdr, | 1232 | cih->nexthdr, |
1233 | cp, pp, offset, | 1233 | cp, pp, offset, |