x86/asm/entry/64: Rename 'old_rsp' to 'rsp_scratch'

Make clear that the usage of PER_CPU(old_rsp) is purely temporary,
by renaming it to 'rsp_scratch'.

Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Will Drewry <wad@chromium.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Ingo Molnar 2015-03-17 14:42:59 +01:00
parent 7fcb3bc361
commit c38e503804
3 changed files with 10 additions and 10 deletions

View File

@ -237,16 +237,16 @@ ENTRY(system_call)
GLOBAL(system_call_after_swapgs) GLOBAL(system_call_after_swapgs)
/* /*
* We use 'old_rsp' as a scratch register, hence this block must execute * We use 'rsp_scratch' as a scratch register, hence this block must execute
* atomically in the face of possible interrupt-driven task preemption, * atomically in the face of possible interrupt-driven task preemption,
* so we can enable interrupts only after we're done with using old_rsp: * so we can enable interrupts only after we're done with using rsp_scratch:
*/ */
movq %rsp,PER_CPU_VAR(old_rsp) movq %rsp,PER_CPU_VAR(rsp_scratch)
/* kernel_stack is set so that 5 slots (iret frame) are preallocated */ /* kernel_stack is set so that 5 slots (iret frame) are preallocated */
movq PER_CPU_VAR(kernel_stack),%rsp movq PER_CPU_VAR(kernel_stack),%rsp
ALLOC_PT_GPREGS_ON_STACK 8 /* +8: space for orig_ax */ ALLOC_PT_GPREGS_ON_STACK 8 /* +8: space for orig_ax */
movq %rcx,RIP(%rsp) movq %rcx,RIP(%rsp)
movq PER_CPU_VAR(old_rsp),%rcx movq PER_CPU_VAR(rsp_scratch),%rcx
movq %r11,EFLAGS(%rsp) movq %r11,EFLAGS(%rsp)
movq %rcx,RSP(%rsp) movq %rcx,RSP(%rsp)
/* /*
@ -657,7 +657,7 @@ common_interrupt:
ASM_CLAC ASM_CLAC
addq $-0x80,(%rsp) /* Adjust vector to [-256,-1] range */ addq $-0x80,(%rsp) /* Adjust vector to [-256,-1] range */
interrupt do_IRQ interrupt do_IRQ
/* 0(%rsp): old_rsp */ /* 0(%rsp): rsp_scratch */
ret_from_intr: ret_from_intr:
DISABLE_INTERRUPTS(CLBR_NONE) DISABLE_INTERRUPTS(CLBR_NONE)
TRACE_IRQS_OFF TRACE_IRQS_OFF

View File

@ -52,7 +52,7 @@
asmlinkage extern void ret_from_fork(void); asmlinkage extern void ret_from_fork(void);
__visible DEFINE_PER_CPU(unsigned long, old_rsp); __visible DEFINE_PER_CPU(unsigned long, rsp_scratch);
/* Prints also some state that isn't saved in the pt_regs */ /* Prints also some state that isn't saved in the pt_regs */
void __show_regs(struct pt_regs *regs, int all) void __show_regs(struct pt_regs *regs, int all)

View File

@ -68,11 +68,11 @@ ENTRY(xen_sysret64)
* We're already on the usermode stack at this point, but * We're already on the usermode stack at this point, but
* still with the kernel gs, so we can easily switch back * still with the kernel gs, so we can easily switch back
*/ */
movq %rsp, PER_CPU_VAR(old_rsp) movq %rsp, PER_CPU_VAR(rsp_scratch)
movq PER_CPU_VAR(kernel_stack), %rsp movq PER_CPU_VAR(kernel_stack), %rsp
pushq $__USER_DS pushq $__USER_DS
pushq PER_CPU_VAR(old_rsp) pushq PER_CPU_VAR(rsp_scratch)
pushq %r11 pushq %r11
pushq $__USER_CS pushq $__USER_CS
pushq %rcx pushq %rcx
@ -87,11 +87,11 @@ ENTRY(xen_sysret32)
* We're already on the usermode stack at this point, but * We're already on the usermode stack at this point, but
* still with the kernel gs, so we can easily switch back * still with the kernel gs, so we can easily switch back
*/ */
movq %rsp, PER_CPU_VAR(old_rsp) movq %rsp, PER_CPU_VAR(rsp_scratch)
movq PER_CPU_VAR(kernel_stack), %rsp movq PER_CPU_VAR(kernel_stack), %rsp
pushq $__USER32_DS pushq $__USER32_DS
pushq PER_CPU_VAR(old_rsp) pushq PER_CPU_VAR(rsp_scratch)
pushq %r11 pushq %r11
pushq $__USER32_CS pushq $__USER32_CS
pushq %rcx pushq %rcx