From: David Miller on
From: Eric Dumazet <eric.dumazet(a)gmail.com>
Date: Thu, 27 May 2010 22:18:24 +0200

> [PATCH] net: fix __neigh_event_send()
>
> commit 7fee226ad23 (net: add a noref bit on skb dst) missed one spot
> where an skb is enqueued, with a possibly not refcounted dst entry.
>
> __neigh_event_send() inserts skb into arp_queue, so we must make sure
> dst entry is refcounted, or dst entry can be freed by garbage collector
> after caller exits from rcu protected section.
>
> Reported-by: Ingo Molnar <mingo(a)elte.hu>
> Signed-off-by: Eric Dumazet <eric.dumazet(a)gmail.com>

Applied, thanks Eric.

Ingo can we get a confirmation that this fixes the bootup crash?

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Ingo Molnar on

* David Miller <davem(a)davemloft.net> wrote:

> From: Eric Dumazet <eric.dumazet(a)gmail.com>
> Date: Thu, 27 May 2010 22:18:24 +0200
>
> > [PATCH] net: fix __neigh_event_send()
> >
> > commit 7fee226ad23 (net: add a noref bit on skb dst) missed one spot
> > where an skb is enqueued, with a possibly not refcounted dst entry.
> >
> > __neigh_event_send() inserts skb into arp_queue, so we must make sure
> > dst entry is refcounted, or dst entry can be freed by garbage collector
> > after caller exits from rcu protected section.
> >
> > Reported-by: Ingo Molnar <mingo(a)elte.hu>
> > Signed-off-by: Eric Dumazet <eric.dumazet(a)gmail.com>
>
> Applied, thanks Eric.
>
> Ingo can we get a confirmation that this fixes the bootup crash?

Sure, will let you know how it goes.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Ingo Molnar on

* Ingo Molnar <mingo(a)elte.hu> wrote:

>
> * David Miller <davem(a)davemloft.net> wrote:
>
> > From: Eric Dumazet <eric.dumazet(a)gmail.com>
> > Date: Thu, 27 May 2010 22:18:24 +0200
> >
> > > [PATCH] net: fix __neigh_event_send()
> > >
> > > commit 7fee226ad23 (net: add a noref bit on skb dst) missed one spot
> > > where an skb is enqueued, with a possibly not refcounted dst entry.
> > >
> > > __neigh_event_send() inserts skb into arp_queue, so we must make sure
> > > dst entry is refcounted, or dst entry can be freed by garbage collector
> > > after caller exits from rcu protected section.
> > >
> > > Reported-by: Ingo Molnar <mingo(a)elte.hu>
> > > Signed-off-by: Eric Dumazet <eric.dumazet(a)gmail.com>
> >
> > Applied, thanks Eric.
> >
> > Ingo can we get a confirmation that this fixes the bootup crash?
>
> Sure, will let you know how it goes.

Preliminary testing shows that Eric's patch solves the problem.

Tested-by: Ingo Molnar <mingo(a)elte.hu>

Thanks!

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: David Miller on
From: Ingo Molnar <mingo(a)elte.hu>
Date: Fri, 28 May 2010 10:24:40 +0200

> Preliminary testing shows that Eric's patch solves the problem.
>
> Tested-by: Ingo Molnar <mingo(a)elte.hu>

Thanks a lot for testing Ingo.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/