net/sched: add missing tracker information in qdisc_create()

qdisc_create() error path needs to use dev_put_track()
because qdisc_alloc() allocated the tracker.

Fixes: 606509f27f ("net/sched: add net device refcount tracker to struct Qdisc")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20220104170439.3790052-1-eric.dumazet@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Eric Dumazet 2022-01-04 09:04:39 -08:00 committed by Jakub Kicinski
parent c487b6530d
commit 88248c357c

View file

@ -1292,7 +1292,7 @@ static struct Qdisc *qdisc_create(struct net_device *dev,
if (ops->destroy)
ops->destroy(sch);
err_out3:
dev_put(dev);
dev_put_track(dev, &sch->dev_tracker);
qdisc_free(sch);
err_out2:
module_put(ops->owner);