diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-10-13 02:45:40 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-16 11:13:21 -0700 |
commit | 2c1c00040af3d187b7d602dd53b5adbbf3a4caa4 (patch) | |
tree | 88611bd6da79d83621ec56b7093f999795c31580 /net/ipv6 | |
parent | 725a4a465c943ab0f91fcffc3846acbcdb704aac (diff) | |
download | op-kernel-dev-2c1c00040af3d187b7d602dd53b5adbbf3a4caa4.zip op-kernel-dev-2c1c00040af3d187b7d602dd53b5adbbf3a4caa4.tar.gz |
fib6: use FIB_LOOKUP_NOREF in fib6_rule_lookup()
Avoid two atomic ops on found rule in fib6_rule_lookup()
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/fib6_rules.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c index b1108ed..d829874 100644 --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c @@ -34,11 +34,10 @@ struct dst_entry *fib6_rule_lookup(struct net *net, struct flowi *fl, { struct fib_lookup_arg arg = { .lookup_ptr = lookup, + .flags = FIB_LOOKUP_NOREF, }; fib_rules_lookup(net->ipv6.fib6_rules_ops, fl, flags, &arg); - if (arg.rule) - fib_rule_put(arg.rule); if (arg.result) return arg.result; |