On Sun, Oct 26, 2025 at 6:12 PM H. Peter Anvin <[email protected]> wrote: > > There is no fundamental reason for the int80_landing_pad symbol. If ip > falls within the vdso, and the vdso is moved, we should change the ip > accordingly, regardless of mode or location within the vdso. This > *currently* can only happen on 32 bits, but there isn't any reason not > to do so generically. > > Note that if this is ever possible from a vdso-internal call, then the > user space stack will also needed to be adjusted (as well as the > shadow stack, if enabled.) Fortunately this is not currently the case. > > At the moment, we don't even consider other threads when moving the > vdso. The assumption is that it is only used by process freeze/thaw > for migration, where this is not an issue. > > Signed-off-by: H. Peter Anvin (Intel) <[email protected]> > --- > arch/x86/entry/vdso/vdso32/system_call.S | 1 - > arch/x86/entry/vdso/vma.c | 16 ++++++---------- > arch/x86/tools/vdso2c.c | 1 - > 3 files changed, 6 insertions(+), 12 deletions(-) > > diff --git a/arch/x86/entry/vdso/vdso32/system_call.S > b/arch/x86/entry/vdso/vdso32/system_call.S > index 2a15634bbe75..d14eca4403c5 100644 > --- a/arch/x86/entry/vdso/vdso32/system_call.S > +++ b/arch/x86/entry/vdso/vdso32/system_call.S > @@ -62,7 +62,6 @@ __kernel_vsyscall: > > /* Enter using int $0x80 */ > int $0x80 > -SYM_INNER_LABEL(int80_landing_pad, SYM_L_GLOBAL)
This is still needed by do_fast_syscall_32(). Brian Gerst

