+++ /dev/null
-From stable-bounces@linux.kernel.org Thu Mar 26 23:25:10 2009
-Date: Thu, 26 Mar 2009 23:25:05 GMT
-Message-Id: <200903262325.n2QNP5lM020281@hera.kernel.org>
-From: Oleg Nesterov <oleg@redhat.com>
-To: stable@kernel.org
-Subject: posix timers: fix RLIMIT_CPU && fork()
-
-From: Oleg Nesterov <oleg@redhat.com>
-
-upstream commit: 37bebc70d7ad4144c571d74500db3bb26ec0c0eb
-
-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 cpu timers.
-
-This is the minimal fix for 2.6.29 (tested) and 2.6.28. The patch is not
-optimal, we need further cleanups here. With this patch update_rlimit_cpu()
-is not really needed, but I don't think it should be removed.
-
-The proper fix (I think) is:
-
- - set_process_cpu_timer() should just start the cputimer->running
- logic (it does), no need to change cputime_expires.xxx_exp
-
- - posix_cpu_timers_init_group() should set ->running when needed
-
- - fastpath_timer_check() can check ->running instead of
- task_cputime_zero(signal->cputime_expires)
-
-Reported-by: Peter Lojkin <ia6432@inbox.ru>
-Signed-off-by: Oleg Nesterov <oleg@redhat.com>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Roland McGrath <roland@redhat.com>
-Cc: <stable@kernel.org> [for 2.6.29.x]
-LKML-Reference: <20090323193411.GA17514@redhat.com>
-Signed-off-by: Ingo Molnar <mingo@elte.hu>
-Signed-off-by: Chris Wright <chrisw@sous-sol.org>
----
-Oleg, what about the other two patches you send?
-
- kernel/posix-cpu-timers.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/kernel/posix-cpu-timers.c
-+++ b/kernel/posix-cpu-timers.c
-@@ -1370,7 +1370,8 @@ static inline int fastpath_timer_check(s
- if (task_cputime_expired(&group_sample, &sig->cputime_expires))
- return 1;
- }
-- return 0;
-+
-+ return sig->rlim[RLIMIT_CPU].rlim_cur != RLIM_INFINITY;
- }
-
- /*