[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170629.125540.1645522320014274592.davem@davemloft.net>
Date: Thu, 29 Jun 2017 12:55:40 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: gfree.wind@....163.com
Cc: jhs@...atatu.com, xiyou.wangcong@...il.com, jiri@...nulli.us,
netdev@...r.kernel.org
Subject: Re: [PATCH net v2] net: sched: Fix one possible panic when no
destroy callback
From: gfree.wind@....163.com
Date: Wed, 28 Jun 2017 12:53:54 +0800
> From: Gao Feng <gfree.wind@....163.com>
>
> When qdisc fail to init, qdisc_create would invoke the destroy callback
> to cleanup. But there is no check if the callback exists really. So it
> would cause the panic if there is no real destroy callback like the qdisc
> codel, fq, and so on.
>
> Take codel as an example following:
> When a malicious user constructs one invalid netlink msg, it would cause
> codel_init->codel_change->nla_parse_nested failed.
> Then kernel would invoke the destroy callback directly but qdisc codel
> doesn't define one. It causes one panic as a result.
>
> Now add one the check for destroy to avoid the possible panic.
>
> Fixes: 87b60cfacf9f ("net_sched: fix error recovery at qdisc creation")
> Signed-off-by: Gao Feng <gfree.wind@....163.com>
Applied and queued up for -stable.
Powered by blists - more mailing lists