]> git.baikalelectronics.ru Git - kernel.git/commit
net: sched: fix qdisc->running lockdep annotations
authorEric Dumazet <edumazet@google.com>
Thu, 9 Jun 2016 14:45:11 +0000 (07:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 9 Jun 2016 20:28:37 +0000 (13:28 -0700)
commit0f28f93ec78e492021495fd2c68174dcd065db98
treed15d8d64e2160d72224285158cac6e1e8b343b04
parent873055dd3113c21b875313d0cccd2ef095dcbec6
net: sched: fix qdisc->running lockdep annotations

1) qdisc_run_begin() is really using the equivalent of a trylock.
  Instead of using write_seqcount_begin(), use a combination of
  raw_write_seqcount_begin() and correct lockdep annotation.

2) sch_direct_xmit() should use regular spin_lock(root_lock)

Fixes: 81cef05e15a3 ("net_sched: transform qdisc running bit into a seqcount")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sch_generic.h
net/sched/sch_generic.c