On Thu, Jan 10, 2019 at 5:39 PM Will Deacon <will.deacon@xxxxxxx> wrote: > > > diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h > > index 355fe2bc035b..19f3f58b6146 100644 > > --- a/arch/arm64/include/asm/unistd32.h > > +++ b/arch/arm64/include/asm/unistd32.h > > @@ -823,6 +823,8 @@ __SYSCALL(__NR_rseq, sys_rseq) > > __SYSCALL(__NR_io_pgetevents, compat_sys_io_pgetevents) > > #define __NR_migrate_pages 400 > > __SYSCALL(__NR_migrate_pages, sys_migrate_pages) > > +#define __NR_kexec_file_load 401 > > +__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) > > Hmm, I wonder if we need a compat wrapper for this, or are we assuming > that the early entry code has already zero-extended the long and pointer > arguments? Yes, that is generally the assumption for compat syscalls. s390 needs some extra magic to do a 31-to-64 extension on pointer arguments, and I think sometimes we need a special wrapper to do sign-extension of 32-bit arguments into 64-bit, but the arguments here should not need that. Arnd