* [PATCH] x86/entry/32: Add missing ASM_CLAC in general_protection entry
@ 2020-02-19 9:57 Thomas Gleixner
2020-02-19 20:10 ` Brian Gerst
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Gleixner @ 2020-02-19 9:57 UTC (permalink / raw)
To: LKML; +Cc: x86
All exception entry points must have ASM_CLAC right at the
beginning. The general_protection entry is missing one.
Fixes: e59d1b0a2419 ("x86-32, smap: Add STAC/CLAC instructions to 32-bit kernel entry")
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
---
arch/x86/entry/entry_32.S | 1 +
1 file changed, 1 insertion(+)
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -1681,6 +1681,7 @@ SYM_CODE_START(int3)
SYM_CODE_END(int3)
SYM_CODE_START(general_protection)
+ ASM_CLAC
pushl $do_general_protection
jmp common_exception
SYM_CODE_END(general_protection)
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] x86/entry/32: Add missing ASM_CLAC in general_protection entry
2020-02-19 9:57 [PATCH] x86/entry/32: Add missing ASM_CLAC in general_protection entry Thomas Gleixner
@ 2020-02-19 20:10 ` Brian Gerst
2020-02-20 23:04 ` Thomas Gleixner
0 siblings, 1 reply; 3+ messages in thread
From: Brian Gerst @ 2020-02-19 20:10 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, the arch/x86 maintainers
On Wed, Feb 19, 2020 at 4:58 AM Thomas Gleixner <tglx@linutronix.de> wrote:
>
> All exception entry points must have ASM_CLAC right at the
> beginning. The general_protection entry is missing one.
>
> Fixes: e59d1b0a2419 ("x86-32, smap: Add STAC/CLAC instructions to 32-bit kernel entry")
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: stable@vger.kernel.org
> ---
> arch/x86/entry/entry_32.S | 1 +
> 1 file changed, 1 insertion(+)
>
> --- a/arch/x86/entry/entry_32.S
> +++ b/arch/x86/entry/entry_32.S
> @@ -1681,6 +1681,7 @@ SYM_CODE_START(int3)
> SYM_CODE_END(int3)
>
> SYM_CODE_START(general_protection)
> + ASM_CLAC
> pushl $do_general_protection
> jmp common_exception
> SYM_CODE_END(general_protection)
How about moving ASM_CLAC to common_exception instead? That would
save a few bytes (kernel text + alternatives), and the AC bit has no
effect on kernel stack pushes.
--
Brian Gerst
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] x86/entry/32: Add missing ASM_CLAC in general_protection entry
2020-02-19 20:10 ` Brian Gerst
@ 2020-02-20 23:04 ` Thomas Gleixner
0 siblings, 0 replies; 3+ messages in thread
From: Thomas Gleixner @ 2020-02-20 23:04 UTC (permalink / raw)
To: Brian Gerst; +Cc: LKML, the arch/x86 maintainers
Brian Gerst <brgerst@gmail.com> writes:
> On Wed, Feb 19, 2020 at 4:58 AM Thomas Gleixner <tglx@linutronix.de> wrote:
>>
>> All exception entry points must have ASM_CLAC right at the
>> beginning. The general_protection entry is missing one.
>>
>> Fixes: e59d1b0a2419 ("x86-32, smap: Add STAC/CLAC instructions to 32-bit kernel entry")
>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>> Cc: stable@vger.kernel.org
>> ---
>> arch/x86/entry/entry_32.S | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> --- a/arch/x86/entry/entry_32.S
>> +++ b/arch/x86/entry/entry_32.S
>> @@ -1681,6 +1681,7 @@ SYM_CODE_START(int3)
>> SYM_CODE_END(int3)
>>
>> SYM_CODE_START(general_protection)
>> + ASM_CLAC
>> pushl $do_general_protection
>> jmp common_exception
>> SYM_CODE_END(general_protection)
>
> How about moving ASM_CLAC to common_exception instead? That would
> save a few bytes (kernel text + alternatives), and the AC bit has no
> effect on kernel stack pushes.
Agreed, but that's a seperate cleanup. The fix is the right thing also
for backports.
Aisde of that this mindlessly copied code will be gone in the
foreseeable future. Just lacks some testing and changelog writing :)
Thanks,
tglx
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-02-20 23:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-19 9:57 [PATCH] x86/entry/32: Add missing ASM_CLAC in general_protection entry Thomas Gleixner
2020-02-19 20:10 ` Brian Gerst
2020-02-20 23:04 ` Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome