diff options
| author | Ingo Molnar <[email protected]> | 2024-04-10 05:04:04 +0000 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2024-04-10 05:04:04 +0000 |
| commit | a40d2525eaa6ba40ebd39ea2ed9598e13092a7dc (patch) | |
| tree | d5d5515c98d6163e14d56dfe3272cb3b4e9c7d71 /arch/x86/entry/common.c | |
| parent | x86/apic: Force native_apic_mem_read() to use the MOV instruction (diff) | |
| parent | Merge tag 'drm-fixes-2024-04-09' of https://gitlab.freedesktop.org/drm/kernel (diff) | |
| download | kernel-a40d2525eaa6ba40ebd39ea2ed9598e13092a7dc.tar.gz kernel-a40d2525eaa6ba40ebd39ea2ed9598e13092a7dc.zip | |
Merge branch 'linus' into x86/urgent, to pick up dependent commits
Prepare to fix aspects of the new BHI code.
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'arch/x86/entry/common.c')
| -rw-r--r-- | arch/x86/entry/common.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c index 6356060caaf3..6de50b80702e 100644 --- a/arch/x86/entry/common.c +++ b/arch/x86/entry/common.c @@ -49,7 +49,7 @@ static __always_inline bool do_syscall_x64(struct pt_regs *regs, int nr) if (likely(unr < NR_syscalls)) { unr = array_index_nospec(unr, NR_syscalls); - regs->ax = sys_call_table[unr](regs); + regs->ax = x64_sys_call(regs, unr); return true; } return false; @@ -66,7 +66,7 @@ static __always_inline bool do_syscall_x32(struct pt_regs *regs, int nr) if (IS_ENABLED(CONFIG_X86_X32_ABI) && likely(xnr < X32_NR_syscalls)) { xnr = array_index_nospec(xnr, X32_NR_syscalls); - regs->ax = x32_sys_call_table[xnr](regs); + regs->ax = x32_sys_call(regs, xnr); return true; } return false; @@ -162,7 +162,7 @@ static __always_inline void do_syscall_32_irqs_on(struct pt_regs *regs, int nr) if (likely(unr < IA32_NR_syscalls)) { unr = array_index_nospec(unr, IA32_NR_syscalls); - regs->ax = ia32_sys_call_table[unr](regs); + regs->ax = ia32_sys_call(regs, unr); } else if (nr != -1) { regs->ax = __ia32_sys_ni_syscall(regs); } @@ -189,7 +189,7 @@ static __always_inline bool int80_is_external(void) } /** - * int80_emulation - 32-bit legacy syscall entry + * do_int80_emulation - 32-bit legacy syscall C entry from asm * * This entry point can be used by 32-bit and 64-bit programs to perform * 32-bit system calls. Instances of INT $0x80 can be found inline in @@ -207,7 +207,7 @@ static __always_inline bool int80_is_external(void) * eax: system call number * ebx, ecx, edx, esi, edi, ebp: arg1 - arg 6 */ -DEFINE_IDTENTRY_RAW(int80_emulation) +__visible noinstr void do_int80_emulation(struct pt_regs *regs) { int nr; |
