freebsd-dev/sys/i386/linux
Mark Johnston 149afbf3ba Fix 64-bit syscall argument fetching in 32-bit Linux syscall handlers.
The Linux32 system call argument fetcher places each argument (passed in
registers in the Linux x86 system call convention) into an entry in the
generic system call args array.  Each member of this array is 8 bytes
wide, so this approach is broken for system calls that take off_t
arguments.

Fix the problem by splitting l_loff_t arguments in the 32-bit system
call descriptions, the same as we do for FreeBSD32.  Change entry points
to handle this using the PAIR32TO64 macro.

Move linux_ftruncate64() into compat/linux.

PR:		243155
Reported by:	Alex S <iwtcex@gmail.com>
Reviewed by:	kib (previous version)
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D23210
2020-01-21 17:28:22 +00:00
..
imgact_linux.c vfs: drop the mostly unused flags argument from VOP_UNLOCK 2020-01-03 22:29:58 +00:00
linux_copyout.c Fix futexes on i386 after the 4/4G split. 2018-04-24 12:50:21 +00:00
linux_dummy.c Add basic getcpu(2) support to linuxulator. The purpose of this 2019-12-31 22:01:08 +00:00
linux_genassym.c Implement vdso - virtual dynamic shared object. Through vdso Linux 2015-05-24 15:28:17 +00:00
linux_locore.asm linuxulator: rename linux_locore.s to .asm 2019-07-30 17:18:31 +00:00
linux_machdep.c Fix 64-bit syscall argument fetching in 32-bit Linux syscall handlers. 2020-01-21 17:28:22 +00:00
linux_proto.h Regen after r356229. 2019-12-31 16:01:37 +00:00
linux_ptrace.c Correct proper nouns in the Linuxulator 2018-02-22 02:24:17 +00:00
linux_syscall.h make sysent after r347228 2019-05-07 18:10:21 +00:00
linux_syscalls.c make sysent after r347228 2019-05-07 18:10:21 +00:00
linux_sysent.c Regen after r356229. 2019-12-31 16:01:37 +00:00
linux_systrace_args.c Regen after r356229. 2019-12-31 16:01:37 +00:00
linux_sysvec.c Add compat.linux.emul_path, so it can be set to something other 2019-12-16 20:07:04 +00:00
linux_vdso.lds.s Implement vdso - virtual dynamic shared object. Through vdso Linux 2015-05-24 15:28:17 +00:00
linux.h Linuxulator depends on a fundamental kernel settings such as SMP. Many 2019-05-13 18:24:29 +00:00
Makefile sysent targets: further cleanup and deduplication 2020-01-18 20:37:45 +00:00
syscalls.conf
syscalls.master Fix definitions for Linux getcpu(2). 2019-12-31 15:57:29 +00:00