x86/xen: Rename SYS* entry points

commit b75b7f8ef1148be1b9321ffc2f6c19238904b438 upstream.

Native SYS{CALL,ENTER} entry points are called
entry_SYS{CALL,ENTER}_{64,compat}, make sure the Xen versions are
named consistently.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Peter Zijlstra
2022-06-14 23:16:00 +02:00
committed by Greg Kroah-Hartman
parent 28aa3fa0b2
commit f728eff263
3 changed files with 16 additions and 16 deletions

View File

@@ -922,7 +922,7 @@ void xen_enable_sysenter(void)
if (!boot_cpu_has(sysenter_feature)) if (!boot_cpu_has(sysenter_feature))
return; return;
ret = register_callback(CALLBACKTYPE_sysenter, xen_sysenter_target); ret = register_callback(CALLBACKTYPE_sysenter, xen_entry_SYSENTER_compat);
if(ret != 0) if(ret != 0)
setup_clear_cpu_cap(sysenter_feature); setup_clear_cpu_cap(sysenter_feature);
} }
@@ -931,7 +931,7 @@ void xen_enable_syscall(void)
{ {
int ret; int ret;
ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target); ret = register_callback(CALLBACKTYPE_syscall, xen_entry_SYSCALL_64);
if (ret != 0) { if (ret != 0) {
printk(KERN_ERR "Failed to set syscall callback: %d\n", ret); printk(KERN_ERR "Failed to set syscall callback: %d\n", ret);
/* Pretty fatal; 64-bit userspace has no other /* Pretty fatal; 64-bit userspace has no other
@@ -940,7 +940,7 @@ void xen_enable_syscall(void)
if (boot_cpu_has(X86_FEATURE_SYSCALL32)) { if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
ret = register_callback(CALLBACKTYPE_syscall32, ret = register_callback(CALLBACKTYPE_syscall32,
xen_syscall32_target); xen_entry_SYSCALL_compat);
if (ret != 0) if (ret != 0)
setup_clear_cpu_cap(X86_FEATURE_SYSCALL32); setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
} }

View File

@@ -276,7 +276,7 @@ SYM_CODE_END(xenpv_restore_regs_and_return_to_usermode)
*/ */
/* Normal 64-bit system call target */ /* Normal 64-bit system call target */
SYM_CODE_START(xen_syscall_target) SYM_CODE_START(xen_entry_SYSCALL_64)
UNWIND_HINT_EMPTY UNWIND_HINT_EMPTY
popq %rcx popq %rcx
popq %r11 popq %r11
@@ -290,12 +290,12 @@ SYM_CODE_START(xen_syscall_target)
movq $__USER_CS, 1*8(%rsp) movq $__USER_CS, 1*8(%rsp)
jmp entry_SYSCALL_64_after_hwframe jmp entry_SYSCALL_64_after_hwframe
SYM_CODE_END(xen_syscall_target) SYM_CODE_END(xen_entry_SYSCALL_64)
#ifdef CONFIG_IA32_EMULATION #ifdef CONFIG_IA32_EMULATION
/* 32-bit compat syscall target */ /* 32-bit compat syscall target */
SYM_CODE_START(xen_syscall32_target) SYM_CODE_START(xen_entry_SYSCALL_compat)
UNWIND_HINT_EMPTY UNWIND_HINT_EMPTY
popq %rcx popq %rcx
popq %r11 popq %r11
@@ -309,10 +309,10 @@ SYM_CODE_START(xen_syscall32_target)
movq $__USER32_CS, 1*8(%rsp) movq $__USER32_CS, 1*8(%rsp)
jmp entry_SYSCALL_compat_after_hwframe jmp entry_SYSCALL_compat_after_hwframe
SYM_CODE_END(xen_syscall32_target) SYM_CODE_END(xen_entry_SYSCALL_compat)
/* 32-bit compat sysenter target */ /* 32-bit compat sysenter target */
SYM_CODE_START(xen_sysenter_target) SYM_CODE_START(xen_entry_SYSENTER_compat)
UNWIND_HINT_EMPTY UNWIND_HINT_EMPTY
/* /*
* NB: Xen is polite and clears TF from EFLAGS for us. This means * NB: Xen is polite and clears TF from EFLAGS for us. This means
@@ -330,18 +330,18 @@ SYM_CODE_START(xen_sysenter_target)
movq $__USER32_CS, 1*8(%rsp) movq $__USER32_CS, 1*8(%rsp)
jmp entry_SYSENTER_compat_after_hwframe jmp entry_SYSENTER_compat_after_hwframe
SYM_CODE_END(xen_sysenter_target) SYM_CODE_END(xen_entry_SYSENTER_compat)
#else /* !CONFIG_IA32_EMULATION */ #else /* !CONFIG_IA32_EMULATION */
SYM_CODE_START(xen_syscall32_target) SYM_CODE_START(xen_entry_SYSCALL_compat)
SYM_CODE_START(xen_sysenter_target) SYM_CODE_START(xen_entry_SYSENTER_compat)
UNWIND_HINT_EMPTY UNWIND_HINT_EMPTY
lea 16(%rsp), %rsp /* strip %rcx, %r11 */ lea 16(%rsp), %rsp /* strip %rcx, %r11 */
mov $-ENOSYS, %rax mov $-ENOSYS, %rax
pushq $0 pushq $0
jmp hypercall_iret jmp hypercall_iret
SYM_CODE_END(xen_sysenter_target) SYM_CODE_END(xen_entry_SYSENTER_compat)
SYM_CODE_END(xen_syscall32_target) SYM_CODE_END(xen_entry_SYSCALL_compat)
#endif /* CONFIG_IA32_EMULATION */ #endif /* CONFIG_IA32_EMULATION */

View File

@@ -10,10 +10,10 @@
/* These are code, but not functions. Defined in entry.S */ /* These are code, but not functions. Defined in entry.S */
extern const char xen_failsafe_callback[]; extern const char xen_failsafe_callback[];
void xen_sysenter_target(void); void xen_entry_SYSENTER_compat(void);
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
void xen_syscall_target(void); void xen_entry_SYSCALL_64(void);
void xen_syscall32_target(void); void xen_entry_SYSCALL_compat(void);
#endif #endif
extern void *xen_initial_gdt; extern void *xen_initial_gdt;