aboutsummaryrefslogtreecommitdiff
path: root/net/core/fib_rules.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2011-10-20 14:51:38 +0200
committerArnd Bergmann <arnd@arndb.de>2011-10-20 14:51:38 +0200
commit1faca4ced8594d3586302e8d1788a60932f2bbca (patch)
tree5130aaa4803a322f3d1f0ff6406f047ed0dba475 /net/core/fib_rules.c
parent112d17d6f75b93e1dcaec2e2232a411148b3bf71 (diff)
parent6b6844dd54e4196dd9818bc63b319f93c37a08be (diff)
Merge branch 'samsung/devel' of git+ssh://git.linaro.org/home/arndbergmann/public_git/arm-soc into next/devel2
Diffstat (limited to 'net/core/fib_rules.c')
-rw-r--r--net/core/fib_rules.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
index e7ab0c0285b5..3231b468bb72 100644
--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -384,8 +384,8 @@ static int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)
*/
list_for_each_entry(r, &ops->rules_list, list) {
if (r->action == FR_ACT_GOTO &&
- r->target == rule->pref) {
- BUG_ON(rtnl_dereference(r->ctarget) != NULL);
+ r->target == rule->pref &&
+ rtnl_dereference(r->ctarget) == NULL) {
rcu_assign_pointer(r->ctarget, rule);
if (--ops->unresolved_rules == 0)
break;