lkml.org 
[lkml]   [2009]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] pids: kill now unused signal_struct-> __pgrp/__session and friends
    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@redhat.com>

    --- 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;


    \
     
     \ /
      Last update: 2009-01-18 15:41    [W:0.033 / U:0.808 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site