Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1727772

[RFC 01/17] x86/asm/64: Remove the restore_c_regs_and_iret label

From Andy Lutomirski <luto@kernel.org>
Newsgroups linux.kernel
Subject [RFC 01/17] x86/asm/64: Remove the restore_c_regs_and_iret label
Date 2017-09-06 23:50 +0200
Message-ID <umQmR-7tQ-3@gated-at.bofh.it> (permalink)
References <umQdc-7qi-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


The only user was the 64-bit opportunistic SYSRET failure path, and
that path didn't really need it.  This change makes the
opportunistic SYSRET code a bit more straightforward and gets rid of
the label.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
---
 arch/x86/entry/entry_64.S | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index e995ea828789..a0ebeeb9d12f 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -240,7 +240,6 @@ entry_SYSCALL64_slow_path:
 	call	do_syscall_64		/* returns with IRQs disabled */
 
 return_from_SYSCALL_64:
-	RESTORE_EXTRA_REGS
 	TRACE_IRQS_IRETQ		/* we're about to change IF */
 
 	/*
@@ -309,13 +308,14 @@ return_from_SYSCALL_64:
 	 */
 syscall_return_via_sysret:
 	/* rcx and r11 are already restored (see code above) */
+	RESTORE_EXTRA_REGS
 	RESTORE_C_REGS_EXCEPT_RCX_R11
 	movq	RSP(%rsp), %rsp
 	USERGS_SYSRET64
 
 opportunistic_sysret_failed:
 	SWAPGS
-	jmp	restore_c_regs_and_iret
+	jmp	restore_regs_and_iret
 END(entry_SYSCALL_64)
 
 ENTRY(stub_ptregs_64)
@@ -550,7 +550,6 @@ retint_kernel:
  */
 GLOBAL(restore_regs_and_iret)
 	RESTORE_EXTRA_REGS
-restore_c_regs_and_iret:
 	RESTORE_C_REGS
 	REMOVE_PT_GPREGS_FROM_STACK 8
 	INTERRUPT_RETURN
-- 
2.13.5

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[RFC 01/17] x86/asm/64: Remove the restore_c_regs_and_iret label Andy Lutomirski <luto@kernel.org> - 2017-09-06 23:50 +0200
  Re: [RFC 01/17] x86/asm/64: Remove the restore_c_regs_and_iret label Borislav Petkov <bp@alien8.de> - 2017-09-07 11:50 +0200
    Re: [RFC 01/17] x86/asm/64: Remove the restore_c_regs_and_iret label Ingo Molnar <mingo@kernel.org> - 2017-09-07 11:50 +0200
      Re: [RFC 01/17] x86/asm/64: Remove the restore_c_regs_and_iret label Borislav Petkov <bp@alien8.de> - 2017-09-07 12:00 +0200
        Re: [RFC 01/17] x86/asm/64: Remove the restore_c_regs_and_iret label Ingo Molnar <mingo@kernel.org> - 2017-09-07 12:30 +0200
    Re: [RFC 01/17] x86/asm/64: Remove the restore_c_regs_and_iret label Ingo Molnar <mingo@kernel.org> - 2017-09-07 11:50 +0200

csiph-web