Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1249200 > unrolled thread
| Started by | Andy Lutomirski <luto@kernel.org> |
|---|---|
| First post | 2015-10-17 00:50 +0200 |
| Last post | 2015-10-17 13:50 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH v2 0/2] x86/entry: 32-bit facepalm fixes Andy Lutomirski <luto@kernel.org> - 2015-10-17 00:50 +0200
[PATCH v2 2/2] x86/entry/32: Fix FS and GS restore in opportunistic SYSEXIT Andy Lutomirski <luto@kernel.org> - 2015-10-17 00:50 +0200
Re: [PATCH v2 0/2] x86/entry: 32-bit facepalm fixes Borislav Petkov <bp@alien8.de> - 2015-10-17 13:50 +0200
| From | Andy Lutomirski <luto@kernel.org> |
|---|---|
| Date | 2015-10-17 00:50 +0200 |
| Subject | [PATCH v2 0/2] x86/entry: 32-bit facepalm fixes |
| Message-ID | <qklZ0-3t5-5@gated-at.bofh.it> |
Fixes a (correct) warning and an oops. Oddly, both seem to only cause problems on some configurations. The second one presumably only survived my testing because I didn't test a threaded program. The first patch is a bit ugly. If that's a problem, suggestions are welcome. Changes from v1: No longer breaks 64-bit builds. Andy Lutomirski (2): x86/entry/32: Fix entry_INT80_32 to expect interrupts to be on x86/entry/32: Fix FS and GS restore in opportunistic SYSEXIT arch/x86/entry/common.c | 15 ++++++++++++--- arch/x86/entry/entry_32.S | 12 ++++++------ arch/x86/entry/entry_64_compat.S | 2 +- 3 files changed, 19 insertions(+), 10 deletions(-) -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Andy Lutomirski <luto@kernel.org> |
|---|---|
| Date | 2015-10-17 00:50 +0200 |
| Subject | [PATCH v2 2/2] x86/entry/32: Fix FS and GS restore in opportunistic SYSEXIT |
| Message-ID | <qklZ0-3t5-21@gated-at.bofh.it> |
| In reply to | #1249200 |
We either need to restore them before popping and thus changing ESP,
or we need to adjust the offsets. The former is simpler.
Fixes: 5f310f739b4c x86/entry/32: ("Re-implement SYSENTER using the new C path")
Signed-off-by: Andy Lutomirski <luto@kernel.org>
---
arch/x86/entry/entry_32.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index ba0dad937be9..e3ede42d30e2 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -315,6 +315,8 @@ sysenter_past_esp:
TRACE_IRQS_ON /* User mode traces as IRQs on. */
movl PT_EIP(%esp), %edx /* pt_regs->ip */
movl PT_OLDESP(%esp), %ecx /* pt_regs->sp */
+1: mov PT_FS(%esp), %fs
+ PTGS_TO_GS
popl %ebx /* pt_regs->bx */
popl %eax /* skip pt_regs->cx */
popl %eax /* skip pt_regs->dx */
@@ -322,8 +324,6 @@ sysenter_past_esp:
popl %edi /* pt_regs->di */
popl %ebp /* pt_regs->bp */
popl %eax /* pt_regs->ax */
-1: mov PT_FS(%esp), %fs
- PTGS_TO_GS
/*
* Return back to the vDSO, which will pop ecx and edx.
--
2.4.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Borislav Petkov <bp@alien8.de> |
|---|---|
| Date | 2015-10-17 13:50 +0200 |
| Message-ID | <qky9P-4G1-13@gated-at.bofh.it> |
| In reply to | #1249200 |
On Fri, Oct 16, 2015 at 03:42:53PM -0700, Andy Lutomirski wrote:
> Fixes a (correct) warning and an oops. Oddly, both seem to only
> cause problems on some configurations. The second one presumably
> only survived my testing because I didn't test a threaded program.
>
> The first patch is a bit ugly. If that's a problem, suggestions
> are welcome.
>
> Changes from v1: No longer breaks 64-bit builds.
>
> Andy Lutomirski (2):
> x86/entry/32: Fix entry_INT80_32 to expect interrupts to be on
> x86/entry/32: Fix FS and GS restore in opportunistic SYSEXIT
>
> arch/x86/entry/common.c | 15 ++++++++++++---
> arch/x86/entry/entry_32.S | 12 ++++++------
> arch/x86/entry/entry_64_compat.S | 2 +-
> 3 files changed, 19 insertions(+), 10 deletions(-)
Looks good.
Reported-and-tested-by: Borislav Petkov <bp@suse.de>
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web