]> git.hungrycats.org Git - linux/commit
[PATCH] Off-by-one error for SIGXCPU / RLIMIT_CPU checking
authorMichael Kerrisk <michael.kerrisk@gmx.net>
Mon, 2 Aug 2004 03:31:12 +0000 (20:31 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 2 Aug 2004 03:31:12 +0000 (20:31 -0700)
commit81fd00e2e58911325c794b6f98d683ecb7db2b04
tree10dc7924c324e3aade4e92c373161cca0cdaf020
parentb0b6a9b776df159db5759b669a4bd6c73f91a5a4
[PATCH] Off-by-one error for SIGXCPU / RLIMIT_CPU checking

There is a lonstanding off-by-one error that results from an incorrect
comparison when checking whether a process has consumed CPU time in
excess of its RLIMIT_CPU limits.

This means, for example, that if we use setrlimit() to set the soft CPU
limit (rlim_cur) to 5 seconds and the hard limit (rlim_max) to 10 seconds,
then the process only receives a SIGXCPU signal after consuming 6 seconds
of CPU time, and, if it continues consuming CPU after handling that
signal, only receives SIGKILL after consuming 11 seconds of CPU time.

The fix is trivial.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/timer.c