Patchwork [net-next] fib6: use FIB_LOOKUP_NOREF in fib6_rule_lookup()

login
register
mail settings
Submitter Eric Dumazet
Date Oct. 13, 2010, 12:45 p.m.
Message ID <1286973940.3876.423.camel@edumazet-laptop>
Download mbox | patch
Permalink /patch/67678/
State Accepted
Delegated to: David Miller
Headers show

Comments

Eric Dumazet - Oct. 13, 2010, 12:45 p.m.
Avoid two atomic ops on found rule in fib6_rule_lookup()

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
 net/ipv6/fib6_rules.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Oct. 16, 2010, 6:55 p.m.
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 13 Oct 2010 14:45:40 +0200

> Avoid two atomic ops on found rule in fib6_rule_lookup()
> 
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

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;