diff options
author | Denis V. Lunev <den@openvz.org> | 2008-04-16 05:01:56 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-16 05:01:56 -0400 |
commit | 3661a910836a509be65afc3c1e512d900e1280f9 (patch) | |
tree | e3b0dee72a200f0214cfe359f66f977cf01b5ec2 /net/core | |
parent | 48115becf6ad9c0e700ff7c1792b7f2a288ef8fb (diff) |
[NETNS]: Add netns refcnt debug to fib rules.
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/fib_rules.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c index 540c07283e31..e3e9ab0f74e3 100644 --- a/net/core/fib_rules.c +++ b/net/core/fib_rules.c | |||
@@ -29,7 +29,7 @@ int fib_default_rule_add(struct fib_rules_ops *ops, | |||
29 | r->pref = pref; | 29 | r->pref = pref; |
30 | r->table = table; | 30 | r->table = table; |
31 | r->flags = flags; | 31 | r->flags = flags; |
32 | r->fr_net = ops->fro_net; | 32 | r->fr_net = hold_net(ops->fro_net); |
33 | 33 | ||
34 | /* The lock is not required here, the list in unreacheable | 34 | /* The lock is not required here, the list in unreacheable |
35 | * at the moment this function is called */ | 35 | * at the moment this function is called */ |
@@ -243,7 +243,7 @@ static int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg) | |||
243 | err = -ENOMEM; | 243 | err = -ENOMEM; |
244 | goto errout; | 244 | goto errout; |
245 | } | 245 | } |
246 | rule->fr_net = net; | 246 | rule->fr_net = hold_net(net); |
247 | 247 | ||
248 | if (tb[FRA_PRIORITY]) | 248 | if (tb[FRA_PRIORITY]) |
249 | rule->pref = nla_get_u32(tb[FRA_PRIORITY]); | 249 | rule->pref = nla_get_u32(tb[FRA_PRIORITY]); |
@@ -344,6 +344,7 @@ static int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg) | |||
344 | return 0; | 344 | return 0; |
345 | 345 | ||
346 | errout_free: | 346 | errout_free: |
347 | release_net(rule->fr_net); | ||
347 | kfree(rule); | 348 | kfree(rule); |
348 | errout: | 349 | errout: |
349 | rules_ops_put(ops); | 350 | rules_ops_put(ops); |