[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20171029.175612.604448910357209585.davem@davemloft.net>
Date: Sun, 29 Oct 2017 17:56:12 +0900 (KST)
From: David Miller <davem@...emloft.net>
To: xiyou.wangcong@...il.com
Cc: netdev@...r.kernel.org, dcaratti@...hat.com, jkosina@...e.cz,
edumazet@...gle.com, jhs@...atatu.com
Subject: Re: [Patch net] net_sched: avoid matching qdisc with zero handle
From: Cong Wang <xiyou.wangcong@...il.com>
Date: Fri, 27 Oct 2017 22:08:56 -0700
> Davide found the following script triggers a NULL pointer
> dereference:
>
> ip l a name eth0 type dummy
> tc q a dev eth0 parent :1 handle 1: htb
>
> This is because for a freshly created netdevice noop_qdisc
> is attached and when passing 'parent :1', kernel actually
> tries to match the major handle which is 0 and noop_qdisc
> has handle 0 so is matched by mistake. Commit 69012ae425d7
> tries to fix a similar bug but still misses this case.
>
> Handle 0 is not a valid one, should be just skipped. In
> fact, kernel uses it as TC_H_UNSPEC.
>
> Fixes: 69012ae425d7 ("net: sched: fix handling of singleton qdiscs with qdisc_hash")
> Fixes: 59cc1f61f09c ("net: sched:convert qdisc linked list to hashtable")
> Reported-by: Davide Caratti <dcaratti@...hat.com>
> Cc: Jiri Kosina <jkosina@...e.cz>
> Cc: Eric Dumazet <edumazet@...gle.com>
> Cc: Jamal Hadi Salim <jhs@...atatu.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@...il.com>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists