aboutsummaryrefslogtreecommitdiffstats
path: root/net/netlink
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2007-10-10 05:29:29 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:55:33 -0400
commitcf7732e4cc14b56d593ff53352673e1fd5e3ba52 (patch)
tree3479e278b72f9d535a58066bc2a26238806252ce /net/netlink
parent39699037a5c94d7cd1363dfe48a50c78c643fd9a (diff)
[NET]: Make core networking code use seq_open_private
This concerns the ipv4 and ipv6 code mostly, but also the netlink and unix sockets. The netlink code is an example of how to use the __seq_open_private() call - it saves the net namespace on this private. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlink')
-rw-r--r--net/netlink/af_netlink.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 3ef32825da71..f934f54fbfd5 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1845,27 +1845,18 @@ static const struct seq_operations netlink_seq_ops = {
1845 1845
1846static int netlink_seq_open(struct inode *inode, struct file *file) 1846static int netlink_seq_open(struct inode *inode, struct file *file)
1847{ 1847{
1848 struct seq_file *seq;
1849 struct nl_seq_iter *iter; 1848 struct nl_seq_iter *iter;
1850 int err;
1851 1849
1852 iter = kzalloc(sizeof(*iter), GFP_KERNEL); 1850 iter = __seq_open_private(file, &netlink_seq_ops, sizeof(*iter));
1853 if (!iter) 1851 if (!iter)
1854 return -ENOMEM; 1852 return -ENOMEM;
1855 1853
1856 err = seq_open(file, &netlink_seq_ops);
1857 if (err) {
1858 kfree(iter);
1859 return err;
1860 }
1861
1862 seq = file->private_data;
1863 seq->private = iter;
1864 iter->net = get_proc_net(inode); 1854 iter->net = get_proc_net(inode);
1865 if (!iter->net) { 1855 if (!iter->net) {
1866 seq_release_private(inode, file); 1856 seq_release_private(inode, file);
1867 return -ENXIO; 1857 return -ENXIO;
1868 } 1858 }
1859
1869 return 0; 1860 return 0;
1870} 1861}
1871 1862