unexport __set_special_pids()
PATCH 1/1 unexport __set_special_pids()
Move __set_special_pids() from exit.c to sys.c close to its single caller and make it static.
And rename it to set_special_pids(), another helper with this name has gone away.
Signed-off-by Oleg Nesterov <[email protected]>
--- include/linux/sched.h | 2 -- kernel/exit.c | 11 ----------- kernel/sys.c | 13 ++++++++++++- 3 files changed, 12 insertions(+), 14 deletions(-)
include/linux/sched.h +0 -2
@@ -1955,8 +1955,6 @@ extern struct task_struct *find_task_by_vpid(pid_t nr);extern struct task_struct *find_task_by_pid_ns (pid_t nr,struct pid_namespace *ns); -extern void __set_special_pids (struct pid *pid); -/* per-UID process charging. */ extern struct user_struct *alloc_uid (kuid_t );static inline struct user_struct *get_uid (struct user_struct *u)
kernel/exit.c +0 -11
@@ -312,17 +312,6 @@ kill_orphaned_pgrp(struct task_struct *tsk, struct task_struct *parent) } } -void __set_special_pids (struct pid *pid) -{ -struct task_struct *curr = current->group_leader; - -if (task_session (curr) != pid) -change_pid (curr,PIDTYPE_SID , pid); - -if (task_pgrp (curr) != pid) -change_pid (curr,PIDTYPE_PGID , pid); -} -/* * Let kernel threads use this to say that they allow a certain signal. * Must not be used if kthread was cloned with CLONE_SIGHAND.
kernel/sys.c +12 -1
@@ -1286,6 +1286,17 @@ out:return retval; } +static void set_special_pids (struct pid *pid) +{ +struct task_struct *curr = current->group_leader; + +if (task_session (curr) != pid) +change_pid (curr,PIDTYPE_SID , pid); + +if (task_pgrp (curr) != pid) +change_pid (curr,PIDTYPE_PGID , pid); +} +SYSCALL_DEFINE0 (setsid) {struct task_struct *group_leader = current->group_leader;
@@ -1305,7 +1316,7 @@ SYSCALL_DEFINE0(setsid) goto out; group_leader->signal->leader =1 ; -__set_special_pids (sid); +set_special_pids (sid);proc_clear_tty (group_leader);
Signature · 1 line
1.5.5.1