lkml.org 
[lkml]   [2016]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] net: sched: fix handling of singleton qdiscs with qdisc_hash
On Tue, 16 Aug 2016, Jiri Kosina wrote:

> From: Jiri Kosina <jkosina@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

\
 
 \ /
  Last update: 2016-09-17 09:57    [W:0.034 / U:1.756 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site