Loading include/linux/posix-timers.h +1 −1 Original line number Diff line number Diff line Loading @@ -117,6 +117,6 @@ void set_process_cpu_timer(struct task_struct *task, unsigned int clock_idx, long clock_nanosleep_restart(struct restart_block *restart_block); void update_rlimit_cpu(unsigned long rlim_new); void update_rlimit_cpu(struct task_struct *task, unsigned long rlim_new); #endif kernel/posix-cpu-timers.c +4 −4 Original line number Diff line number Diff line Loading @@ -16,13 +16,13 @@ * siglock protection since other code may update expiration cache as * well. */ void update_rlimit_cpu(unsigned long rlim_new) void update_rlimit_cpu(struct task_struct *task, unsigned long rlim_new) { cputime_t cputime = secs_to_cputime(rlim_new); spin_lock_irq(¤t->sighand->siglock); set_process_cpu_timer(current, CPUCLOCK_PROF, &cputime, NULL); spin_unlock_irq(¤t->sighand->siglock); spin_lock_irq(&task->sighand->siglock); set_process_cpu_timer(task, CPUCLOCK_PROF, &cputime, NULL); spin_unlock_irq(&task->sighand->siglock); } static int check_clock(const clockid_t which_clock) Loading kernel/sys.c +1 −1 Original line number Diff line number Diff line Loading @@ -1320,7 +1320,7 @@ SYSCALL_DEFINE2(setrlimit, unsigned int, resource, struct rlimit __user *, rlim) if (new_rlim.rlim_cur == RLIM_INFINITY) goto out; update_rlimit_cpu(new_rlim.rlim_cur); update_rlimit_cpu(current, new_rlim.rlim_cur); out: return 0; } Loading security/selinux/hooks.c +2 −1 Original line number Diff line number Diff line Loading @@ -2338,7 +2338,8 @@ static void selinux_bprm_committing_creds(struct linux_binprm *bprm) initrlim = init_task.signal->rlim + i; rlim->rlim_cur = min(rlim->rlim_max, initrlim->rlim_cur); } update_rlimit_cpu(current->signal->rlim[RLIMIT_CPU].rlim_cur); update_rlimit_cpu(current, current->signal->rlim[RLIMIT_CPU].rlim_cur); } } Loading Loading
include/linux/posix-timers.h +1 −1 Original line number Diff line number Diff line Loading @@ -117,6 +117,6 @@ void set_process_cpu_timer(struct task_struct *task, unsigned int clock_idx, long clock_nanosleep_restart(struct restart_block *restart_block); void update_rlimit_cpu(unsigned long rlim_new); void update_rlimit_cpu(struct task_struct *task, unsigned long rlim_new); #endif
kernel/posix-cpu-timers.c +4 −4 Original line number Diff line number Diff line Loading @@ -16,13 +16,13 @@ * siglock protection since other code may update expiration cache as * well. */ void update_rlimit_cpu(unsigned long rlim_new) void update_rlimit_cpu(struct task_struct *task, unsigned long rlim_new) { cputime_t cputime = secs_to_cputime(rlim_new); spin_lock_irq(¤t->sighand->siglock); set_process_cpu_timer(current, CPUCLOCK_PROF, &cputime, NULL); spin_unlock_irq(¤t->sighand->siglock); spin_lock_irq(&task->sighand->siglock); set_process_cpu_timer(task, CPUCLOCK_PROF, &cputime, NULL); spin_unlock_irq(&task->sighand->siglock); } static int check_clock(const clockid_t which_clock) Loading
kernel/sys.c +1 −1 Original line number Diff line number Diff line Loading @@ -1320,7 +1320,7 @@ SYSCALL_DEFINE2(setrlimit, unsigned int, resource, struct rlimit __user *, rlim) if (new_rlim.rlim_cur == RLIM_INFINITY) goto out; update_rlimit_cpu(new_rlim.rlim_cur); update_rlimit_cpu(current, new_rlim.rlim_cur); out: return 0; } Loading
security/selinux/hooks.c +2 −1 Original line number Diff line number Diff line Loading @@ -2338,7 +2338,8 @@ static void selinux_bprm_committing_creds(struct linux_binprm *bprm) initrlim = init_task.signal->rlim + i; rlim->rlim_cur = min(rlim->rlim_max, initrlim->rlim_cur); } update_rlimit_cpu(current->signal->rlim[RLIMIT_CPU].rlim_cur); update_rlimit_cpu(current, current->signal->rlim[RLIMIT_CPU].rlim_cur); } } Loading