summaryrefslogtreecommitdiffstats
path: root/net/ipv6/fib6_rules.c
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2010-10-13 04:45:40 +0200
committerDavid S. Miller <davem@davemloft.net>2010-10-16 20:13:21 +0200
commit2c1c00040af3d187b7d602dd53b5adbbf3a4caa4 (patch)
tree88611bd6da79d83621ec56b7093f999795c31580 /net/ipv6/fib6_rules.c
parentsundance: Add initial ethtool stats support (diff)
downloadlinux-2c1c00040af3d187b7d602dd53b5adbbf3a4caa4.tar.xz
linux-2c1c00040af3d187b7d602dd53b5adbbf3a4caa4.zip
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/fib6_rules.c')
-rw-r--r--net/ipv6/fib6_rules.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c
index b1108ede18e1..d829874d8946 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;