Commit 81dabb46 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds

exit.c: 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: default avatarOleg Nesterov <oleg@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3f418548
...@@ -1950,8 +1950,6 @@ extern struct task_struct *find_task_by_vpid(pid_t nr); ...@@ -1950,8 +1950,6 @@ extern struct task_struct *find_task_by_vpid(pid_t nr);
extern struct task_struct *find_task_by_pid_ns(pid_t nr, extern struct task_struct *find_task_by_pid_ns(pid_t nr,
struct pid_namespace *ns); struct pid_namespace *ns);
extern void __set_special_pids(struct pid *pid);
/* per-UID process charging. */ /* per-UID process charging. */
extern struct user_struct * alloc_uid(kuid_t); extern struct user_struct * alloc_uid(kuid_t);
static inline struct user_struct *get_uid(struct user_struct *u) static inline struct user_struct *get_uid(struct user_struct *u)
......
...@@ -312,17 +312,6 @@ kill_orphaned_pgrp(struct task_struct *tsk, struct task_struct *parent) ...@@ -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. * Let kernel threads use this to say that they allow a certain signal.
* Must not be used if kthread was cloned with CLONE_SIGHAND. * Must not be used if kthread was cloned with CLONE_SIGHAND.
......
...@@ -1309,6 +1309,17 @@ SYSCALL_DEFINE1(getsid, pid_t, pid) ...@@ -1309,6 +1309,17 @@ SYSCALL_DEFINE1(getsid, pid_t, pid)
return retval; 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) SYSCALL_DEFINE0(setsid)
{ {
struct task_struct *group_leader = current->group_leader; struct task_struct *group_leader = current->group_leader;
...@@ -1328,7 +1339,7 @@ SYSCALL_DEFINE0(setsid) ...@@ -1328,7 +1339,7 @@ SYSCALL_DEFINE0(setsid)
goto out; goto out;
group_leader->signal->leader = 1; group_leader->signal->leader = 1;
__set_special_pids(sid); set_special_pids(sid);
proc_clear_tty(group_leader); proc_clear_tty(group_leader);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment