diff options
author | Oleg Nesterov <oleg@redhat.com> | 2009-03-27 01:06:07 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-08 17:51:38 +0200 |
commit | 6279a751fe096a21dc7704e918d570d3ff06e769 (patch) | |
tree | 2b24e0ecf004802a890f77195489f8aa76fa745d /include/linux/spinlock_api_smp.h | |
parent | 633fe795b80693a8198e7d82f66538a72d2bbba2 (diff) |
posix-timers: fix RLIMIT_CPU && fork()
See http://bugzilla.kernel.org/show_bug.cgi?id=12911
copy_signal() copies signal->rlim, but RLIMIT_CPU is "lost". Because
posix_cpu_timers_init_group() sets cputime_expires.prof_exp = 0 and thus
fastpath_timer_check() returns false unless we have other expired cpu timers.
Change copy_signal() to set cputime_expires.prof_exp if we have RLIMIT_CPU.
Also, set cputimer.running = 1 in that case. This is not strictly necessary,
but imho makes sense.
Reported-by: Peter Lojkin <ia6432@inbox.ru>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Peter Lojkin <ia6432@inbox.ru>
Cc: Roland McGrath <roland@redhat.com>
Cc: stable@kernel.org
LKML-Reference: <20090327000607.GA10104@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/spinlock_api_smp.h')
0 files changed, 0 insertions, 0 deletions