]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Feb 2013 21:48:16 +0000 (13:48 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Feb 2013 21:48:16 +0000 (13:48 -0800)
added patches:
x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch

queue-3.0/series
queue-3.0/x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch [new file with mode: 0644]

index 398bc79c4a132ed1fe9f2b7cb3b6698865c0d4c6..a65e6d0ce0a05428a638a239429c4985a88f7fa2 100644 (file)
@@ -1,3 +1,4 @@
 drm-radeon-evergreen-wait-for-the-mc-to-settle-after-mc-blackout.patch
 drm-radeon-add-quirk-for-rv100-board.patch
 drm-radeon-calling-object_unrefer-when-creating-fb-failure.patch
+x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch
diff --git a/queue-3.0/x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch b/queue-3.0/x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch
new file mode 100644 (file)
index 0000000..26468f2
--- /dev/null
@@ -0,0 +1,53 @@
+From 40a1ef95da85843696fc3ebe5fce39b0db32669f Mon Sep 17 00:00:00 2001
+From: Jan Beulich <JBeulich@suse.com>
+Date: Wed, 30 Jan 2013 07:55:53 +0000
+Subject: x86-64: Replace left over sti/cli in ia32 audit exit code
+
+From: Jan Beulich <JBeulich@suse.com>
+
+commit 40a1ef95da85843696fc3ebe5fce39b0db32669f upstream.
+
+For some reason they didn't get replaced so far by their
+paravirt equivalents, resulting in code to be run with
+interrupts disabled that doesn't expect so (causing, in the
+observed case, a BUG_ON() to trigger) when syscall auditing is
+enabled.
+
+David (Cc-ed) came up with an identical fix, so likely this can
+be taken to count as an ack from him.
+
+Reported-by: Peter Moody <pmoody@google.com>
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Cc: David Vrabel <david.vrabel@citrix.com>
+Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+Link: http://lkml.kernel.org/r/5108E01902000078000BA9C5@nat28.tlf.novell.com
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+Cc: David Vrabel <david.vrabel@citrix.com>
+Tested-by: Peter Moody <pmoody@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/ia32/ia32entry.S |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/ia32/ia32entry.S
++++ b/arch/x86/ia32/ia32entry.S
+@@ -208,7 +208,7 @@ sysexit_from_sys_call:
+       testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),TI_flags(%r10)
+       jnz ia32_ret_from_sys_call
+       TRACE_IRQS_ON
+-      sti
++      ENABLE_INTERRUPTS(CLBR_NONE)
+       movl %eax,%esi          /* second arg, syscall return value */
+       cmpl $0,%eax            /* is it < 0? */
+       setl %al                /* 1 if so, 0 if not */
+@@ -218,7 +218,7 @@ sysexit_from_sys_call:
+       GET_THREAD_INFO(%r10)
+       movl RAX-ARGOFFSET(%rsp),%eax   /* reload syscall return value */
+       movl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),%edi
+-      cli
++      DISABLE_INTERRUPTS(CLBR_NONE)
+       TRACE_IRQS_OFF
+       testl %edi,TI_flags(%r10)
+       jz \exit