Re: [PATCH v2] ipv6: Don't depend on per socket memory for neighbour discovery messages

Hannes Frederic Sowa
2013-09-03T11:56:37Z

Hi!

On Tue, Sep 03, 2013 at 01:37:01PM +0200, Thomas Graf wrote:
> @@ -389,6 +386,11 @@ static struct sk_buff *ndisc_alloc_skb(struct net_device *dev,
> skb_reserve(skb, hlen + sizeof(struct ipv6hdr));
> skb_reset_transport_header(skb);
>
> + /* Manually assign socket ownership as we avoid calling
> + * sock_alloc_send_pskb() to bypass wmem buffer limits
> + */
> + skb_set_owner_w(skb, sk);
> +
> return skb;
> }

Do you know why this is needed? From the report it seemed to me that we might
have a deadlock on idev->lock and I couldn't find the culprit.

When I tested your change on x86_64 I did not experience this.

Maybe someone with arm could try this patch with CONFIG_PROVE_LOCKING?

Thanks,

Hannes