|
@@ -475,8 +475,11 @@ static int fib_nl_delrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)
|
|
|
|
|
|
list_del_rcu(&rule->list);
|
|
list_del_rcu(&rule->list);
|
|
|
|
|
|
- if (rule->action == FR_ACT_GOTO)
|
|
|
|
|
|
+ if (rule->action == FR_ACT_GOTO) {
|
|
ops->nr_goto_rules--;
|
|
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,
|
|
* Check if this rule is a target to any of them. If so,
|