lkml.org 
[lkml]   [2012]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled"
    On 12/06/2012 07:59 PM, Greg Kroah-Hartman wrote:
    > 3.6-stable review patch. If anyone has any objections, please let me know.
    >
    > ------------------
    >
    > From: Mike Galbraith <efault@gmx.de>
    >
    > commit fd8ef11730f1d03d5d6555aa53126e9e34f52f12 upstream.
    >
    > This reverts commit 800d4d30c8f20bd728e5741a3b77c4859a613f7c.
    >
    > Between commits 8323f26ce342 ("sched: Fix race in task_group()") and
    > 800d4d30c8f2 ("sched, autogroup: Stop going ahead if autogroup is
    > disabled"), autogroup is a wreck.
    >
    > With both applied, all you have to do to crash a box is disable
    > autogroup during boot up, then reboot.. boom, NULL pointer dereference
    > due to commit 800d4d30c8f2 not allowing autogroup to move things, and
    > commit 8323f26ce342 making that the only way to switch runqueues:
    >
    > BUG: unable to handle kernel NULL pointer dereference at (null)
    > IP: [<ffffffff81063ac0>] effective_load.isra.43+0x50/0x90
    > Pid: 7047, comm: systemd-user-se Not tainted 3.6.8-smp #7 MEDIONPC MS-7502/MS-7502
    > RIP: effective_load.isra.43+0x50/0x90
    > Process systemd-user-se (pid: 7047, threadinfo ffff880221dde000, task ffff88022618b3a0)
    > Call Trace:
    > select_task_rq_fair+0x255/0x780
    > try_to_wake_up+0x156/0x2c0
    > wake_up_state+0xb/0x10
    > signal_wake_up+0x28/0x40
    > complete_signal+0x1d6/0x250
    > __send_signal+0x170/0x310
    > send_signal+0x40/0x80
    > do_send_sig_info+0x47/0x90
    > group_send_sig_info+0x4a/0x70
    > kill_pid_info+0x3a/0x60
    > sys_kill+0x97/0x1a0
    > ? vfs_read+0x120/0x160
    > ? sys_read+0x45/0x90
    > system_call_fastpath+0x16/0x1b
    > Code: 49 0f af 41 50 31 d2 49 f7 f0 48 83 f8 01 48 0f 46 c6 48 2b 07 48 8b bf 40 01 00 00 48 85 ff 74 3a 45 31 c0 48 8b 8f 50 01 00 00 <48> 8b 11 4c 8b 89 80 00 00 00 49 89 d2 48 01 d0 45 8b 59 58 4c
    > RIP [<ffffffff81063ac0>] effective_load.isra.43+0x50/0x90
    > RSP <ffff880221ddfbd8>
    > CR2: 0000000000000000
    >
    > Signed-off-by: Mike Galbraith <efault@gmx.de>
    > Acked-by: Ingo Molnar <mingo@kernel.org>
    > Cc: Yong Zhang <yong.zhang0@gmail.com>
    > Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    > Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    >
    > ---
    > kernel/sched/auto_group.c | 4 ----
    > kernel/sched/auto_group.h | 5 -----
    > 2 files changed, 9 deletions(-)
    >
    > --- a/kernel/sched/auto_group.c
    > +++ b/kernel/sched/auto_group.c
    > @@ -143,15 +143,11 @@ autogroup_move_group(struct task_struct
    >
    > p->signal->autogroup = autogroup_kref_get(ag);
    >
    > - if (!ACCESS_ONCE(sysctl_sched_autogroup_enabled))
    > - goto out;
    > -
    > t = p;
    > do {
    > sched_move_task(t);
    > } while_each_thread(p, t);
    >
    > -out:
    > unlock_task_sighand(p, &flags);
    > autogroup_kref_put(prev);
    > }
    > --- a/kernel/sched/auto_group.h
    > +++ b/kernel/sched/auto_group.h
    > @@ -4,11 +4,6 @@
    > #include <linux/rwsem.h>
    >
    > struct autogroup {
    > - /*
    > - * reference doesn't mean how many thread attach to this
    > - * autogroup now. It just stands for the number of task
    > - * could use this autogroup.
    > - */
    > struct kref kref;
    > struct task_group *tg;
    > struct rw_semaphore lock;
    >
    >
    > --
    > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html
    > Please read the FAQ at http://www.tux.org/lkml/
    Hi Ben,

    Will you also be including this patch in v3.5 stable? It has been
    tested and confirmed
    to resolve http://bugs.launchpad.net/bugs/1034099

    Sincerely,

    Joe Salisbury


    \
     
     \ /
      Last update: 2012-12-07 19:01    [W:8.440 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site