• Mike Galbraith's avatar
    sched/autogroup: Fix crash on reboot when autogroup is disabled · 5258f386
    Mike Galbraith authored
    Due to these two commits:
    
      8323f26c sched: Fix race in task_group()
      800d4d30 sched, autogroup: Stop going ahead if autogroup is disabled
    
    ... autogroup scheduling's dynamic knobs are wrecked.
    
    With both patches applied, all you have to do to crash a box is
    disable autogroup during boot up, then reboot.. boom, NULL pointer
    dereference due to 800d4d30 not allowing autogroup to move things,
    and 8323f26c making that the only way to switch runqueues.
    
    Remove most of the (dysfunctional) knobs and turn the remaining
    sched_autogroup_enabled knob readonly.
    
    If the user fiddles with cgroups hereafter, once tasks
    are moved, autogroup won't mess with them again unless
    they call setsid().
    
    No knobs, no glitz, nada, just a cute little thing folks can
    turn on if they don't want to muck about with cgroups and/or
    systemd.
    Signed-off-by: default avatarMike Galbraith <efault@gmx.de>
    Cc: Xiaotian Feng <xtfeng@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Xiaotian Feng <dannyfeng@tencent.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: <stable@vger.kernel.org> # v3.6
    Link: http://lkml.kernel.org/r/1351451963.4999.8.camel@maggy.simpson.netSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    5258f386
auto_group.h 1.26 KB