diff options
author | Oleg Nesterov <oleg@redhat.com> | 2014-09-10 09:40:19 +1000 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2014-09-10 09:40:19 +1000 |
commit | bb7c0d32b74dc76b31b36d089cb5e0632058d3ab (patch) | |
tree | cfd68886cb722b067d0ab6076eb4e9ac979cd169 /fs | |
parent | 08c97e01bdb0ae8b4cba1e02fc0c1107e390a688 (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.c | 22 |
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) |