diff options
author | Oleg Nesterov <oleg@redhat.com> | 2025-08-10 19:36:20 +0200 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2025-08-19 13:38:21 +0200 |
commit | d00f5232851c4895db8f0228881c31608feaab30 (patch) | |
tree | dc6bd438ecf7475e3b9ffee62406512ab13e464c /fs/proc/array.c | |
parent | b1afcaddd6c8475ee346a60525f9504965673e0c (diff) |
pid: change task_state() to use task_ppid_nr_ns()
to simplify the code.
Note that only tpid and max_fds really need rcu_read_lock(), we could move
task_ppid_nr_ns/task_tgid_nr_ns/task_numa_group_id/get_task_cred outside of
rcu read section.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Link: https://lore.kernel.org/20250810173620.GA20007@redhat.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/proc/array.c')
-rw-r--r-- | fs/proc/array.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/proc/array.c b/fs/proc/array.c index d6a0369caa93..69269745d73b 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -157,13 +157,11 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns, unsigned int max_fds = 0; rcu_read_lock(); - ppid = pid_alive(p) ? - task_tgid_nr_ns(rcu_dereference(p->real_parent), ns) : 0; - tracer = ptrace_parent(p); if (tracer) tpid = task_pid_nr_ns(tracer, ns); + ppid = task_ppid_nr_ns(p, ns); tgid = task_tgid_nr_ns(p, ns); ngid = task_numa_group_id(p); cred = get_task_cred(p); |