[PATCH] pids: kill now unused signal_struct-> __pgrp/__session andfriends

From: Oleg Nesterov
Date: Sun Jan 18 2009 - 09:37:45 EST


On top of
[PATCH] autofs: fix the wrong usage of the deprecated task_pgrp_nr()
[PATCH] autofs4: turn ->oz_pgrp into "struct pid *"
[PATCH] coda: alloc_upcall: s/task_pgrp_nr/task_pgrp_vnr/

task_pgrp_nr() was wiped from fs/ code recently, task_session_nr() has no
callers since 2e2ba22ea4fd4bb85f0fa37c521066db6775cbef. __pgrp/__session
become write-only. Kill them and the related helpers.

The change in drivers/char/tty_io.c is cosmetic, but hopefully makes sense
anyway.

Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

--- CUR/include/linux/sched.h~KILL_S_G_ID 2009-01-18 04:39:12.000000000 +0100
+++ CUR/include/linux/sched.h 2009-01-18 14:10:08.000000000 +0100
@@ -531,25 +531,8 @@ struct signal_struct {

struct list_head cpu_timers[3];

- /* job control IDs */
-
- /*
- * pgrp and session fields are deprecated.
- * use the task_session_Xnr and task_pgrp_Xnr routines below
- */
-
- union {
- pid_t pgrp __deprecated;
- pid_t __pgrp;
- };
-
struct pid *tty_old_pgrp;

- union {
- pid_t session __deprecated;
- pid_t __session;
- };
-
/* boolean value for session group leader */
int leader;

@@ -1436,16 +1419,6 @@ static inline int rt_task(struct task_st
return rt_prio(p->prio);
}

-static inline void set_task_session(struct task_struct *tsk, pid_t session)
-{
- tsk->signal->__session = session;
-}
-
-static inline void set_task_pgrp(struct task_struct *tsk, pid_t pgrp)
-{
- tsk->signal->__pgrp = pgrp;
-}
-
static inline struct pid *task_pid(struct task_struct *task)
{
return task->pids[PIDTYPE_PID].pid;
@@ -1521,11 +1494,6 @@ static inline pid_t task_tgid_vnr(struct
}


-static inline pid_t task_pgrp_nr(struct task_struct *tsk)
-{
- return tsk->signal->__pgrp;
-}
-
static inline pid_t task_pgrp_nr_ns(struct task_struct *tsk,
struct pid_namespace *ns)
{
@@ -1538,11 +1506,6 @@ static inline pid_t task_pgrp_vnr(struct
}


-static inline pid_t task_session_nr(struct task_struct *tsk)
-{
- return tsk->signal->__session;
-}
-
static inline pid_t task_session_nr_ns(struct task_struct *tsk,
struct pid_namespace *ns)
{
--- CUR/kernel/exit.c~KILL_S_G_ID 2009-01-16 02:51:48.000000000 +0100
+++ CUR/kernel/exit.c 2009-01-18 14:16:18.000000000 +0100
@@ -359,16 +359,12 @@ static void reparent_to_kthreadd(void)
void __set_special_pids(struct pid *pid)
{
struct task_struct *curr = current->group_leader;
- pid_t nr = pid_nr(pid);

- if (task_session(curr) != pid) {
+ if (task_session(curr) != pid)
change_pid(curr, PIDTYPE_SID, pid);
- set_task_session(curr, nr);
- }
- if (task_pgrp(curr) != pid) {
+
+ if (task_pgrp(curr) != pid)
change_pid(curr, PIDTYPE_PGID, pid);
- set_task_pgrp(curr, nr);
- }
}

static void set_special_pids(struct pid *pid)
--- CUR/kernel/fork.c~KILL_S_G_ID 2009-01-12 23:07:49.000000000 +0100
+++ CUR/kernel/fork.c 2009-01-18 14:11:56.000000000 +0100
@@ -1259,8 +1259,6 @@ static struct task_struct *copy_process(
p->signal->leader_pid = pid;
tty_kref_put(p->signal->tty);
p->signal->tty = tty_kref_get(current->signal->tty);
- set_task_pgrp(p, task_pgrp_nr(current));
- set_task_session(p, task_session_nr(current));
attach_pid(p, PIDTYPE_PGID, task_pgrp(current));
attach_pid(p, PIDTYPE_SID, task_session(current));
list_add_tail_rcu(&p->tasks, &init_task.tasks);
--- CUR/kernel/sys.c~KILL_S_G_ID 2009-01-12 23:07:51.000000000 +0100
+++ CUR/kernel/sys.c 2009-01-18 14:14:08.000000000 +0100
@@ -1003,10 +1003,8 @@ asmlinkage long sys_setpgid(pid_t pid, p
if (err)
goto out;

- if (task_pgrp(p) != pgrp) {
+ if (task_pgrp(p) != pgrp)
change_pid(p, PIDTYPE_PGID, pgrp);
- set_task_pgrp(p, pid_nr(pgrp));
- }

err = 0;
out:
--- CUR/drivers/char/tty_io.c~KILL_S_G_ID 2009-01-12 23:07:40.000000000 +0100
+++ CUR/drivers/char/tty_io.c 2009-01-18 14:50:05.000000000 +0100
@@ -2680,7 +2680,7 @@ void __do_SAK(struct tty_struct *tty)
/* Kill the entire session */
do_each_pid_task(session, PIDTYPE_SID, p) {
printk(KERN_NOTICE "SAK: killed process %d"
- " (%s): task_session_nr(p)==tty->session\n",
+ " (%s): task_session(p)==tty->session\n",
task_pid_nr(p), p->comm);
send_sig(SIGKILL, p, 1);
} while_each_pid_task(session, PIDTYPE_SID, p);
@@ -2690,7 +2690,7 @@ void __do_SAK(struct tty_struct *tty)
do_each_thread(g, p) {
if (p->signal->tty == tty) {
printk(KERN_NOTICE "SAK: killed process %d"
- " (%s): task_session_nr(p)==tty->session\n",
+ " (%s): task_session(p)==tty->session\n",
task_pid_nr(p), p->comm);
send_sig(SIGKILL, p, 1);
continue;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/