On 26/02/13 17:32, [email protected] wrote:
> 
> The patch below does not apply to the 3.8-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <[email protected]>.

This patch was merged into 3.8-rc7 so it does not need to be applied to 3.8.

David

> ------------------ original commit in Linus's tree ------------------
> 
> From 313751fa7bb9364f320727c2af0735dc9104d188 Mon Sep 17 00:00:00 2001
> From: Jan Beulich <[email protected]>
> Date: Wed, 30 Jan 2013 07:55:53 +0000
> Subject: [PATCH] x86-64: Replace left over sti/cli in ia32 audit exit code
> 
> 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 <[email protected]>
> Signed-off-by: Jan Beulich <[email protected]>
> Cc: David Vrabel <[email protected]>
> Cc: Konrad Rzeszutek Wilk <[email protected]>
> Link: http://lkml.kernel.org/r/[email protected]
> Signed-off-by: Ingo Molnar <[email protected]>
> Cc: [email protected]
> Cc: Konrad Rzeszutek Wilk <[email protected]>
> Cc: David Vrabel <[email protected]>
> Tested-by: Peter Moody <[email protected]>
> 
> diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S
> index 102ff7c..142c4ce 100644
> --- a/arch/x86/ia32/ia32entry.S
> +++ b/arch/x86/ia32/ia32entry.S
> @@ -207,7 +207,7 @@ sysexit_from_sys_call:
>       testl $(_TIF_ALLWORK_MASK & 
> ~_TIF_SYSCALL_AUDIT),TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET)
>       jnz ia32_ret_from_sys_call
>       TRACE_IRQS_ON
> -     sti
> +     ENABLE_INTERRUPTS(CLBR_NONE)
>       movl %eax,%esi          /* second arg, syscall return value */
>       cmpl $-MAX_ERRNO,%eax   /* is it an error ? */
>       jbe 1f
> @@ -217,7 +217,7 @@ sysexit_from_sys_call:
>       call __audit_syscall_exit
>       movq RAX-ARGOFFSET(%rsp),%rax   /* reload syscall return value */
>       movl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),%edi
> -     cli
> +     DISABLE_INTERRUPTS(CLBR_NONE)
>       TRACE_IRQS_OFF
>       testl %edi,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET)
>       jz \exit
> 

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to