On 12/23, Richard Guy Briggs wrote:
+static inline pid_t task_ppid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns)
+{
+ pid_t pid;
+
+ rcu_read_lock();
+ pid = pid_alive(tsk) ?
+ task_pid_nr_ns(rcu_dereference(tsk->real_parent), ns) : 0;
+ rcu_read_unlock();
+
+ return pid;
+}
I do not really mind, but perhaps
pid_t pid = 0;
rcu_read_lock();
if (pid_alive(task))
pid = task_pid_nr_ns(rcu_dereference(tsk->real_parent);
rcu_read_unlock();
return pid;
looks a bit cleaner.
+static inline pid_t task_ppid_nr(struct task_struct *tsk)
+{
+ pid_t pid;
+
+ rcu_read_lock();
+ pid = pid_alive(tsk) ?
+ task_pid_nr(rcu_dereference(tsk->real_parent)) : 0;
+ rcu_read_unlock();
+
+ return pid;
+}
It could simply do
return task_ppid_nr_ns(tsk, init_pid_ns);
but again, I won't argue.
Oleg.