stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] x86/entry/compat: Add missing CLAC to entry_INT80_32
@ 2016-02-24 20:18 Andy Lutomirski
  2016-03-04 18:46 ` [3.xx-stable backport] " Kamal Mostafa
  0 siblings, 1 reply; 5+ messages in thread
From: Andy Lutomirski @ 2016-02-24 20:18 UTC (permalink / raw)
  To: x86
  Cc: Brian Gerst, linux-kernel@vger.kernel.org, Borislav Petkov,
	Andy Lutomirski, stable

This doesn't seem to fix a regression -- I don't think the CLAC was
ever there.

I double-checked in a debugger: entries through the int80 gate do
not automatically clear AC.

Stable maintainers: I can provide a backport to 4.3 and earlier if
needed.  This needs to be backported all the way to 3.10.

Reported-by: Brian Gerst <brgerst@gmail.com>
Cc: stable@vger.kernel.org
Fixes: 63bcff2a307b ("x86, smap: Add STAC and CLAC instructions to control user space access")
Signed-off-by: Andy Lutomirski <luto@kernel.org>
---
 arch/x86/entry/entry_64_compat.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/entry/entry_64_compat.S b/arch/x86/entry/entry_64_compat.S
index 5e887ee35662..41fbb3389a2f 100644
--- a/arch/x86/entry/entry_64_compat.S
+++ b/arch/x86/entry/entry_64_compat.S
@@ -261,6 +261,7 @@ ENTRY(entry_INT80_compat)
 	 * Interrupts are off on entry.
 	 */
 	PARAVIRT_ADJUST_EXCEPTION_FRAME
+	ASM_CLAC			/* Do this early to minimize exposure */
 	SWAPGS
 
 	/*
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [3.xx-stable backport] x86/entry/compat: Add missing CLAC to entry_INT80_32
  2016-02-24 20:18 [PATCH] x86/entry/compat: Add missing CLAC to entry_INT80_32 Andy Lutomirski
@ 2016-03-04 18:46 ` Kamal Mostafa
  2016-03-04 22:21   ` Andy Lutomirski
  2016-03-07 10:17   ` Luis Henriques
  0 siblings, 2 replies; 5+ messages in thread
From: Kamal Mostafa @ 2016-03-04 18:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Kamal Mostafa, Sasha Levin, Luis Henriques,
	Jiri Slaby
  Cc: stable, Andy Lutomirski, Ingo Molnar

From: Andy Lutomirski <luto@kernel.org>

commit 3d44d51bd339766f0178f0cf2e8d048b4a4872aa upstream.

This doesn't seem to fix a regression -- I don't think the CLAC was
ever there.

I double-checked in a debugger: entries through the int80 gate do
not automatically clear AC.

Stable maintainers: I can provide a backport to 4.3 and earlier if
needed.  This needs to be backported all the way to 3.10.

Reported-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: <stable@vger.kernel.org> # v3.10 and later
Fixes: 63bcff2a307b ("x86, smap: Add STAC and CLAC instructions to control user space access")
Link: http://lkml.kernel.org/r/b02b7e71ae54074be01fc171cbd4b72517055c0e.1456345086.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
[ kamal: backport to 3.10 through 3.19-stable: file rename; context ]
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 arch/x86/ia32/ia32entry.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S
index 82e8a1d..164f541 100644
--- a/arch/x86/ia32/ia32entry.S
+++ b/arch/x86/ia32/ia32entry.S
@@ -422,6 +422,7 @@ ENTRY(ia32_syscall)
 	/*CFI_REL_OFFSET	cs,CS-RIP*/
 	CFI_REL_OFFSET	rip,RIP-RIP
 	PARAVIRT_ADJUST_EXCEPTION_FRAME
