Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 122227
b: refs/heads/master
c: 7013ec3
h: refs/heads/master
i:
  122225: 86507a6
  122223: 2d4f6fd
v: v3
  • Loading branch information
Alexey Dobriyan authored and David S. Miller committed Nov 26, 2008
1 parent 07ff784 commit ac3b1c6
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 07fb0f1799dcb6b3df527909811fd6704278842e
refs/heads/master: 7013ec30e0e2bc5b1e602e19a4e0668f9b7c0a72
34 changes: 17 additions & 17 deletions trunk/net/key/af_key.c
Original file line number Diff line number Diff line change
Expand Up @@ -3673,7 +3673,7 @@ static int pfkey_seq_show(struct seq_file *f, void *v)

static void *pfkey_seq_start(struct seq_file *f, loff_t *ppos)
{
struct net *net = &init_net;
struct net *net = seq_file_net(f);
struct netns_pfkey *net_pfkey = net_generic(net, pfkey_net_id);
struct sock *s;
struct hlist_node *node;
Expand All @@ -3692,7 +3692,7 @@ static void *pfkey_seq_start(struct seq_file *f, loff_t *ppos)

static void *pfkey_seq_next(struct seq_file *f, void *v, loff_t *ppos)
{
struct net *net = &init_net;
struct net *net = seq_file_net(f);
struct netns_pfkey *net_pfkey = net_generic(net, pfkey_net_id);

++*ppos;
Expand All @@ -3715,38 +3715,39 @@ static struct seq_operations pfkey_seq_ops = {

static int pfkey_seq_open(struct inode *inode, struct file *file)
{
return seq_open(file, &pfkey_seq_ops);
return seq_open_net(inode, file, &pfkey_seq_ops,
sizeof(struct seq_net_private));
}

static struct file_operations pfkey_proc_ops = {
.open = pfkey_seq_open,
.read = seq_read,
.llseek = seq_lseek,
.release = seq_release,
.release = seq_release_net,
};

static int pfkey_init_proc(void)
static int __net_init pfkey_init_proc(struct net *net)
{
struct proc_dir_entry *e;

e = proc_net_fops_create(&init_net, "pfkey", 0, &pfkey_proc_ops);
e = proc_net_fops_create(net, "pfkey", 0, &pfkey_proc_ops);
if (e == NULL)
return -ENOMEM;

return 0;
}

static void pfkey_exit_proc(void)
static void pfkey_exit_proc(struct net *net)
{
proc_net_remove(&init_net, "pfkey");
proc_net_remove(net, "pfkey");
}
#else
static inline int pfkey_init_proc(void)
static int __net_init pfkey_init_proc(struct net *net)
{
return 0;
}

static inline void pfkey_exit_proc(void)
static void pfkey_exit_proc(struct net *net)
{
}
#endif
Expand Down Expand Up @@ -3777,8 +3778,12 @@ static int __net_init pfkey_net_init(struct net *net)
rv = net_assign_generic(net, pfkey_net_id, net_pfkey);
if (rv < 0)
goto out_assign;
rv = pfkey_init_proc(net);
if (rv < 0)
goto out_proc;
return 0;

out_proc:
out_assign:
kfree(net_pfkey);
out_kmalloc:
Expand All @@ -3789,6 +3794,7 @@ static void __net_exit pfkey_net_exit(struct net *net)
{
struct netns_pfkey *net_pfkey = net_generic(net, pfkey_net_id);

pfkey_exit_proc(net);
BUG_ON(!hlist_empty(&net_pfkey->table));
kfree(net_pfkey);
}
Expand All @@ -3802,7 +3808,6 @@ static void __exit ipsec_pfkey_exit(void)
{
unregister_pernet_gen_subsys(pfkey_net_id, &pfkey_net_ops);
xfrm_unregister_km(&pfkeyv2_mgr);
pfkey_exit_proc();
sock_unregister(PF_KEY);
proto_unregister(&key_proto);
}
Expand All @@ -3817,21 +3822,16 @@ static int __init ipsec_pfkey_init(void)
err = sock_register(&pfkey_family_ops);
if (err != 0)
goto out_unregister_key_proto;
err = pfkey_init_proc();
if (err != 0)
goto out_sock_unregister;
err = xfrm_register_km(&pfkeyv2_mgr);
if (err != 0)
goto out_remove_proc_entry;
goto out_sock_unregister;
err = register_pernet_gen_subsys(&pfkey_net_id, &pfkey_net_ops);
if (err != 0)
goto out_xfrm_unregister_km;
out:
return err;
out_xfrm_unregister_km:
xfrm_unregister_km(&pfkeyv2_mgr);
out_remove_proc_entry:
pfkey_exit_proc();
out_sock_unregister:
sock_unregister(PF_KEY);
out_unregister_key_proto:
Expand Down

0 comments on commit ac3b1c6

Please sign in to comment.