From: Jarek Poplawski Date: Tue, 10 Aug 2010 22:31:20 +0000 (+0000) Subject: pkt_sched: Check .walk and .leaf class handlers X-Git-Tag: v2.6.36-rc1~43^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3e9e5a5921f4b7dc098a01d01e5972bebb36491e;p=profile%2Fcommon%2Fkernel-common.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 8ed2f56..408eea7 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))