|
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0 |
|
| #
95f24ec8 |
| 13-Jul-2021 |
Edward Tomasz Napierala <[email protected]> |
linux(4): remove unfinished vsyscall bits on arm64
The vsyscall mechanism is obsolete.
Reviewed By: dchagin, emaste Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D31091
(c
linux(4): remove unfinished vsyscall bits on arm64
The vsyscall mechanism is obsolete.
Reviewed By: dchagin, emaste Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D31091
(cherry picked from commit 84a3963d5d94be05c913d04ea0cef4ac69a8bfc7)
show more ...
|
| #
5d5616ac |
| 01-Jun-2021 |
Edward Tomasz Napierala <[email protected]> |
linux: export AT_HWCAP and AT_HWCAP2 on aarch64
The flag values seem to be the same between Linux and FreeBSD. Comparing to a Linux VM on the same hardware, we're missing HWCAP_EVTSTRM, HWCAP_CPUID,
linux: export AT_HWCAP and AT_HWCAP2 on aarch64
The flag values seem to be the same between Linux and FreeBSD. Comparing to a Linux VM on the same hardware, we're missing HWCAP_EVTSTRM, HWCAP_CPUID, HWCAP_DCPOP, HWCAP_USCAT, HWCAP_PACA, and HWCAP_PACG.
Reviewed By: mhorne, emaste Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D30540
(cherry picked from commit b501b2ae52f3ccb384584dcbb5dc4a4568cc0096)
show more ...
|
| #
b36eaf0f |
| 28-May-2021 |
Edward Tomasz Napierala <[email protected]> |
linux: fix architecture returned for uname on aarch64
Previously it would return "arm64", which was breaking build for Linux kernel. While here, reshuffle entries in the auxv vector to match real L
linux: fix architecture returned for uname on aarch64
Previously it would return "arm64", which was breaking build for Linux kernel. While here, reshuffle entries in the auxv vector to match real Linux.
Reviewed By: emaste Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D30500
(cherry picked from commit aa462cab60c8957a97f612d36ac0a4dfa501bbbe)
show more ...
|
| #
2a454b54 |
| 16-Feb-2022 |
Mark Johnston <[email protected]> |
Fix the build after commit 5fa005e91560785dad5183db080209447afde3c2
Fixes: 5fa005e91560 ("exec: Reimplement stack address randomization")
|
| #
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 ...
|
| #
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)
|
| #
c0422e6c |
| 09-Apr-2021 |
Mitchell Horne <[email protected]> |
arm64: clear debug registers after execve(2)
This is both intuitive and required, as any previous breakpoint settings may not be applicable to the new process.
Reported by: arichardson Reviewed by:
arm64: clear debug registers after execve(2)
This is both intuitive and required, as any previous breakpoint settings may not be applicable to the new process.
Reported by: arichardson Reviewed by: kib Sponsored by: The FreeBSD Foundation
(cherry picked from commit a2a8b582bdc1c8c1f4da3ae727349327f5fc9dd8)
show more ...
|
| #
c6b96921 |
| 17-Mar-2021 |
John Baldwin <[email protected]> |
aarch64: Clear TLS registers during exec().
These are not stored in the trapframe so must be cleared explicitly.
This is similar to one of the MIPS changes in 822d2d6ac94f.
Obtained from: CheriBSD
aarch64: Clear TLS registers during exec().
These are not stored in the trapframe so must be cleared explicitly.
This is similar to one of the MIPS changes in 822d2d6ac94f.
Obtained from: CheriBSD Sponsored by: DARPA
(cherry picked from commit 0723b409150ae302eb021cbde86a5f77348a1bb4)
show more ...
|
| #
55872d47 |
| 09-Mar-2021 |
Alex Richardson <[email protected]> |
Arch64: Clear VFP state on execve()
I noticed that many of the math-related tests were failing on AArch64. After a lot of debugging, I noticed that the floating point exception flags were not being
Arch64: Clear VFP state on execve()
I noticed that many of the math-related tests were failing on AArch64. After a lot of debugging, I noticed that the floating point exception flags were not being reset when starting a new process. This change resets the VFP inside exec_setregs() to ensure no VFP register state is leaked from parent processes to children.
This commit also moves the clearing of fpcr that was added in 65618fdda0f27 from fork() to execve() since that makes more sense: fork() can retain current register values, but execve() should result in a well-defined clean state.
Reviewed By: andrew MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D29060
(cherry picked from commit 953a7d7c61f3b2f5351dfe668510ec782ae282e8)
show more ...
|
| #
3df2766a |
| 16-Feb-2021 |
Mark Johnston <[email protected]> |
linux: Unmap the VDSO page when unloading
linux_shared_page_init() creates an object and grabs and maps a single page to back the VDSO. When destroying the VDSO object, we failed to destroy the map
linux: Unmap the VDSO page when unloading
linux_shared_page_init() creates an object and grabs and maps a single page to back the VDSO. When destroying the VDSO object, we failed to destroy the mapping and free KVA. Fix this.
Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D28696
(cherry picked from commit 0fc8a796722846d0d676548aa0f5cc660199db73)
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 ...
|
|
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 ...
|
| #
0386b6c8 |
| 04-Dec-2019 |
Li-Wen Hsu <[email protected]> |
Fix arm64 build after r355373
Sponsored by: The FreeBSD Foundation
|
| #
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
|