From 3027ff41f67cbef1ad58af68601455db81b0fae5 Mon Sep 17 00:00:00 2001 From: Vlad Buslov Date: Fri, 15 Feb 2019 17:21:00 +0200 Subject: net: sched: route: don't set arg->stop in route4_walk() when empty Some classifiers set arg->stop in their implementation of tp->walk() API when empty. Most of classifiers do not adhere to that convention. Do not set arg->stop in route4_walk() to unify tp->walk() behavior among classifier implementations. Fixes: ed76f5edccc9 ("net: sched: protect filter_chain list with filter_chain_lock mutex") Signed-off-by: Vlad Buslov Signed-off-by: David S. Miller --- net/sched/cls_route.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'net/sched/cls_route.c') diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c index e590c3a2999d..444d15a75d98 100644 --- a/net/sched/cls_route.c +++ b/net/sched/cls_route.c @@ -567,10 +567,7 @@ static void route4_walk(struct tcf_proto *tp, struct tcf_walker *arg, struct route4_head *head = rtnl_dereference(tp->root); unsigned int h, h1; - if (head == NULL) - arg->stop = 1; - - if (arg->stop) + if (head == NULL || arg->stop) return; for (h = 0; h <= 256; h++) { -- cgit v1.2.3-59-g8ed1b