"ia32_syscall" label name (entry point for INT 80) is inconsistent with "ia32_sysenter_target" (entry point for SYSENTER insn) and "ia32_cstar_target" (entry point for SYSCALL insn).
It is especially misleading since we do have code in this file which handles SYSCALL insn, and it's _not this code_. Rename it to ia32_int80_target. Rename all internal labels in ia32_int80_target routine to int80_<foo> form, similar to the convention in SYSENTER and SYSCALL code blocks. Not renaming ia32_cstar_target: even though "ia32_syscall_target" would make a bit more sense, it's less greppable: "syscall" is a very common string. Signed-off-by: Denys Vlasenko <dvlas...@redhat.com> CC: Linus Torvalds <torva...@linux-foundation.org> CC: Steven Rostedt <rost...@goodmis.org> CC: Ingo Molnar <mi...@kernel.org> CC: Borislav Petkov <b...@alien8.de> CC: "H. Peter Anvin" <h...@zytor.com> CC: Andy Lutomirski <l...@amacapital.net> CC: Oleg Nesterov <o...@redhat.com> CC: Frederic Weisbecker <fweis...@gmail.com> CC: Alexei Starovoitov <a...@plumgrid.com> CC: Will Drewry <w...@chromium.org> CC: Kees Cook <keesc...@chromium.org> CC: x...@kernel.org CC: linux-kernel@vger.kernel.org --- arch/x86/entry/entry_64_compat.S | 12 ++++++------ arch/x86/include/asm/proto.h | 2 +- arch/x86/kernel/traps.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/entry/entry_64_compat.S b/arch/x86/entry/entry_64_compat.S index b80f8d4..744a3f7 100644 --- a/arch/x86/entry/entry_64_compat.S +++ b/arch/x86/entry/entry_64_compat.S @@ -443,7 +443,7 @@ ia32_ret_from_sys_call: * Assumes it is only called from user space and entered with interrupts off. */ -ENTRY(ia32_syscall) +ENTRY(ia32_int80_target) /* * Interrupts are off on entry. * We do not frame this tiny irq-off block with TRACE_IRQS_OFF/ON, @@ -472,9 +472,9 @@ ENTRY(ia32_syscall) orl $TS_COMPAT, ASM_THREAD_INFO(TI_status, %rsp, SIZEOF_PTREGS) testl $_TIF_WORK_SYSCALL_ENTRY, ASM_THREAD_INFO(TI_flags, %rsp, SIZEOF_PTREGS) - jnz ia32_tracesys + jnz int80_tracesys -ia32_do_call: +int80_do_call: /* 32-bit syscall -> 64-bit C ABI argument conversion */ movl %edi, %r8d /* arg5 */ movl %ebp, %r9d /* arg6 */ @@ -489,7 +489,7 @@ ia32_do_call: 1: jmp int_ret_from_sys_call -ia32_tracesys: +int80_tracesys: SAVE_EXTRA_REGS movq %rsp, %rdi /* &pt_regs -> arg1 */ call syscall_trace_enter @@ -506,8 +506,8 @@ ia32_tracesys: movl RDI(%rsp), %edi movl %eax, %eax /* zero extension */ RESTORE_EXTRA_REGS - jmp ia32_do_call -END(ia32_syscall) + jmp int80_do_call +END(ia32_int80_target) .macro PTREGSCALL label, func ALIGN diff --git a/arch/x86/include/asm/proto.h b/arch/x86/include/asm/proto.h index a90f897..3c692be 100644 --- a/arch/x86/include/asm/proto.h +++ b/arch/x86/include/asm/proto.h @@ -8,7 +8,7 @@ void system_call(void); void syscall_init(void); -void ia32_syscall(void); +void ia32_int80_target(void); void ia32_cstar_target(void); void ia32_sysenter_target(void); diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index b5e7687..b8a4204 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -894,7 +894,7 @@ void __init trap_init(void) set_bit(i, used_vectors); #ifdef CONFIG_IA32_EMULATION - set_system_intr_gate(IA32_SYSCALL_VECTOR, ia32_syscall); + set_system_intr_gate(IA32_SYSCALL_VECTOR, ia32_int80_target); set_bit(IA32_SYSCALL_VECTOR, used_vectors); #endif -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/