From: Eric Dumazet <eduma...@google.com> Date: Tue, 17 Apr 2018 18:11:44 -0700
> 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 <eduma...@google.com> > --- > Note do David: I chose net-next because of recent changes in net-next, > and because it is a false positive, but can respin for net tree > if you prefer. Thanks ! Yeah I think net-next is fine for this. Applied, thanks.