[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20150827.153046.2021133935222197667.davem@davemloft.net>
Date: Thu, 27 Aug 2015 15:30:46 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: xiyou.wangcong@...il.com
Cc: netdev@...r.kernel.org, jhs@...atatu.com,
stephen@...workplumber.org
Subject: Re: [Patch net-next 4/5] net_sched: forbid setting default qdisc
to inappropriate ones
From: Cong Wang <xiyou.wangcong@...il.com>
Date: Wed, 26 Aug 2015 15:41:26 -0700
> Currently there is no check for if a qdisc is appropriate
> to be used as the default qdisc. This causes we get no
> error even we set the default qdisc to an inappropriate one
> but an error will be shown up later. This is not good.
>
> Also, for qdisc's like HTB, kernel will just crash when
> we use it as default qdisc, because some data structures are
> not even initialized yet before checking opt == NULL, the cleanup
> doing ->reset() or ->destroy() on them will just crash.
>
> Let's fail as early as we can.
>
> Cc: Jamal Hadi Salim <jhs@...atatu.com>
> Cc: Stephen Hemminger <stephen@...workplumber.org>
> Signed-off-by: Cong Wang <xiyou.wangcong@...il.com>
I don't like this.
The situation is that some sophisticated qdiscs can function without
explicit parameters, some cannot.
That is the problem you need to solve. For example, if "opts" is NULL
HTB should use a reasonable set of defaults instead of failing.
Furthermore, you can improve the behavior when this happens.
When qdisc_create_dflt() returns NULL because ops->init() fails, do
something reasonable.
I'm not applying this patch series, it papers over the issue rather
than actually addressing it properly.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists