Commit 8b58d12f authored by Vlad Buslov's avatar Vlad Buslov Committed by David S. Miller

net: sched: cgroup: verify that filter is not NULL during walk

Check that filter is not NULL before passing it to tcf_walker->fn()
callback in cls_cgroup_walk(). This can happen when cls_cgroup_change()
failed to set first filter.

Fixes: ed76f5ed ("net: sched: protect filter_chain list with filter_chain_lock mutex")
Signed-off-by: default avatarVlad Buslov <vladbu@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d66022cd
...@@ -158,6 +158,8 @@ static void cls_cgroup_walk(struct tcf_proto *tp, struct tcf_walker *arg, ...@@ -158,6 +158,8 @@ static void cls_cgroup_walk(struct tcf_proto *tp, struct tcf_walker *arg,
if (arg->count < arg->skip) if (arg->count < arg->skip)
goto skip; goto skip;
if (!head)
return;
if (arg->fn(tp, head, arg) < 0) { if (arg->fn(tp, head, arg) < 0) {
arg->stop = 1; arg->stop = 1;
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment