diff options
Diffstat (limited to 'net/core/netpoll.c')
-rw-r--r-- | net/core/netpoll.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index e2f79a14625c..a6f39b6aeec0 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c | |||
@@ -635,7 +635,7 @@ static void netpoll_neigh_reply(struct sk_buff *skb, struct netpoll_info *npinfo | |||
635 | 635 | ||
636 | spin_lock_irqsave(&npinfo->rx_lock, flags); | 636 | spin_lock_irqsave(&npinfo->rx_lock, flags); |
637 | list_for_each_entry_safe(np, tmp, &npinfo->rx_np, rx) { | 637 | list_for_each_entry_safe(np, tmp, &npinfo->rx_np, rx) { |
638 | if (memcmp(daddr, &np->local_ip, sizeof(*daddr))) | 638 | if (!ipv6_addr_equal(daddr, &np->local_ip.in6)) |
639 | continue; | 639 | continue; |
640 | 640 | ||
641 | hlen = LL_RESERVED_SPACE(np->dev); | 641 | hlen = LL_RESERVED_SPACE(np->dev); |
@@ -828,9 +828,9 @@ int __netpoll_rx(struct sk_buff *skb, struct netpoll_info *npinfo) | |||
828 | if (udp6_csum_init(skb, uh, IPPROTO_UDP)) | 828 | if (udp6_csum_init(skb, uh, IPPROTO_UDP)) |
829 | goto out; | 829 | goto out; |
830 | list_for_each_entry_safe(np, tmp, &npinfo->rx_np, rx) { | 830 | list_for_each_entry_safe(np, tmp, &npinfo->rx_np, rx) { |
831 | if (memcmp(&np->local_ip.in6, &ip6h->daddr, sizeof(struct in6_addr)) != 0) | 831 | if (!ipv6_addr_equal(&np->local_ip.in6, &ip6h->daddr)) |
832 | continue; | 832 | continue; |
833 | if (memcmp(&np->remote_ip.in6, &ip6h->saddr, sizeof(struct in6_addr)) != 0) | 833 | if (!ipv6_addr_equal(&np->remote_ip.in6, &ip6h->saddr)) |
834 | continue; | 834 | continue; |
835 | if (np->local_port && np->local_port != ntohs(uh->dest)) | 835 | if (np->local_port && np->local_port != ntohs(uh->dest)) |
836 | continue; | 836 | continue; |