Commit e1c2296c authored by Peter Hurley's avatar Peter Hurley Committed by Greg Kroah-Hartman

tty: Move session_of_pgrp() and make static

tiocspgrp() is the lone caller of session_of_pgrp(); relocate and
limit to file scope.
Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
Reviewed-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2c411c11
...@@ -2515,6 +2515,27 @@ struct pid *tty_get_pgrp(struct tty_struct *tty) ...@@ -2515,6 +2515,27 @@ struct pid *tty_get_pgrp(struct tty_struct *tty)
} }
EXPORT_SYMBOL_GPL(tty_get_pgrp); EXPORT_SYMBOL_GPL(tty_get_pgrp);
/*
* This checks not only the pgrp, but falls back on the pid if no
* satisfactory pgrp is found. I dunno - gdb doesn't work correctly
* without this...
*
* The caller must hold rcu lock or the tasklist lock.
*/
static struct pid *session_of_pgrp(struct pid *pgrp)
{
struct task_struct *p;
struct pid *sid = NULL;
p = pid_task(pgrp, PIDTYPE_PGID);
if (p == NULL)
p = pid_task(pgrp, PIDTYPE_PID);
if (p != NULL)
sid = task_session(p);
return sid;
}
/** /**
* tiocgpgrp - get process group * tiocgpgrp - get process group
* @tty: tty passed by user * @tty: tty passed by user
......
...@@ -411,9 +411,6 @@ extern int __kernel_text_address(unsigned long addr); ...@@ -411,9 +411,6 @@ extern int __kernel_text_address(unsigned long addr);
extern int kernel_text_address(unsigned long addr); extern int kernel_text_address(unsigned long addr);
extern int func_ptr_is_kernel_text(void *ptr); extern int func_ptr_is_kernel_text(void *ptr);
struct pid;
extern struct pid *session_of_pgrp(struct pid *pgrp);
unsigned long int_sqrt(unsigned long); unsigned long int_sqrt(unsigned long);
extern void bust_spinlocks(int yes); extern void bust_spinlocks(int yes);
......
...@@ -214,27 +214,6 @@ void release_task(struct task_struct *p) ...@@ -214,27 +214,6 @@ void release_task(struct task_struct *p)
goto repeat; goto repeat;
} }
/*
* This checks not only the pgrp, but falls back on the pid if no
* satisfactory pgrp is found. I dunno - gdb doesn't work correctly
* without this...
*
* The caller must hold rcu lock or the tasklist lock.
*/
struct pid *session_of_pgrp(struct pid *pgrp)
{
struct task_struct *p;
struct pid *sid = NULL;
p = pid_task(pgrp, PIDTYPE_PGID);
if (p == NULL)
p = pid_task(pgrp, PIDTYPE_PID);
if (p != NULL)
sid = task_session(p);
return sid;
}
/* /*
* Determine if a process group is "orphaned", according to the POSIX * Determine if a process group is "orphaned", according to the POSIX
* definition in 2.2.2.52. Orphaned process groups are not to be affected * definition in 2.2.2.52. Orphaned process groups are not to be affected
......
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