diff options
author | Andrew Morton <akpm@linux-foundation.org> | 2013-01-12 02:32:11 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-01-12 02:54:56 +0400 |
commit | 829199197a430dade2519d54f5545c4a094393b8 (patch) | |
tree | af50ca9af09b83fd2a5c76cad35bd0603eb33391 /include/uapi/linux/audit.h | |
parent | 0644ec0cc8a33fb654e348897ad7684e22a4b5d8 (diff) | |
download | linux-829199197a430dade2519d54f5545c4a094393b8.tar.xz |
kernel/audit.c: avoid negative sleep durations
audit_log_start() performs the same jiffies comparison in two places.
If sufficient time has elapsed between the two comparisons, the second
one produces a negative sleep duration:
schedule_timeout: wrong timeout value fffffffffffffff0
Pid: 6606, comm: trinity-child1 Not tainted 3.8.0-rc1+ #43
Call Trace:
schedule_timeout+0x305/0x340
audit_log_start+0x311/0x470
audit_log_exit+0x4b/0xfb0
__audit_syscall_exit+0x25f/0x2c0
sysret_audit+0x17/0x21
Fix it by performing the comparison a single time.
Reported-by: Dave Jones <davej@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Eric Paris <eparis@redhat.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/uapi/linux/audit.h')
0 files changed, 0 insertions, 0 deletions