+	ASM_CLAC			/* Do this early to minimize exposure */
 	SWAPGS
 	/*
 	 * No need to follow this irqs on/off section: the syscall
-- 
2.7.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [3.xx-stable backport] x86/entry/compat: Add missing CLAC to entry_INT80_32
  2016-03-04 18:46 ` [3.xx-stable backport] " Kamal Mostafa
@ 2016-03-04 22:21   ` Andy Lutomirski
  2016-03-05 18:52     ` Greg Kroah-Hartman
  2016-03-07 10:17   ` Luis Henriques
  1 sibling, 1 reply; 5+ messages in thread
From: Andy Lutomirski @ 2016-03-04 22:21 UTC (permalink / raw)
  To: Kamal Mostafa
  Cc: Greg Kroah-Hartman, Sasha Levin, Luis Henriques, Jiri Slaby,
	stable, Andy Lutomirski, Ingo Molnar

On Fri, Mar 4, 2016 at 10:46 AM, Kamal Mostafa <kamal@canonical.com> wrote:
> From: Andy Lutomirski <luto@kernel.org>
>
> commit 3d44d51bd339766f0178f0cf2e8d048b4a4872aa upstream.
>

This backport looks good to me.  Greg, can you use it for your trees?

--Andy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [3.xx-stable backport] x86/entry/compat: Add missing CLAC to entry_INT80_32
  2016-03-04 22:21   ` Andy Lutomirski
@ 2016-03-05 18:52     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 5+ messages in thread
From: Greg Kroah-Hartman @ 2016-03-05 18:52 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Kamal Mostafa, Sasha Levin, Luis Henriques, Jiri Slaby, stable,
	Andy Lutomirski, Ingo Molnar

On Fri, Mar 04, 2016 at 02:21:27PM -0800, Andy Lutomirski wrote:
> On Fri, Mar 4, 2016 at 10:46 AM, Kamal Mostafa <kamal@canonical.com> wrote:
> > From: Andy Lutomirski <luto@kernel.org>
> >
> > commit 3d44d51bd339766f0178f0cf2e8d048b4a4872aa upstream.
> >
> 
> This backport looks good to me.  Greg, can you use it for your trees?

Now applied, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [3.xx-stable backport] x86/entry/compat: Add missing CLAC to entry_INT80_32
  2016-03-04 18:46 ` [3.xx-stable backport] " Kamal Mostafa
  2016-03-04 22:21   ` Andy Lutomirski
@ 2016-03-07 10:17   ` Luis Henriques
  1 sibling, 0 replies; 5+ messages in thread
From: Luis Henriques @ 2016-03-07 10:17 UTC (permalink / raw)
  To: Kamal Mostafa
  Cc: Greg Kroah-Hartman, Sasha Levin, Jiri Slaby, stable,
	Andy Lutomirski, Ingo Molnar

On Fri, Mar 04, 2016 at 10:46:22AM -0800, Kamal Mostafa wrote:
> From: Andy Lutomirski <luto@kernel.org>
> 
> commit 3d44d51bd339766f0178f0cf2e8d048b4a4872aa upstream.
> 
> This doesn't seem to fix a regression -- I don't think the CLAC was
> ever there.
> 
> I double-checked in a debugger: entries through the int80 gate do
> not automatically clear AC.
> 
> Stable maintainers: I can provide a backport to 4.3 and earlier if
> needed.  This needs to be backported all the way to 3.10.
> 
> Reported-by: Brian Gerst <brgerst@gmail.com>
> Signed-off-by: Andy Lutomirski <luto@kernel.org>
> Cc: Andy Lutomirski <luto@amacapital.net>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Denys Vlasenko <dvlasenk@redhat.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: <stable@vger.kernel.org> # v3.10 and later
> Fixes: 63bcff2a307b ("x86, smap: Add STAC and CLAC instructions to control user space access")
> Link: http://lkml.kernel.org/r/b02b7e71ae54074be01fc171cbd4b72517055c0e.1456345086.git.luto@kernel.org
> Signed-off-by: Ingo Molnar <mingo@kernel.org>
> [ kamal: backport to 3.10 through 3.19-stable: file rename; context ]

Thanks Kamal, I'll queue it for the 3.16 kernel.

Cheers,
--
Lu�s

> Signed-off-by: Kamal Mostafa <kamal@canonical.com>
> ---
>  arch/x86/ia32/ia32entry.S | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S
> index 82e8a1d..164f541 100644
> --- a/arch/x86/ia32/ia32entry.S
> +++ b/arch/x86/ia32/ia32entry.S
> @@ -422,6 +422,7 @@ ENTRY(ia32_syscall)
>  	/*CFI_REL_OFFSET	cs,CS-RIP*/
>  	CFI_REL_OFFSET	rip,RIP-RIP
>  	PARAVIRT_ADJUST_EXCEPTION_FRAME
> +	ASM_CLAC			/* Do this early to minimize exposure */
>  	SWAPGS
>  	/*
>  	 * No need to follow this irqs on/off section: the syscall
> -- 
> 2.7.0
> 
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-03-07 10:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-24 20:18 [PATCH] x86/entry/compat: Add missing CLAC to entry_INT80_32 Andy Lutomirski
2016-03-04 18:46 ` [3.xx-stable backport] " Kamal Mostafa
2016-03-04 22:21   ` Andy Lutomirski
2016-03-05 18:52     ` Greg Kroah-Hartman
2016-03-07 10:17   ` Luis Henriques

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).