]> git.baikalelectronics.ru Git - kernel.git/commit
net: sched: fix clsact init error path
authorJiri Pirko <jiri@mellanox.com>
Fri, 15 Dec 2017 11:40:12 +0000 (12:40 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Dec 2017 20:43:12 +0000 (15:43 -0500)
commite6631e0e018063b4b68b19bc8567d30c2af450c4
tree6611f40a0342dca4fad113db640e0371471f8f62
parent30afcf0c67ce65c91a34dcdddd6ffea7c4b4f121
net: sched: fix clsact init error path

Since in qdisc_create, the destroy op is called when init fails, we
don't do cleanup in init and leave it up to destroy.
This fixes use-after-free when trying to put already freed block.

Fixes: 655d6e0692b8 ("net: sched: use extended variants of block_get/put in ingress and clsact qdiscs")
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_api.c
net/sched/sch_ingress.c