diff options
Diffstat (limited to 'net')
| -rw-r--r-- | net/ipv4/arp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 1169ed41d587..9547a273b9e9 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c | |||
| @@ -321,7 +321,7 @@ static void arp_error_report(struct neighbour *neigh, struct sk_buff *skb) | |||
| 321 | static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb) | 321 | static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb) |
| 322 | { | 322 | { |
| 323 | __be32 saddr = 0; | 323 | __be32 saddr = 0; |
| 324 | u8 dst_ha[MAX_ADDR_LEN]; | 324 | u8 dst_ha[MAX_ADDR_LEN], *dst_hw = NULL; |
| 325 | struct net_device *dev = neigh->dev; | 325 | struct net_device *dev = neigh->dev; |
| 326 | __be32 target = *(__be32 *)neigh->primary_key; | 326 | __be32 target = *(__be32 *)neigh->primary_key; |
| 327 | int probes = atomic_read(&neigh->probes); | 327 | int probes = atomic_read(&neigh->probes); |
| @@ -364,8 +364,8 @@ static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb) | |||
| 364 | if (!(neigh->nud_state & NUD_VALID)) | 364 | if (!(neigh->nud_state & NUD_VALID)) |
| 365 | pr_debug("trying to ucast probe in NUD_INVALID\n"); | 365 | pr_debug("trying to ucast probe in NUD_INVALID\n"); |
| 366 | neigh_ha_snapshot(dst_ha, neigh, dev); | 366 | neigh_ha_snapshot(dst_ha, neigh, dev); |
| 367 | dst_hw = dst_ha; | ||
| 367 | } else { | 368 | } else { |
| 368 | memset(dst_ha, 0, dev->addr_len); | ||
| 369 | probes -= neigh->parms->app_probes; | 369 | probes -= neigh->parms->app_probes; |
| 370 | if (probes < 0) { | 370 | if (probes < 0) { |
| 371 | #ifdef CONFIG_ARPD | 371 | #ifdef CONFIG_ARPD |
| @@ -376,7 +376,7 @@ static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb) | |||
| 376 | } | 376 | } |
| 377 | 377 | ||
| 378 | arp_send(ARPOP_REQUEST, ETH_P_ARP, target, dev, saddr, | 378 | arp_send(ARPOP_REQUEST, ETH_P_ARP, target, dev, saddr, |
| 379 | dst_ha, dev->dev_addr, NULL); | 379 | dst_hw, dev->dev_addr, NULL); |
| 380 | } | 380 | } |
| 381 | 381 | ||
| 382 | static int arp_ignore(struct in_device *in_dev, __be32 sip, __be32 tip) | 382 | static int arp_ignore(struct in_device *in_dev, __be32 sip, __be32 tip) |
