Cleanup and preparation. maps_open() can use __seq_open_private() like proc_maps_open() does. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> --- 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 678455d..c12eab3 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) -- 1.5.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html