|
Revision tags: release/12.4.0, release/13.1.0 |
|
| #
947e8491 |
| 17-Jan-2022 |
Mark Johnston <[email protected]> |
sysent: Add a sv_psstringssz field to struct sysentvec
The size of the ps_strings structure varies between ABIs, so this is useful for computing the address of the ps_strings structure relative to t
sysent: Add a sv_psstringssz field to struct sysentvec
The size of the ps_strings structure varies between ABIs, so this is useful for computing the address of the ps_strings structure relative to the top of the stack when stack address randomization is enabled.
Reviewed by: kib Sponsored by: The FreeBSD Foundation
(cherry picked from commit 3fc21fdd5f8a4eeb71f43cc6841f59ef1debaf9a)
show more ...
|
| #
d2476114 |
| 17-Jan-2022 |
Mark Johnston <[email protected]> |
exec: Introduce the PROC_PS_STRINGS() macro
Rather than fetching the ps_strings address directly from a process' sysentvec, use this macro. With stack address randomization the ps_strings address i
exec: Introduce the PROC_PS_STRINGS() macro
Rather than fetching the ps_strings address directly from a process' sysentvec, use this macro. With stack address randomization the ps_strings address is no longer fixed.
Reviewed by: kib Sponsored by: The FreeBSD Foundation
(cherry picked from commit 706f4a81a81250a326ea25914e7effe1768f1a37)
show more ...
|
| #
1562fe49 |
| 31-Dec-2021 |
Mark Johnston <[email protected]> |
exec: Simplify sv_copyout_strings implementations a bit
Simplify control flow around handling of the execpath length and signal trampoline. Cache the sysentvec pointer in a local variable.
No func
exec: Simplify sv_copyout_strings implementations a bit
Simplify control flow around handling of the execpath length and signal trampoline. Cache the sysentvec pointer in a local variable.
No functional change intended.
Reviewed by: kib Sponsored by: The FreeBSD Foundation
(cherry picked from commit f04a096049382637178b54ffb45089f5f9fb3db9)
show more ...
|
|
Revision tags: release/12.3.0 |
|
| #
52d8029e |
| 05-Jun-2021 |
Konstantin Belousov <[email protected]> |
Add quirks for Linux ABI signals handling
(cherry picked from commit 870e197d52c1cb8c3ed6d04ddae34dcae57cb657)
|
|
Revision tags: release/13.0.0 |
|
| #
dc107fe1 |
| 14-Jan-2021 |
Konstantin Belousov <[email protected]> |
linuxolator: Add compat.linux.setid_allowed knob
PR: 21463
(cherry picked from commit 598f6fb49c9ca688029b79de0a44227ab79c608c)
|
| #
ddfa5b01 |
| 16-Feb-2021 |
Mark Johnston <[email protected]> |
linux: Update the i386/linux vdso deinitialization routine
This was missed in commit 0fc8a796722 ("linux: Unmap the VDSO page when unloading").
Reported by: Mark Millard MFC with: 0fc8a796722
(che
linux: Update the i386/linux vdso deinitialization routine
This was missed in commit 0fc8a796722 ("linux: Unmap the VDSO page when unloading").
Reported by: Mark Millard MFC with: 0fc8a796722
(cherry picked from commit aa5fef60bf663d31cddf53d7a8c6856d5e4672c0)
show more ...
|
| #
5faeda90 |
| 21-Jan-2021 |
Jessica Clarke <[email protected]> |
Rename i386's Linux ELF to Linux ELF32
This is what amd64 calls the i386 Linux ABI in order to distinguish it from the amd64 Linux ABI, and matches the nomenclature used for the FreeBSD ABIs where t
Rename i386's Linux ELF to Linux ELF32
This is what amd64 calls the i386 Linux ABI in order to distinguish it from the amd64 Linux ABI, and matches the nomenclature used for the FreeBSD ABIs where they always have the size suffix in the name.
Reviewed by: trasz Differential Revision: https://reviews.freebsd.org/D27647
show more ...
|
| #
4815f175 |
| 23-Nov-2020 |
Konstantin Belousov <[email protected]> |
Linuxolator: Replace use of eventhandlers by sysent hooks.
Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D27309
|
| #
866b1f51 |
| 27-Oct-2020 |
Edward Tomasz Napierala <[email protected]> |
Fix misnomer - linux_to_bsd_errno() does the exact opposite.
Reported by: arichardson MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26965
|
|
Revision tags: release/12.2.0 |
|
| #
1e2521ff |
| 27-Sep-2020 |
Edward Tomasz Napierala <[email protected]> |
Get rid of sa->narg. It serves no purpose; use sa->callp->sy_narg instead.
Reviewed by: kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26458
|
| #
70890254 |
| 17-Sep-2020 |
Edward Tomasz Napierala <[email protected]> |
Get rid of sv_errtbl and SV_ABI_ERRNO().
Reviewed by: kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26388
|
| #
c26391f4 |
| 15-Sep-2020 |
Edward Tomasz Napierala <[email protected]> |
Move SV_ABI_ERRNO translation into linux-specific code, to simplify the syscall path and declutter it a bit. No functional changes intended.
Reviewed by: kib (earlier version) MFC after: 2 weeks Sp
Move SV_ABI_ERRNO translation into linux-specific code, to simplify the syscall path and declutter it a bit. No functional changes intended.
Reviewed by: kib (earlier version) MFC after: 2 weeks Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26378
show more ...
|
| #
ed83a561 |
| 01-Sep-2020 |
Mateusz Guzik <[email protected]> |
i386: clean up empty lines in .c and .h files
|
|
Revision tags: release/11.4.0 |
|
| #
b24e6ac8 |
| 16-Apr-2020 |
Brooks Davis <[email protected]> |
Convert canary, execpathp, and pagesizes to pointers.
Use AUXARGS_ENTRY_PTR to export these pointers. This is a followup to r359987 and r359988.
Reviewed by: jhb Obtained from: CheriBSD Sponsored
Convert canary, execpathp, and pagesizes to pointers.
Use AUXARGS_ENTRY_PTR to export these pointers. This is a followup to r359987 and r359988.
Reviewed by: jhb Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24446
show more ...
|
| #
b5f20658 |
| 16-Dec-2019 |
Edward Tomasz Napierala <[email protected]> |
Add compat.linux.emul_path, so it can be set to something other than "/compat/linux". Useful when you have several compat directories with different Linux versions and you don't want to clash with f
Add compat.linux.emul_path, so it can be set to something other than "/compat/linux". Useful when you have several compat directories with different Linux versions and you don't want to clash with files installed by linux-c7 packages.
Reviewed by: bcr (manpages) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D22574
show more ...
|
| #
d8010b11 |
| 09-Dec-2019 |
John Baldwin <[email protected]> |
Copy out aux args after the argument and environment vectors.
Partially revert r354741 and r354754 and go back to allocating a fixed-size chunk of stack space for the auxiliary vector. Keep sv_copy
Copy out aux args after the argument and environment vectors.
Partially revert r354741 and r354754 and go back to allocating a fixed-size chunk of stack space for the auxiliary vector. Keep sv_copyout_auxargs but change it to accept the address at the end of the environment vector as an input stack address and no longer allocate room on the stack. It is now called at the end of copyout_strings after the argv and environment vectors have been copied out.
This should fix a regression in r354754 that broke the stack alignment for newer Linux amd64 binaries (and probably broke Linux arm64 as well).
Reviewed by: kib Tested on: amd64 (native, linux64 (only linux-base-c7), and i386) Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D22695
show more ...
|
| #
31174518 |
| 03-Dec-2019 |
John Baldwin <[email protected]> |
Use uintptr_t instead of register_t * for the stack base.
- Use ustringp for the location of the argv and environment strings and allow destp to travel further down the stack for the stackgap an
Use uintptr_t instead of register_t * for the stack base.
- Use ustringp for the location of the argv and environment strings and allow destp to travel further down the stack for the stackgap and auxv regions. - Update the Linux copyout_strings variants to move destp down the stack as was done for the native ABIs in r263349. - Stop allocating a space for a stack gap in the Linux ABIs. This used to hold translated system call arguments, but hasn't been used since r159992.
Reviewed by: kib Tested on: md64 (amd64, i386, linux64), i386 (i386, linux) Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D22501
show more ...
|
| #
03b0d68c |
| 18-Nov-2019 |
John Baldwin <[email protected]> |
Check for errors from copyout() and suword*() in sv_copyout_args/strings.
Reviewed by: brooks, kib Tested on: amd64 (amd64, i386, linux64), i386 (i386, linux) Sponsored by: DARPA Differential Revisi
Check for errors from copyout() and suword*() in sv_copyout_args/strings.
Reviewed by: brooks, kib Tested on: amd64 (amd64, i386, linux64), i386 (i386, linux) Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D22401
show more ...
|
| #
5caa67fa |
| 15-Nov-2019 |
John Baldwin <[email protected]> |
Use a sv_copyout_auxargs hook in the Linux ELF ABIs.
Reviewed by: emaste Tested on: amd64 (linux64 only), i386 Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D22356
|
| #
044ab55e |
| 06-Nov-2019 |
Edward Tomasz Napierala <[email protected]> |
Make linux(4) create /dev/shm. Linux applications often expect a tmpfs to be mounted there, and because they like to verify it's actually a mountpoint, a symlink won't do.
Reviewed by: dchagin (ear
Make linux(4) create /dev/shm. Linux applications often expect a tmpfs to be mounted there, and because they like to verify it's actually a mountpoint, a symlink won't do.
Reviewed by: dchagin (earlier version) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20333
show more ...
|
|
Revision tags: release/12.1.0 |
|
| #
a161fba9 |
| 18-Oct-2019 |
Yuri Pankov <[email protected]> |
linux: futex_mtx should follow futex_list
Move futex_mtx to linux_common.ko for amd64 and aarch64 along with respective list/mutex init/destroy.
PR: 240989 Reported by: Alex S <[email protected]>
|
|
Revision tags: release/11.3.0 |
|
| #
c5156c77 |
| 13-May-2019 |
Dmitry Chagin <[email protected]> |
Linuxulator depends on a fundamental kernel settings such as SMP. Many of them listed in opt_global.h which is not generated while building modules outside of a kernel and such modules never match re
Linuxulator depends on a fundamental kernel settings such as SMP. Many of them listed in opt_global.h which is not generated while building modules outside of a kernel and such modules never match real cofigured kernel.
So, we should prevent our users from building obviously defective modules.
Therefore, remove the root cause of the building of modules outside of a kernel - the possibility of building modules with DEBUG or KTR flags. And remove all of DEBUG printfs as it is incomplete and in threaded programms not informative, also a half of system call does not have DEBUG printf. For debuging Linux programms we have dtrace, ktr and ktrace ability.
PR: 222861 Reviewed by: trasz MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D20178
show more ...
|
| #
1699546d |
| 01-Mar-2019 |
Edward Tomasz Napierala <[email protected]> |
Remove sv_pagesize, originally introduced with r100384.
In all of the architectures we have today, we always use PAGE_SIZE. While in theory one could define different things, none of the current arc
Remove sv_pagesize, originally introduced with r100384.
In all of the architectures we have today, we always use PAGE_SIZE. While in theory one could define different things, none of the current architectures do, even the ones that have transitioned from 32-bit to 64-bit like i386 and arm. Some ancient mips binaries on other systems used 8k instead of 4k, but we don't support running those and likely never will due to their age and obscurity.
Reviewed by: imp (who also contributed the commit message) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D19280
show more ...
|
| #
628888f0 |
| 19-Dec-2018 |
Mateusz Guzik <[email protected]> |
Remove iBCS2, part2: general kernel
Reviewed by: kib (previous version) Sponsored by: The FreeBSD Foundation
|
|
Revision tags: release/12.0.0 |
|
| #
35755049 |
| 22-Jun-2018 |
Chuck Tuffli <[email protected]> |
Fix the Linux kernel version number calculation
The Linux compatibility code was converting the version number (e.g. 2.6.32) in two different ways and then comparing the results.
The linux_map_osre
Fix the Linux kernel version number calculation
The Linux compatibility code was converting the version number (e.g. 2.6.32) in two different ways and then comparing the results.
The linux_map_osrel() function converted MAJOR.MINOR.PATCH similar to what FreeBSD does natively. I.e. where major=v0, minor=v1, and patch=v2 v = v0 * 1000000 + v1 * 1000 + v2;
The LINUX_KERNVER() macro, on the other hand, converted the value with bit shifts. I.e. where major=a, minor=b, and patch=c v = (((a) << 16) + ((b) << 8) + (c))
The Linux kernel uses the later format via the KERNEL_VERSION() macro in include/generated/uapi/linux/version.h
Fix is to use the LINUX_KERNVER() macro in linux_map_osrel() as well as in the .trans_osrel functions.
PR: 229209 Reviewed by: emaste, cem, imp (mentor) Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D15952
show more ...
|