diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index ac28f6a5d70e0b38ae8ce7858f08e9d15778c22f..17bd8f539bc7f1d596e97c713467f953802c9b82 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -985,6 +985,9 @@ static void qdisc_destroy(struct Qdisc *qdisc) void qdisc_put(struct Qdisc *qdisc) { + if (!qdisc) + return; + if (qdisc->flags & TCQ_F_BUILTIN || !refcount_dec_and_test(&qdisc->refcnt)) return;