diff options
Diffstat (limited to 'net/core/fib_rules.c')
-rw-r--r-- | net/core/fib_rules.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c index 27071ee2a4e1..57e8f95110e6 100644 --- a/net/core/fib_rules.c +++ b/net/core/fib_rules.c | |||
@@ -490,7 +490,7 @@ static int fib_nl_delrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg) | |||
490 | if (ops->nr_goto_rules > 0) { | 490 | if (ops->nr_goto_rules > 0) { |
491 | list_for_each_entry(tmp, &ops->rules_list, list) { | 491 | list_for_each_entry(tmp, &ops->rules_list, list) { |
492 | if (rtnl_dereference(tmp->ctarget) == rule) { | 492 | if (rtnl_dereference(tmp->ctarget) == rule) { |
493 | rcu_assign_pointer(tmp->ctarget, NULL); | 493 | RCU_INIT_POINTER(tmp->ctarget, NULL); |
494 | ops->unresolved_rules++; | 494 | ops->unresolved_rules++; |
495 | } | 495 | } |
496 | } | 496 | } |
@@ -548,7 +548,7 @@ static int fib_nl_fill_rule(struct sk_buff *skb, struct fib_rule *rule, | |||
548 | frh->flags = rule->flags; | 548 | frh->flags = rule->flags; |
549 | 549 | ||
550 | if (rule->action == FR_ACT_GOTO && | 550 | if (rule->action == FR_ACT_GOTO && |
551 | rcu_dereference_raw(rule->ctarget) == NULL) | 551 | rcu_access_pointer(rule->ctarget) == NULL) |
552 | frh->flags |= FIB_RULE_UNRESOLVED; | 552 | frh->flags |= FIB_RULE_UNRESOLVED; |
553 | 553 | ||
554 | if (rule->iifname[0]) { | 554 | if (rule->iifname[0]) { |