Re: [PATCH] Set a separate lockdep class for neighbour table'sproxy_queue

From: David Miller
Date: Tue Apr 17 2007 - 15:46:38 EST


From: Pavel Emelianov <xemul@xxxxx>
Date: Mon, 16 Apr 2007 16:08:25 +0400

> Otherwise the following calltrace will lead to a wrong
> lockdep warning:
>
> neigh_proxy_process()
> `- lock(neigh_table->proxy_queue.lock);
> arp_redo /* via tbl->proxy_redo */
> arp_process
> neigh_event_ns
> neigh_update
> skb_queue_purge
> `- lock(neighbor->arp_queue.lock);
>
> This is not a deadlock actually, as neighbor table's proxy_queue
> and the neighbor's arp_queue are different queues.
>
> Lockdep thinks there is a deadlock as both queues are initialized
> with skb_queue_head_init() and thus have a common class.

Patch applied, thank you.

Please provide a proper "Signed-off-by: " line in future patch
submissions or else I will ignore your patches entirely.

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