From: Andrew Morton Cc: Cedric Le Goater Signed-off-by: Andrew Morton --- fs/proc/array.c | 2 +- include/linux/sched.h | 12 +++++++++++- kernel/exit.c | 2 +- kernel/fork.c | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff -puN fs/proc/array.c~add-process_session-helper-routine-deprecate-old-field-fix-warnings fs/proc/array.c --- a/fs/proc/array.c~add-process_session-helper-routine-deprecate-old-field-fix-warnings +++ a/fs/proc/array.c @@ -381,7 +381,7 @@ static int do_task_stat(struct task_stru stime = cputime_add(stime, sig->stime); } - sid = sig->session; + signal_session(sig); pgid = process_group(task); ppid = rcu_dereference(task->real_parent)->tgid; diff -puN include/linux/sched.h~add-process_session-helper-routine-deprecate-old-field-fix-warnings include/linux/sched.h --- a/include/linux/sched.h~add-process_session-helper-routine-deprecate-old-field-fix-warnings +++ a/include/linux/sched.h @@ -1048,9 +1048,19 @@ static inline pid_t process_group(struct return tsk->signal->pgrp; } +static inline pid_t signal_session(struct signal_struct *sig) +{ + return sig->__session; +} + static inline pid_t process_session(struct task_struct *tsk) { - return tsk->signal->__session; + return signal_session(tsk->signal); +} + +static inline void set_signal_session(struct signal_struct *sig, pid_t session) +{ + sig->__session = session; } static inline struct pid *task_pid(struct task_struct *task) diff -puN kernel/exit.c~add-process_session-helper-routine-deprecate-old-field-fix-warnings kernel/exit.c --- a/kernel/exit.c~add-process_session-helper-routine-deprecate-old-field-fix-warnings +++ a/kernel/exit.c @@ -304,7 +304,7 @@ void __set_special_pids(pid_t session, p if (process_session(curr) != session) { detach_pid(curr, PIDTYPE_SID); - curr->signal->session = session; + set_signal_session(curr->signal, session); attach_pid(curr, PIDTYPE_SID, session); } if (process_group(curr) != pgrp) { diff -puN kernel/fork.c~add-process_session-helper-routine-deprecate-old-field-fix-warnings kernel/fork.c --- a/kernel/fork.c~add-process_session-helper-routine-deprecate-old-field-fix-warnings +++ a/kernel/fork.c @@ -1260,7 +1260,7 @@ static struct task_struct *copy_process( if (thread_group_leader(p)) { p->signal->tty = current->signal->tty; p->signal->pgrp = process_group(current); - p->signal->session = process_session(current); + set_signal_session(p->signal, process_session(current)); attach_pid(p, PIDTYPE_PGID, process_group(p)); attach_pid(p, PIDTYPE_SID, process_session(p)); _