fib_rules: fix unresolved_rules counting
[firefly-linux-kernel-4.4.55.git] / net / core / fib_rules.c
index 3231b468bb7297ba2c278758f59d741976324556..27071ee2a4e1d1d22569bac55e1eee4411bac5bd 100644 (file)
@@ -475,8 +475,11 @@ static int fib_nl_delrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)
 
                list_del_rcu(&rule->list);
 
-               if (rule->action == FR_ACT_GOTO)
+               if (rule->action == FR_ACT_GOTO) {
                        ops->nr_goto_rules--;
+                       if (rtnl_dereference(rule->ctarget) == NULL)
+                               ops->unresolved_rules--;
+               }
 
                /*
                 * Check if this rule is a target to any of them. If so,