summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorCong Wang <xiyou.wangcong@gmail.com>2019-02-11 13:06:15 -0800
committerDavid S. Miller <davem@davemloft.net>2019-02-12 14:10:56 -0500
commit033b228e7f26b29ae37f8bfa1bc6b209a5365e9f (patch)
tree920a6c9cb1fa841c160cbc4befc569ce1f7d4d1d /kernel
parent8015d93ebd27484418d4952284fd02172fa4b0b2 (diff)
downloadlinux-033b228e7f26b29ae37f8bfa1bc6b209a5365e9f.tar.bz2
net_sched: fix a memory leak in cls_tcindex
When tcindex_destroy() destroys all the filter results in the perfect hash table, it invokes the walker to delete each of them. However, results with class==0 are skipped in either tcindex_walk() or tcindex_delete(), which causes a memory leak reported by kmemleak. This patch fixes it by skipping the walker and directly deleting these filter results so we don't miss any filter result. As a result of this change, we have to initialize exts->net properly in tcindex_alloc_perfect_hash(). For net-next, we need to consider whether we should initialize ->net in tcf_exts_init() instead, before that just directly test CONFIG_NET_CLS_ACT=y. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: Jiri Pirko <jiri@resnulli.us> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions