summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2014-09-10 09:40:19 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2014-09-10 09:40:19 +1000
commitbb7c0d32b74dc76b31b36d089cb5e0632058d3ab (patch)
treecfd68886cb722b067d0ab6076eb4e9ac979cd169 /fs
parent08c97e01bdb0ae8b4cba1e02fc0c1107e390a688 (diff)
fs/proc/task_nommu.c: change maps_open() to use __seq_open_private()
Cleanup and preparation. maps_open() can use __seq_open_private() like proc_maps_open() does. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Acked-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/proc/task_nommu.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c
index 678455d2d683..c12eab3c46b5 100644
--- a/fs/proc/task_nommu.c
+++ b/fs/proc/task_nommu.c
@@ -268,21 +268,13 @@ static const struct seq_operations proc_tid_maps_ops = {
static int maps_open(struct inode *inode, struct file *file,
const struct seq_operations *ops)
{
- struct proc_maps_private *priv;
- int ret = -ENOMEM;
-
- priv = kzalloc(sizeof(*priv), GFP_KERNEL);
- if (priv) {
- priv->pid = proc_pid(inode);
- ret = seq_open(file, ops);
- if (!ret) {
- struct seq_file *m = file->private_data;
- m->private = priv;
- } else {
- kfree(priv);
- }
- }
- return ret;
+ struct proc_maps_private *priv = __seq_open_private(file, ops,
+ sizeof(struct proc_maps_private));
+ if (!priv)
+ return -ENOMEM;
+
+ priv->pid = proc_pid(inode);
+ return 0;
}
static int pid_maps_open(struct inode *inode, struct file *file)