aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/ipvs/ip_vs_core.c4
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,