Jarek Poplawski wrote:
>>From sch_api.c:
> 
> 
>>       if (cl_ops->dump && cl_ops->dump(q, cl, skb, tcm) < 0)
>>               goto rtattr_failure;
>>
>>       if (gnet_stats_start_copy_compat(skb, TCA_STATS2, TCA_STATS,
>>                       TCA_XSTATS, q->stats_lock, &d) < 0)
>>               goto rtattr_failure;
>>
>>       if (cl_ops->dump_stats && cl_ops->dump_stats(q, cl, &d) < 0)
>>               goto rtattr_failure;
> 
> 
> I can't see any difference between calling ->dump and
> ->dump_stats? Of course we may forsee this error should
> jump over cl_ops...


Why should there be a difference?

The class passed to both ->dump and ->dump_stats is not a classid but
a qdisc-internal identifier (pointer, integer, whatever) which comes
from either ->get or ->walk, and thus is valid unless these functions
have bugs. Your check would cover the bug up and has no other purpose.

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to