Message ID | 1627988301-55801-1-git-send-email-linyunsheng@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 06f5553e0f0c2182268179b93856187d9cb86dd5 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] net: sched: fix lockdep_set_class() typo error for sch->seqlock | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | success | CCed 7 of 7 maintainers |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 5 this patch: 5 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 8 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 5 this patch: 5 |
netdev/header_inline | success | Link |
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
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);
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(-)