From: Jarek Poplawski Date: Tue, 10 Aug 2010 22:31:20 +0000 (+0000) Subject: pkt_sched: Check .walk and .leaf class handlers X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3e9e5a5921f4b7dc098a01d01e5972bebb36491e;p=linux-beck.git pkt_sched: Check .walk and .leaf class handlers Require qdisc class ops .walk and .leaf for classful qdisc in register_qdisc(). The checks could be done later insted, but these ops are really needed and used by most of classful qdiscs. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller --- diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c index 8ed2f5649029..408eea7086aa 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c @@ -161,7 +161,7 @@ int register_qdisc(struct Qdisc_ops *qops) if (qops->cl_ops) { const struct Qdisc_class_ops *cops = qops->cl_ops; - if (!(cops->get && cops->put)) + if (!(cops->get && cops->put && cops->walk && cops->leaf)) goto out_einval; if (cops->tcf_chain && !(cops->bind_tcf && cops->unbind_tcf))