[PATCH net] net: sched: fix lockdep_set_class() typo error for sch->seqlock

According to comment in qdisc_alloc(), sch->seqlock's lockdep class key should be set to qdisc_tx_busylock, due to possible type error, sch->busylock's lockdep class key is set to qdisc_tx_busylock, which is duplicated because sch->busylock's lockdep class key is already set in qdisc_alloc(). So fix it by replacing sch->busylock with sch->seqlock. Fixes: 96009c7d500e ("sched: replace __QDISC_STATE_RUNNING bit with a spin lock") Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com> --- commit ab92d68fc22f ("net: core: add generic lockdep keys") seems to fix the above error without mentioning that, and then it is reverted by commit 1a33e10e4a95 ("net: partially revert dynamic lockdep key changes"), but the blamed commit still be 96009c7d500e ("sched: replace __QDISC_STATE_RUNNING bit with a spin lock"). --- net/sched/sch_generic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index d9ac60f..a8dd06c 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -913,7 +913,7 @@ struct Qdisc *qdisc_alloc(struct netdev_queue *dev_queue, /* seqlock has the same scope of busylock, for NOLOCK qdisc */ spin_lock_init(&sch->seqlock); - lockdep_set_class(&sch->busylock, + lockdep_set_class(&sch->seqlock, dev->qdisc_tx_busylock ?: &qdisc_tx_busylock); seqcount_init(&sch->running); -- 2.7.4

Hello: This patch was applied to netdev/net.git (refs/heads/master): On Tue, 3 Aug 2021 18:58:21 +0800 you wrote:
According to comment in qdisc_alloc(), sch->seqlock's lockdep class key should be set to qdisc_tx_busylock, due to possible type error, sch->busylock's lockdep class key is set to qdisc_tx_busylock, which is duplicated because sch->busylock's lockdep class key is already set in qdisc_alloc().
So fix it by replacing sch->busylock with sch->seqlock.
[...]
Here is the summary with links: - [net] net: sched: fix lockdep_set_class() typo error for sch->seqlock https://git.kernel.org/netdev/net/c/06f5553e0f0c You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
participants (2)
-
patchwork-bot+netdevbpf@kernel.org
-
Yunsheng Lin