• Rusty Russell's avatar
    sched: add new API sched_setscheduler_nocheck: add a flag to control access checks · 961ccddd
    Rusty Russell authored
    Hidehiro Kawai noticed that sched_setscheduler() can fail in
    stop_machine: it calls sched_setscheduler() from insmod, which can
    have CAP_SYS_MODULE without CAP_SYS_NICE.
    
    Two cases could have failed, so are changed to sched_setscheduler_nocheck:
      kernel/softirq.c:cpu_callback()
    	- CPU hotplug callback
      kernel/stop_machine.c:__stop_machine_run()
    	- Called from various places, including modprobe()
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    Cc: Jeremy Fitzhardinge <jeremy@goop.org>
    Cc: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: linux-mm@kvack.org
    Cc: sugita <yumiko.sugita.yf@hitachi.com>
    Cc: Satoshi OSHIMA <satoshi.oshima.fk@hitachi.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    961ccddd
softirq.c 15.5 KB