OpenCloudOS-Kernel/arch/x86
Roland McGrath 0327559151 x86: auditsyscall: fix fastpath return value after reschedule
In the CONFIG_AUDITSYSCALL fast-path for x86 64-bit system calls,
we can pass a bad return value and/or error indication for the
system call to audit_syscall_exit().  This happens when
TIF_NEED_RESCHED was set as the system call returned, so we went
out to schedule() and came back to the exit-audit fast-path.  The
fix is to reload the user return value register from the pt_regs
before using it for audit_syscall_exit().

Both the 32-bit kernel's fast path and the 64-bit kernel's 32-bit
system call fast paths work slightly differently, so that they
always leave the fast path entirely to reschedule and don't return
there, so they don't have the analogous bugs.

Reported-by: Alexander Viro <aviro@redhat.com>
Signed-off-by: Roland McGrath <roland@redhat.com>
2010-07-21 17:44:12 -07:00
..
boot x86, setup: Set ax register in boot vga query 2010-06-10 15:24:29 -07:00
configs tracing: Rename FTRACE_SYSCALLS for tracepoints 2009-08-26 00:17:35 +02:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-05-03 11:28:58 +08:00
ia32 x86: correctly wire up the newuname system call 2010-04-20 09:17:21 -07:00
include/asm x86: Add i8042 pre-detection hook to x86_platform_ops 2010-07-07 17:05:06 -07:00
kernel x86: auditsyscall: fix fastpath return value after reschedule 2010-07-21 17:44:12 -07:00
kvm mm: add context argument to shrinker callback 2010-07-19 14:56:17 +10:00
lguest Merge branch 'ht-delete-2.6.35' into release 2010-05-28 16:20:35 -04:00
lib Merge branch 'x86-atomic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:40:05 -07:00
math-emu x86, fpu: Unbreak FPU emulation 2010-05-10 13:37:16 -07:00
mm rbtree: Undo augmented trees performance damage and regression 2010-07-05 14:43:50 +02:00
oprofile Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:19:03 -07:00
pci Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-07-19 13:19:32 -07:00
power PM / x86: Save/restore MISC_ENABLE register 2010-06-08 00:32:49 +02:00
tools x86: Remove trailing spaces in messages 2010-02-07 17:47:51 +01:00
vdso include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
video
xen xen: ensure timer tick is resumed even on CPU driving the resume 2010-06-03 09:34:04 +01:00
.gitignore add random binaries to .gitignore 2010-04-08 11:34:34 +02:00
Kbuild
Kconfig numa: x86_64: use generic percpu var numa_node_id() implementation 2010-05-27 09:12:57 -07:00
Kconfig.cpu Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:58:16 -07:00
Kconfig.debug Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:40:21 -07:00
Makefile x86: Use .cfi_sections for assembly code 2010-05-13 22:15:18 -07:00
Makefile_32.cpu Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-12-08 13:38:11 -08:00