Commit d66022cd authored by Vlad Buslov's avatar Vlad Buslov Committed by David S. Miller
Browse files

net: sched: matchall: verify that filter is not NULL in mall_walk()



Check that filter is not NULL before passing it to tcf_walker->fn()
callback. This can happen when mall_change() failed to offload filter to
hardware.

Fixes: ed76f5ed ("net: sched: protect filter_chain list with filter_chain_lock mutex")
Reported-by: default avatarIdo Schimmel <idosch@mellanox.com>
Tested-by: default avatarIdo Schimmel <idosch@mellanox.com>
Signed-off-by: default avatarVlad Buslov <vladbu@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3027ff41
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -247,6 +247,9 @@ static void mall_walk(struct tcf_proto *tp, struct tcf_walker *arg,

	if (arg->count < arg->skip)
		goto skip;

	if (!head)
		return;
	if (arg->fn(tp, head, arg) < 0)
		arg->stop = 1;
skip: