diff options
author | Pavel Emelianov <xemul@sw.ru> | 2007-04-17 12:45:31 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-17 13:13:31 -0700 |
commit | c2ecba71717c4f60671175fd26083c35a4b9ad58 (patch) | |
tree | b51d9e55cc4777254fed5d6b2056cc26d5ccda9f /net/sctp | |
parent | 5e7d7fa57323dfb48fb09464cf4542daa7ce8a72 (diff) | |
download | lwn-c2ecba71717c4f60671175fd26083c35a4b9ad58.tar.gz lwn-c2ecba71717c4f60671175fd26083c35a4b9ad58.zip |
[NET]: Set a separate lockdep class for neighbour table's proxy_queue
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.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
0 files changed, 0 insertions, 0 deletions