diff options
Diffstat (limited to 'net/core/fib_rules.c')
| -rw-r--r-- | net/core/fib_rules.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c index 72cceb79d0d..ab7db83236c 100644 --- a/net/core/fib_rules.c +++ b/net/core/fib_rules.c @@ -151,6 +151,8 @@ static void fib_rules_cleanup_ops(struct fib_rules_ops *ops)  	list_for_each_entry_safe(rule, tmp, &ops->rules_list, list) {  		list_del_rcu(&rule->list); +		if (ops->delete) +			ops->delete(rule);  		fib_rule_put(rule);  	}  } @@ -499,6 +501,8 @@ static int fib_nl_delrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)  		notify_rule_change(RTM_DELRULE, rule, ops, nlh,  				   NETLINK_CB(skb).pid); +		if (ops->delete) +			ops->delete(rule);  		fib_rule_put(rule);  		flush_route_cache(ops);  		rules_ops_put(ops);  |