aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/cls_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/cls_api.c')
-rw-r--r--net/sched/cls_api.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 09cdcdfe7e91..bcfbdb4758c9 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -181,6 +181,9 @@ replay:
181 if ((cops = q->ops->cl_ops) == NULL) 181 if ((cops = q->ops->cl_ops) == NULL)
182 return -EINVAL; 182 return -EINVAL;
183 183
184 if (cops->tcf_chain == NULL)
185 return -EOPNOTSUPP;
186
184 /* Do we search for filter, attached to class? */ 187 /* Do we search for filter, attached to class? */
185 if (TC_H_MIN(parent)) { 188 if (TC_H_MIN(parent)) {
186 cl = cops->get(q, parent); 189 cl = cops->get(q, parent);
@@ -433,6 +436,8 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
433 goto out; 436 goto out;
434 if ((cops = q->ops->cl_ops) == NULL) 437 if ((cops = q->ops->cl_ops) == NULL)
435 goto errout; 438 goto errout;
439 if (cops->tcf_chain == NULL)
440 goto errout;
436 if (TC_H_MIN(tcm->tcm_parent)) { 441 if (TC_H_MIN(tcm->tcm_parent)) {
437 cl = cops->get(q, tcm->tcm_parent); 442 cl = cops->get(q, tcm->tcm_parent);
438 if (cl == 0) 443 if (cl == 0)