Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a47afb0f authored by Pavel Emelianov's avatar Pavel Emelianov Committed by Linus Torvalds
Browse files

pid namespaces: round up the API



The set of functions process_session, task_session, process_group and
task_pgrp is confusing, as the names can be mixed with each other when looking
at the code for a long time.

The proposals are to
* equip the functions that return the integer with _nr suffix to
  represent that fact,
* and to make all functions work with task (not process) by making
  the common prefix of the same name.

For monotony the routines signal_session() and set_signal_session() are
replaced with task_session_nr() and set_task_session(), especially since they
are only used with the explicit task->signal dereference.

Signed-off-by: default avatarPavel Emelianov <xemul@openvz.org>
Acked-by: default avatarSerge E. Hallyn <serue@us.ibm.com>
Cc: Kirill Korotaev <dev@openvz.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Cedric Le Goater <clg@fr.ibm.com>
Cc: Herbert Poetzl <herbert@13thfloor.at>
Cc: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 858d72ea
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1172,8 +1172,8 @@ static int irix_core_dump(long signr, struct pt_regs *regs, struct file *file, u
	prstatus.pr_sighold = current->blocked.sig[0];
	prstatus.pr_sighold = current->blocked.sig[0];
	psinfo.pr_pid = prstatus.pr_pid = current->pid;
	psinfo.pr_pid = prstatus.pr_pid = current->pid;
	psinfo.pr_ppid = prstatus.pr_ppid = current->parent->pid;
	psinfo.pr_ppid = prstatus.pr_ppid = current->parent->pid;
	psinfo.pr_pgrp = prstatus.pr_pgrp = process_group(current);
	psinfo.pr_pgrp = prstatus.pr_pgrp = task_pgrp_nr(current);
	psinfo.pr_sid = prstatus.pr_sid = process_session(current);
	psinfo.pr_sid = prstatus.pr_sid = task_session_nr(current);
	if (current->pid == current->tgid) {
	if (current->pid == current->tgid) {
		/*
		/*
		 * This is the record for the group leader.  Add in the
		 * This is the record for the group leader.  Add in the
+1 −1
Original line number Original line Diff line number Diff line
@@ -609,7 +609,7 @@ asmlinkage int irix_waitsys(int type, int pid,
		p = list_entry(_p, struct task_struct, sibling);
		p = list_entry(_p, struct task_struct, sibling);
		if ((type == IRIX_P_PID) && p->pid != pid)
		if ((type == IRIX_P_PID) && p->pid != pid)
			continue;
			continue;
		if ((type == IRIX_P_PGID) && process_group(p) != pid)
		if ((type == IRIX_P_PGID) && task_pgrp_nr(p) != pid)
			continue;
			continue;
		if ((p->exit_signal != SIGCHLD))
		if ((p->exit_signal != SIGCHLD))
			continue;
			continue;
+2 −2
Original line number Original line Diff line number Diff line
@@ -763,11 +763,11 @@ asmlinkage int irix_setpgrp(int flags)
	printk("[%s:%d] setpgrp(%d) ", current->comm, current->pid, flags);
	printk("[%s:%d] setpgrp(%d) ", current->comm, current->pid, flags);
#endif
#endif
	if(!flags)
	if(!flags)
		error = process_group(current);
		error = task_pgrp_nr(current);
	else
	else
		error = sys_setsid();
		error = sys_setsid();
#ifdef DEBUG_PROCGRPS
#ifdef DEBUG_PROCGRPS
	printk("returning %d\n", process_group(current));
	printk("returning %d\n", task_pgrp_nr(current));
#endif
#endif


	return error;
	return error;
+2 −2
Original line number Original line Diff line number Diff line
@@ -415,7 +415,7 @@ asmlinkage int solaris_procids(int cmd, s32 pid, s32 pgid)
	
	
	switch (cmd) {
	switch (cmd) {
	case 0: /* getpgrp */
	case 0: /* getpgrp */
		return process_group(current);
		return task_pgrp_nr(current);
	case 1: /* setpgrp */
	case 1: /* setpgrp */
		{
		{
			int (*sys_setpgid)(pid_t,pid_t) =
			int (*sys_setpgid)(pid_t,pid_t) =
@@ -426,7 +426,7 @@ asmlinkage int solaris_procids(int cmd, s32 pid, s32 pgid)
			ret = sys_setpgid(0, 0);
			ret = sys_setpgid(0, 0);
			if (ret) return ret;
			if (ret) return ret;
			proc_clear_tty(current);
			proc_clear_tty(current);
			return process_group(current);
			return task_pgrp_nr(current);
		}
		}
	case 2: /* getsid */
	case 2: /* getsid */
		{
		{
+2 −2
Original line number Original line Diff line number Diff line
@@ -3528,7 +3528,7 @@ void __do_SAK(struct tty_struct *tty)
	/* Kill the entire session */
	/* Kill the entire session */
	do_each_pid_task(session, PIDTYPE_SID, p) {
	do_each_pid_task(session, PIDTYPE_SID, p) {
		printk(KERN_NOTICE "SAK: killed process %d"
		printk(KERN_NOTICE "SAK: killed process %d"
			" (%s): process_session(p)==tty->session\n",
			" (%s): task_session_nr(p)==tty->session\n",
			p->pid, p->comm);
			p->pid, p->comm);
		send_sig(SIGKILL, p, 1);
		send_sig(SIGKILL, p, 1);
	} while_each_pid_task(session, PIDTYPE_SID, p);
	} while_each_pid_task(session, PIDTYPE_SID, p);
@@ -3538,7 +3538,7 @@ void __do_SAK(struct tty_struct *tty)
	do_each_thread(g, p) {
	do_each_thread(g, p) {
		if (p->signal->tty == tty) {
		if (p->signal->tty == tty) {
			printk(KERN_NOTICE "SAK: killed process %d"
			printk(KERN_NOTICE "SAK: killed process %d"
			    " (%s): process_session(p)==tty->session\n",
			    " (%s): task_session_nr(p)==tty->session\n",
			    p->pid, p->comm);
			    p->pid, p->comm);
			send_sig(SIGKILL, p, 1);
			send_sig(SIGKILL, p, 1);
			continue;
			continue;
Loading