aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/array.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-06-04 13:00:01 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-06-04 13:00:01 -0400
commitcf626b0da78df6669c6b5f51ddd9a70a0702e579 (patch)
tree45d29a4cb7574aed7f140814ed22088ded21c291 /fs/proc/array.c
parent9c50eafc32ddbd166c8a2bbaecd4ad201c452b14 (diff)
parent5ef03dbd91855544cd4c7c1910c3ef5226ee87e8 (diff)
Merge branch 'hch.procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull procfs updates from Al Viro: "Christoph's proc_create_... cleanups series" * 'hch.procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (44 commits) xfs, proc: hide unused xfs procfs helpers isdn/gigaset: add back gigaset_procinfo assignment proc: update SIZEOF_PDE_INLINE_NAME for the new pde fields tty: replace ->proc_fops with ->proc_show ide: replace ->proc_fops with ->proc_show ide: remove ide_driver_proc_write isdn: replace ->proc_fops with ->proc_show atm: switch to proc_create_seq_private atm: simplify procfs code bluetooth: switch to proc_create_seq_data netfilter/x_tables: switch to proc_create_seq_private netfilter/xt_hashlimit: switch to proc_create_{seq,single}_data neigh: switch to proc_create_seq_data hostap: switch to proc_create_{seq,single}_data bonding: switch to proc_create_seq_data rtc/proc: switch to proc_create_single_data drbd: switch to proc_create_single resource: switch to proc_create_seq_data staging/rtl8192u: simplify procfs code jfs: simplify procfs code ...
Diffstat (limited to 'fs/proc/array.c')
-rw-r--r--fs/proc/array.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/fs/proc/array.c b/fs/proc/array.c
index 72391b3f6927..e6d7f41b6684 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -702,25 +702,22 @@ out:
702 702
703static int children_seq_show(struct seq_file *seq, void *v) 703static int children_seq_show(struct seq_file *seq, void *v)
704{ 704{
705 struct inode *inode = seq->private; 705 struct inode *inode = file_inode(seq->file);
706 pid_t pid;
707
708 pid = pid_nr_ns(v, inode->i_sb->s_fs_info);
709 seq_printf(seq, "%d ", pid);
710 706
707 seq_printf(seq, "%d ", pid_nr_ns(v, proc_pid_ns(inode)));
711 return 0; 708 return 0;
712} 709}
713 710
714static void *children_seq_start(struct seq_file *seq, loff_t *pos) 711static void *children_seq_start(struct seq_file *seq, loff_t *pos)
715{ 712{
716 return get_children_pid(seq->private, NULL, *pos); 713 return get_children_pid(file_inode(seq->file), NULL, *pos);
717} 714}
718 715
719static void *children_seq_next(struct seq_file *seq, void *v, loff_t *pos) 716static void *children_seq_next(struct seq_file *seq, void *v, loff_t *pos)
720{ 717{
721 struct pid *pid; 718 struct pid *pid;
722 719
723 pid = get_children_pid(seq->private, v, *pos + 1); 720 pid = get_children_pid(file_inode(seq->file), v, *pos + 1);
724 put_pid(v); 721 put_pid(v);
725 722
726 ++*pos; 723 ++*pos;
@@ -741,17 +738,7 @@ static const struct seq_operations children_seq_ops = {
741 738
742static int children_seq_open(struct inode *inode, struct file *file) 739static int children_seq_open(struct inode *inode, struct file *file)
743{ 740{
744 struct seq_file *m; 741 return seq_open(file, &children_seq_ops);
745 int ret;
746
747 ret = seq_open(file, &children_seq_ops);
748 if (ret)
749 return ret;
750
751 m = file->private_data;
752 m->private = inode;
753
754 return ret;
755} 742}
756 743
757const struct file_operations proc_tid_children_operations = { 744const struct file_operations proc_tid_children_operations = {