On Thu, Jan 10, 2019 at 5:39 PM Will Deacon will.deacon@arm.com 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