• O
    rlimits: make sure ->rlim_max never grows in sys_setrlimit · 2fb9d268
    Oleg Nesterov 提交于
    Mostly preparation for Jiri's changes, but probably makes sense anyway.
    
    sys_setrlimit() checks new_rlim.rlim_max <= old_rlim->rlim_max, but when
    it takes task_lock() old_rlim->rlim_max can be already lowered. Move this
    check under task_lock().
    
    Currently this is not important, we can only race with our sub-thread,
    this means the application is stupid. But when we change the code to allow
    the update of !current task's limits, it becomes important to make sure
    ->rlim_max can be lowered "reliably" even if we race with the application
    doing sys_setrlimit().
    Signed-off-by: NOleg Nesterov <oleg@redhat.com>
    Signed-off-by: NJiri Slaby <jslaby@suse.cz>
    2fb9d268
sys.c 38.3 KB