Messages in this thread | | | Date | Sun, 23 Dec 2012 16:10:44 +0200 (EET) | From | Julian Anastasov <> | Subject | Re: [3.8-rc1] Networking problems after pulling-in net.git#master |
| |
Hello,
On Sun, 23 Dec 2012, Cong Wang wrote:
> On Sun, Dec 23, 2012 at 9:19 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote: > > > > The culprit commit here seems to be... > > > > commit 9650388b5c56578fdccc79c57a8c82fb92b8e7f1 > > Author: Eric Dumazet <edumazet@google.com> > > Date: Fri Dec 21 07:32:10 2012 +0000 > > > > ipv4: arp: fix a lockdep splat in arp_solicit() > > Can you try the following one-line fix? > > Thanks. > > ------------> > > diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c > index 1169ed4..75e0d7c 100644 > --- a/net/ipv4/arp.c > +++ b/net/ipv4/arp.c > @@ -365,7 +365,7 @@ static void arp_solicit(struct neighbour *neigh, > struct sk_buff *skb) > pr_debug("trying to ucast probe in NUD_INVALID\n"); > neigh_ha_snapshot(dst_ha, neigh, dev); > } else { > - memset(dst_ha, 0, dev->addr_len); > + memcpy(dst_ha, dev->broadcast, MAX_ADDR_LEN);
Use dev->addr_len instead of MAX_ADDR_LEN or better provide NULL ptr to arp_send as before the "ipv4: arp: fix a lockdep splat in arp_solicit" change, for example by keeping dst_ha as pointer and using another name for the temp array that is now dst_ha[MAX_ADDR_LEN].
> probes -= neigh->parms->app_probes; > if (probes < 0) { > #ifdef CONFIG_ARPD
Regards
-- Julian Anastasov <ja@ssi.bg>
| |