diff options
author | Eric Dumazet <edumazet@google.com> | 2018-04-17 18:11:44 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-18 23:19:39 -0400 |
commit | 415787d7799f4fccbe8d49cb0b8e5811be6b0389 (patch) | |
tree | a765037e30cfc5bde6925be6a633920edc5f7b70 /net/wimax/stack.c | |
parent | 0dcec221dd39d4d48fe6b22b4cacf2f49b95ffa0 (diff) |
ipv6: frags: fix a lockdep false positive
lockdep does not know that the locks used by IPv4 defrag
and IPv6 reassembly units are of different classes.
It complains because of following chains :
1) sch_direct_xmit() (lock txq->_xmit_lock)
dev_hard_start_xmit()
xmit_one()
dev_queue_xmit_nit()
packet_rcv_fanout()
ip_check_defrag()
ip_defrag()
spin_lock() (lock frag queue spinlock)
2) ip6_input_finish()
ipv6_frag_rcv() (lock frag queue spinlock)
ip6_frag_queue()
icmpv6_param_prob() (lock txq->_xmit_lock at some point)
We could add lockdep annotations, but we also can make sure IPv6
calls icmpv6_param_prob() only after the release of the frag queue spinlock,
since this naturally makes frag queue spinlock a leaf in lock hierarchy.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/wimax/stack.c')
0 files changed, 0 insertions, 0 deletions