On Tue, 16 Aug 2016, Jiri Kosina wrote:

> From: Jiri Kosina <jkos...@suse.cz>
> 
> qdisc_match_from_root() is now iterating over per-netdevice qdisc 
> hashtable instead of going through a linked-list of qdiscs (independently 
> on the actual underlying netdev), which used to be the case before the 
> switch to hashtable for qdiscs.
> 
> For singleton qdiscs, there is no underlying netdev associated though, and 
> therefore dumping a singleton qdisc will panic, as qdisc_dev(root) will 
> always be NULL.
[ ... snip ... ]
> @@ -1456,6 +1459,10 @@ static int tc_dump_qdisc_root(struct Qdisc *root, 
> struct sk_buff *skb,
>                       goto done;
>               q_idx++;
>       }
> +
> +     if (!qdisc_dev(root))
> +             goto done;
> +

Ok, this will cause default singleton-only devices being missed in the 
dump.

I am now working on creating a automation that'd test as many use cases as 
possible; will send up a new patch once I have all the known corner cases 
covered (including the ingress / clsact dump duplication).

Please drop this one for now, I'll send up an accumulated followup fixes 
asap.

Thanks,

-- 
Jiri Kosina
SUSE Labs

Reply via email to