On Thu, 2024-10-24 at 21:09 +0900, Hajime Tazaki wrote: > > +++ b/arch/x86/um/do_syscall_64.c > @@ -0,0 +1,42 @@ > +// SPDX-License-Identifier: GPL-2.0 > + > +#include <linux/kernel.h> > +#include <linux/ptrace.h> > +#include <kern_util.h> > +#include <sysdep/syscalls.h> > +#include <os.h> > + > +#ifndef CONFIG_MMU
This seems unnecessary, you don't build the file with CONFIG_MMU in the first place. > +++ b/arch/x86/um/entry_64.S > @@ -0,0 +1,88 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +#include <asm/errno.h> > + > +#include <linux/linkage.h> > +#include <asm/percpu.h> > +#include <asm/desc.h> > + > +#include "../entry/calling.h" > + > +#ifdef CONFIG_SMP > +#error need to stash these variables somewhere else > +#endif > + > +#ifndef CONFIG_MMU same here. > +++ b/arch/x86/um/shared/sysdep/syscalls_64.h > @@ -25,4 +25,8 @@ extern syscall_handler_t *sys_call_table[]; > extern syscall_handler_t sys_modify_ldt; > extern syscall_handler_t sys_arch_prctl; > > +__visible void do_syscall_64(struct pt_regs *regs); > +extern long __kernel_vsyscall(int64_t a0, int64_t a1, int64_t a2, int64_t a3, > + int64_t a4, int64_t a5, int64_t a6); > + > but maybe that should be ifdef'ed? johannes