proc: don't detour through seq->private to get the inode
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
76f668be1e
commit
04015e3fa2
@ -677,20 +677,22 @@ out:
|
||||
|
||||
static int children_seq_show(struct seq_file *seq, void *v)
|
||||
{
|
||||
seq_printf(seq, "%d ", pid_nr_ns(v, proc_pid_ns(seq->private)));
|
||||
struct inode *inode = file_inode(seq->file);
|
||||
|
||||
seq_printf(seq, "%d ", pid_nr_ns(v, proc_pid_ns(inode)));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void *children_seq_start(struct seq_file *seq, loff_t *pos)
|
||||
{
|
||||
return get_children_pid(seq->private, NULL, *pos);
|
||||
return get_children_pid(file_inode(seq->file), NULL, *pos);
|
||||
}
|
||||
|
||||
static void *children_seq_next(struct seq_file *seq, void *v, loff_t *pos)
|
||||
{
|
||||
struct pid *pid;
|
||||
|
||||
pid = get_children_pid(seq->private, v, *pos + 1);
|
||||
pid = get_children_pid(file_inode(seq->file), v, *pos + 1);
|
||||
put_pid(v);
|
||||
|
||||
++*pos;
|
||||
@ -711,17 +713,7 @@ static const struct seq_operations children_seq_ops = {
|
||||
|
||||
static int children_seq_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
struct seq_file *m;
|
||||
int ret;
|
||||
|
||||
ret = seq_open(file, &children_seq_ops);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
m = file->private_data;
|
||||
m->private = inode;
|
||||
|
||||
return ret;
|
||||
return seq_open(file, &children_seq_ops);
|
||||
}
|
||||
|
||||
const struct file_operations proc_tid_children_operations = {
|
||||
|
Loading…
Reference in New Issue
Block a user