--- x/net/sched/cls_api.c +++ y/net/sched/cls_api.c @@ -2154,7 +2154,6 @@ replay: tp = NULL; cl = 0; block = NULL; - q = NULL; chain = NULL; flags = 0; @@ -2173,9 +2172,12 @@ replay: /* Find head of filter chain. */ + q = NULL; err = __tcf_qdisc_find(net, &q, &parent, t->tcm_ifindex, false, extack); if (err) return err; + if (!q) + return -ENOENT; if (tcf_proto_check_kind(tca[TCA_KIND], name)) { NL_SET_ERR_MSG(extack, "Specified TC filter name too long");