Message ID | 20190215151756.8719-1-vladbu@mellanox.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net-next] net: sched: matchall: verify that filter is not NULL in mall_walk() | expand |
From: Vlad Buslov <vladbu@mellanox.com> Date: Fri, 15 Feb 2019 17:17:56 +0200 > 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: ed76f5edccc9 ("net: sched: protect filter_chain list with filter_chain_lock mutex") > Reported-by: Ido Schimmel <idosch@mellanox.com> > Tested-by: Ido Schimmel <idosch@mellanox.com> > Signed-off-by: Vlad Buslov <vladbu@mellanox.com> Applied.
diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c index a37137430e61..1f9d481b0fbb 100644 --- a/net/sched/cls_matchall.c +++ b/net/sched/cls_matchall.c @@ -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: