Commit b75b7f8e authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Borislav Petkov
Browse files

x86/xen: Rename SYS* entry points



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: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Reviewed-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
parent 9bb2ec60
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -918,7 +918,7 @@ void xen_enable_sysenter(void)
	if (!boot_cpu_has(sysenter_feature))
		return;

	ret = register_callback(CALLBACKTYPE_sysenter, xen_sysenter_target);
	ret = register_callback(CALLBACKTYPE_sysenter, xen_entry_SYSENTER_compat);
	if(ret != 0)
		setup_clear_cpu_cap(sysenter_feature);
}
@@ -927,7 +927,7 @@ void xen_enable_syscall(void)
{
	int ret;

	ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target);
	ret = register_callback(CALLBACKTYPE_syscall, xen_entry_SYSCALL_64);
	if (ret != 0) {
		printk(KERN_ERR "Failed to set syscall callback: %d\n", ret);
		/* Pretty fatal; 64-bit userspace has no other
@@ -936,7 +936,7 @@ void xen_enable_syscall(void)

	if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
		ret = register_callback(CALLBACKTYPE_syscall32,
					xen_syscall32_target);
					xen_entry_SYSCALL_compat);
		if (ret != 0)
			setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
	}
+10 −10
Original line number Diff line number Diff line
@@ -234,7 +234,7 @@ SYM_CODE_END(xenpv_restore_regs_and_return_to_usermode)
 */

/* Normal 64-bit system call target */
SYM_CODE_START(xen_syscall_target)
SYM_CODE_START(xen_entry_SYSCALL_64)
	UNWIND_HINT_EMPTY
	ENDBR
	popq %rcx
@@ -249,12 +249,12 @@ SYM_CODE_START(xen_syscall_target)
	movq $__USER_CS, 1*8(%rsp)

	jmp entry_SYSCALL_64_after_hwframe
SYM_CODE_END(xen_syscall_target)
SYM_CODE_END(xen_entry_SYSCALL_64)

#ifdef CONFIG_IA32_EMULATION

/* 32-bit compat syscall target */
SYM_CODE_START(xen_syscall32_target)
SYM_CODE_START(xen_entry_SYSCALL_compat)
	UNWIND_HINT_EMPTY
	ENDBR
	popq %rcx
@@ -269,10 +269,10 @@ SYM_CODE_START(xen_syscall32_target)
	movq $__USER32_CS, 1*8(%rsp)

	jmp entry_SYSCALL_compat_after_hwframe
SYM_CODE_END(xen_syscall32_target)
SYM_CODE_END(xen_entry_SYSCALL_compat)

/* 32-bit compat sysenter target */
SYM_CODE_START(xen_sysenter_target)
SYM_CODE_START(xen_entry_SYSENTER_compat)
	UNWIND_HINT_EMPTY
	ENDBR
	/*
@@ -291,19 +291,19 @@ SYM_CODE_START(xen_sysenter_target)
	movq $__USER32_CS, 1*8(%rsp)

	jmp entry_SYSENTER_compat_after_hwframe
SYM_CODE_END(xen_sysenter_target)
SYM_CODE_END(xen_entry_SYSENTER_compat)

#else /* !CONFIG_IA32_EMULATION */

SYM_CODE_START(xen_syscall32_target)
SYM_CODE_START(xen_sysenter_target)
SYM_CODE_START(xen_entry_SYSCALL_compat)
SYM_CODE_START(xen_entry_SYSENTER_compat)
	UNWIND_HINT_EMPTY
	ENDBR
	lea 16(%rsp), %rsp	/* strip %rcx, %r11 */
	mov $-ENOSYS, %rax
	pushq $0
	jmp hypercall_iret
SYM_CODE_END(xen_sysenter_target)
SYM_CODE_END(xen_syscall32_target)
SYM_CODE_END(xen_entry_SYSENTER_compat)
SYM_CODE_END(xen_entry_SYSCALL_compat)

#endif	/* CONFIG_IA32_EMULATION */
+3 −3
Original line number Diff line number Diff line
@@ -10,10 +10,10 @@
/* These are code, but not functions.  Defined in entry.S */
extern const char xen_failsafe_callback[];

void xen_sysenter_target(void);
void xen_entry_SYSENTER_compat(void);
#ifdef CONFIG_X86_64
void xen_syscall_target(void);
void xen_syscall32_target(void);
void xen_entry_SYSCALL_64(void);
void xen_entry_SYSCALL_compat(void);
#endif

extern void *xen_initial_gdt;