]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
x86/entry/vdso32: When using int $0x80, use it directly
authorH. Peter Anvin <hpa@zytor.com>
Tue, 16 Dec 2025 21:26:04 +0000 (13:26 -0800)
committerDave Hansen <dave.hansen@linux.intel.com>
Wed, 14 Jan 2026 00:37:58 +0000 (16:37 -0800)
commit36d83c249e0395a915144eceeb528ddc19b1fbe6
tree4581bf7d2a7228f88a21b75ae8b3eec246c31327
parentf49ecf5e110ab0ed255ddea5e321689faf4e50e6
x86/entry/vdso32: When using int $0x80, use it directly

When neither sysenter32 nor syscall32 is available (on either
FRED-capable 64-bit hardware or old 32-bit hardware), there is no
reason to do a bunch of stack shuffling in __kernel_vsyscall.
Unfortunately, just overwriting the initial "push" instructions will
mess up the CFI annotations, so suffer the 3-byte NOP if not
applicable.

Similarly, inline the int $0x80 when doing inline system calls in the
vdso instead of calling __kernel_vsyscall.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://patch.msgid.link/20251216212606.1325678-11-hpa@zytor.com
arch/x86/entry/vdso/vdso32/system_call.S
arch/x86/include/asm/vdso/sys_call.h