Doug Rabson and Warner Losh
e6e102b972
bsd-user: Simplify the implementation of execve
...
This removes the logic which prepends the emulator to each call to
execve and fexecve. This is not necessary with the existing
imgact_binmisc support and it avoids the need to install the emulator
binary into jail environments when using 'binmiscctl --pre-open'.
Signed-off-by: Doug Rabson <dfr@rabson.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Signed-off-by: Warner Losh <imp@bsdimp.com >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
2024-07-23 10:50:54 -06:00
Philippe Mathieu-Daudé
827238668e
exec: Move [b]tswapl() declarations to 'exec/user/tswap-target.h'
...
tswapl() and bswaptls() are target-dependent and only used
by user emulation. Move their definitions to a new header:
"exec/user/tswap-target.h".
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Anton Johansson <anjo@rev.ng >
Message-Id: <20231212123401.37493-17-philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2024-04-26 17:03:05 +02:00
Ilya Leoshkevich and Alex Bennée
4edc98fcc8
{linux,bsd}-user: Pass pid to fork_end()
...
The upcoming follow-fork-mode child support requires knowing the child
pid. Pass it down.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com >
Message-Id: <20240219141628.246823-6-iii@linux.ibm.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20240305121005.3528075-7-alex.bennee@linaro.org >
2024-03-06 12:35:19 +00:00
Michael Tokarev
9bfba08a1f
bsd-user: spelling fixes: necesary, agrument, undocummented
...
Fixes: a99d740347 "bsd-user: Implement do_obreak function"
Fixes: 8632729060 "bsd-user: Implement freebsd_exec_common, used in implementing execve/fexecve."
Fixes: bf14f13d8b "bsd-user: Implement stat related syscalls"
Reviewed-by: Warner Losh <imp@bsdimp.com >
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru >
2023-11-15 11:09:17 +03:00
Warner Losh
dfa1d91575
bsd-user: Add stubs for vadvise(), sbrk() and sstk()
...
The above system calls are not supported by qemu.
Signed-off-by: Warner Losh <imp@bsdimp.com >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-24-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Stacey Son and Warner Losh
4e00b7d85d
bsd-user: Implement shmat(2) and shmdt(2)
...
Use `WITH_MMAP_LOCK_GUARD` instead of mmap_lock() and mmap_unlock(),
to match linux-user implementation, according to the following commits:
69fa2708a2 linux-user: Use WITH_MMAP_LOCK_GUARD in target_{shmat,shmdt}
ceda5688b6 linux-user: Fix shmdt
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Message-Id: <20230925182709.4834-23-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Stacey Son and Warner Losh
f9bbe3cf28
bsd-user: Implement shmctl(2)
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-22-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Stacey Son and Warner Losh
9d14db15b1
bsd-user: Implement shm_unlink(2) and shmget(2)
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-21-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
4f0be683e3
bsd-user: Implement shm_open(2)
...
Co-authored-by: Kyle Evans <kevans@FreeBSD.org >
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Kyle Evans <kevans@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-20-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Stacey Son and Warner Losh
a99d740347
bsd-user: Implement do_obreak function
...
Match linux-user, by manually applying the following commits, in order:
d28b3c90cf linux-user: Make sure initial brk(0) is page-aligned
15ad98536a linux-user: Fix qemu brk() to not zero bytes on current page
dfe49864af linux-user: Prohibit brk() to to shrink below initial heap address
eac78a4b0b linux-user: Fix signed math overflow in brk() syscall
c6cc059eca linux-user: Do not call get_errno() in do_brk()
e69e032d1a linux-user: Use MAP_FIXED_NOREPLACE for do_brk()
cb9d5d1fda linux-user: Do nothing if too small brk is specified
2aea137a42 linux-user: Do not align brk with host page size
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-19-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Stacey Son and Warner Losh
83b045ad4e
bsd-user: Implement mincore(2)
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-18-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Karim Taha and Warner Losh
0c1ced42c8
bsd-user: Implment madvise(2) to match the linux-user implementation.
...
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-17-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Stacey Son and Warner Losh
0a49ef02a6
bsd-user: Implement mlock(2), munlock(2), mlockall(2), munlockall(2), minherit(2)
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-16-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
f28a1e4bab
bsd-user: Implement msync(2)
...
Co-authored-by: Kyle Evans <kevans@FreeBSD.org >
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Kyle Evans <kevans@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-15-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Stacey Son and Warner Losh
ecbe22494d
bsd-user: Implement mprotect(2)
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Message-Id: <20230925182709.4834-14-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Stacey Son and Warner Losh
87dcb4ad48
bsd-user: Implement mmap(2) and munmap(2)
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-13-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
Stacey Son and Warner Losh
6765e988e1
bsd-user: Introduce bsd-mem.h to the source tree
...
Preserve the copyright notice and help with the 'Author' info for
subsequent changes to the file.
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-12-kariem.taha2.7@gmail.com >
2023-10-03 17:14:07 -06:00
c9cdf0a5ec
bsd-user: Implement target_set_brk function in bsd-mem.c instead of os-syscall.c
...
The definitions and variables names matches the corresponding ones in
linux-user/syscall.c, for making later implementation of do_obreak easier
Co-authored-by: Mikaël Urankar <mikael.urankar@gmail.com >
Signed-off-by: Mikaël Urankar <mikael.urankar@gmail.com >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-9-kariem.taha2.7@gmail.com >
2023-10-03 17:14:06 -06:00
Kyle Evans and Warner Losh
182ea728e0
bsd-user: Implement shm_rename(2) system call
...
Signed-off-by: Kyle Evans <kevans@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Message-Id: <20230925182709.4834-7-kariem.taha2.7@gmail.com >
2023-10-03 17:14:06 -06:00
Karim Taha and Warner Losh
0c3529888a
bsd-user: Implement shm_open2(2) system call
...
Signed-off-by: Kyle Evans <kevans@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230925182709.4834-6-kariem.taha2.7@gmail.com >
2023-10-03 17:14:06 -06:00
Stacey Son and Warner Losh
137d963cfb
bsd-user: Introduce freebsd/os-misc.h to the source tree
...
To preserve the copyright notice and help with the 'Author' info for
subsequent changes to the file.
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Message-Id: <20230925182709.4834-5-kariem.taha2.7@gmail.com >
2023-10-03 17:14:06 -06:00
Stacey Son and Warner Losh
6756ae283a
bsd-user: Implement pdfork(2) system call.
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Message-Id: <20230925182425.3163-29-kariem.taha2.7@gmail.com >
2023-10-03 17:14:06 -06:00
Stacey Son and Warner Losh
510eecbc86
bsd-user: Implement rfork(2) system call.
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Message-Id: <20230925182425.3163-28-kariem.taha2.7@gmail.com >
2023-10-03 17:14:06 -06:00
Stacey Son and Warner Losh
831a5a7fcb
bsd-user: Implement fork(2) and vfork(2) system calls.
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Message-Id: <20230925182425.3163-27-kariem.taha2.7@gmail.com >
2023-10-03 17:14:06 -06:00
Stacey Son and Warner Losh
0571e3f5e2
bsd-user: Implement pdgetpid(2) and the undocumented setugid.
...
Signed-off-by: Stacey Son <sson@FreeBSD.org >
Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Warner Losh <imp@bsdimp.com >
Message-Id: <20230925182425.3163-26-kariem.taha2.7@gmail.com >
2023-10-03 17:14:06 -06:00