On Wed, Jan 31, 2007 at 04:06:05PM +0100, Patrick McHardy wrote: > 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.
Maybe I miss something, but it's not "my check". I tried only to "stay in line with the remaining file"... Jarek P. - 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