lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <1423100070-31848-27-git-send-email-dsahern@gmail.com> Date: Wed, 4 Feb 2015 18:34:27 -0700 From: David Ahern <dsahern@...il.com> To: netdev@...r.kernel.org Cc: ebiederm@...ssion.com, David Ahern <dsahern@...il.com> Subject: [RFC PATCH 26/29] net: vrf: Change single_open_net to pass net_ctx Signed-off-by: David Ahern <dsahern@...il.com> --- fs/proc/proc_net.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/fs/proc/proc_net.c b/fs/proc/proc_net.c index 4996f5e91a90..3745661b5370 100644 --- a/fs/proc/proc_net.c +++ b/fs/proc/proc_net.c @@ -56,6 +56,8 @@ int seq_open_net(struct inode *ino, struct file *f, #ifdef CONFIG_NET_NS p->net_ctx.net = net; #endif + p->net_ctx.vrf = current->vrf; + return 0; } EXPORT_SYMBOL_GPL(seq_open_net); @@ -65,19 +67,32 @@ int single_open_net(struct inode *inode, struct file *file, { int err; struct net *net; + struct seq_net_private *p; err = -ENXIO; net = get_proc_net(inode); if (net == NULL) goto err_net; - err = single_open(file, show, net); + err = -ENOMEM; + p = kzalloc(sizeof(*p), GFP_KERNEL); + if (p == NULL) + goto err_malloc; + +#ifdef CONFIG_NET_NS + p->net_ctx.net = net; +#endif + p->net_ctx.vrf = current->vrf; + + err = single_open(file, show, p); if (err < 0) goto err_open; return 0; err_open: + kfree(p); +err_malloc: put_net(net); err_net: return err; @@ -99,7 +114,8 @@ EXPORT_SYMBOL_GPL(seq_release_net); int single_release_net(struct inode *ino, struct file *f) { struct seq_file *seq = f->private_data; - put_net(seq->private); + put_net(seq_file_net(seq)); + kfree(seq->private); return single_release(ino, f); } EXPORT_SYMBOL_GPL(single_release_net); -- 1.9.3 (Apple Git-50) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists