#
d060b420 |
| 18-Mar-2024 |
Brooks Davis <brooks@FreeBSD.org> |
freebsd32: struct siginfo32 -> struct __siginfo32
In the next commit I will update syscalls.master to use struct __siginfo (which actually exists) so this update will be needed to make generated fil
freebsd32: struct siginfo32 -> struct __siginfo32
In the next commit I will update syscalls.master to use struct __siginfo (which actually exists) so this update will be needed to make generated files (from make sysent) align.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44380
show more ...
|
Revision tags: release/13.3.0 |
|
#
fdafd315 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
f6ac79fb |
| 02-Jun-2022 |
Kornel Dulęba <kd@FreeBSD.org> |
Introduce the PROC_SIGCODE() macro
Use a getter macro instead of fetching the sigcode address directly from a sysent of a given process. It assumes that the sigcode is stored in the shared page, whi
Introduce the PROC_SIGCODE() macro
Use a getter macro instead of fetching the sigcode address directly from a sysent of a given process. It assumes that the sigcode is stored in the shared page, which is true in all cases, except for a.out binaries. This will be later useful when the shared page address randomization is introduced. No functional change intended.
Approved by: mw(mentor) Sponsored by: Stormshield Obtained from: Semihalf Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D35392
show more ...
|
Revision tags: release/13.1.0 |
|
#
706f4a81 |
| 17-Jan-2022 |
Mark Johnston <markj@FreeBSD.org> |
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 MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33704
show more ...
|
#
bd7630ef |
| 14-Jan-2022 |
John Baldwin <jhb@FreeBSD.org> |
ia32: Sync signal context type names with i386.
- Use ia32_freebsd4_* instead of ia32_*4. - Use ia32_o* instead of ia32_*3.
Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge,
ia32: Sync signal context type names with i386.
- Use ia32_freebsd4_* instead of ia32_*4. - Use ia32_o* instead of ia32_*3.
Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33882
show more ...
|
Revision tags: release/12.3.0 |
|
#
98c8b625 |
| 14-Nov-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
vdso for ia32 on amd64
Reviewed by: emaste Discussed with: jrtc27 Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 month Differential revision: https://reviews.freebsd.org/D32960
|
#
c5658876 |
| 12-Nov-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
amd64/ia32/ia32_signal.c: Use ANSI C functions definitions
Remove MPSAFE annotations.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
|
#
b1e2f063 |
| 27-Sep-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
amd64 sendsig: fix context corruption
Drop fpstate only after copying out xfpustate from the thread usermode save area. Otherwise a context switch between get_fpcontext(), which now returns the poin
amd64 sendsig: fix context corruption
Drop fpstate only after copying out xfpustate from the thread usermode save area. Otherwise a context switch between get_fpcontext(), which now returns the pointer directly into user save area, and copyout, would cause reinit of the save area, loosing user registers.
Reported, reviewed, and tested by: markj Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D32159
show more ...
|
#
c2ee4dfd |
| 21-Sep-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
ia32_get_fpcontext(): xfpusave can be legitimately NULL
Reported by: cy Sponsored by: The FreeBSD Foundation MFC after: 1 week Fixes: bd9e0f5df681da8b5ef05
|
#
bd9e0f5d |
| 15-Sep-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
amd64: eliminate td_md.md_fpu_scratch
For signal send, copyout from the user FPU save area directly.
For sigreturn, we are in sleepable context and can do temporal allocation of the transient save
amd64: eliminate td_md.md_fpu_scratch
For signal send, copyout from the user FPU save area directly.
For sigreturn, we are in sleepable context and can do temporal allocation of the transient save area. We cannot copying from userspace directly to user save area because XSAVE state needs to be validated, also partial copyins can corrupt it.
Requested by: jhb Reviewed by: jhb, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D31954
show more ...
|
#
df8dd602 |
| 13-Sep-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
amd64: stop using top of the thread' kernel stack for FPU user save area
Instead do one more allocation at the thread creation time. This frees a lot of space on the stack.
Also do not use alloca(
amd64: stop using top of the thread' kernel stack for FPU user save area
Instead do one more allocation at the thread creation time. This frees a lot of space on the stack.
Also do not use alloca() for temporal storage in signal delivery sendsig() function and signal return syscall sys_sigreturn(). This saves equal amount of space, again by the cost of one more allocation at the thread creation time.
A useful experiment now would be to reduce KSTACK_PAGES.
Reviewed by: jhb, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D31954
show more ...
|
#
a42d362b |
| 14-Sep-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
amd64: centralize definitions of CS_SECURE and EFL_SECURE
Requested by markj Reviewed by: jhb, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: http
amd64: centralize definitions of CS_SECURE and EFL_SECURE
Requested by markj Reviewed by: jhb, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D31954
show more ...
|
#
d50adfec |
| 10-Apr-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
amd64: clear debug registers on execing 32bit native binary
Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D29687
|
Revision tags: release/13.0.0, release/12.2.0, release/11.4.0 |
|
#
397df744 |
| 15-Apr-2020 |
Brooks Davis <brooks@FreeBSD.org> |
Make ps_strings in struct image_params into a pointer.
This is a prepratory commit for D24407.
Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA
|
#
59838c1a |
| 01-Apr-2020 |
John Baldwin <jhb@FreeBSD.org> |
Retire procfs-based process debugging.
Modern debuggers and process tracers use ptrace() rather than procfs for debugging. ptrace() has a supserset of functionality available via procfs and new deb
Retire procfs-based process debugging.
Modern debuggers and process tracers use ptrace() rather than procfs for debugging. ptrace() has a supserset of functionality available via procfs and new debugging features are only added to ptrace(). While the two debugging services share some fields in struct proc, they each use dedicated fields and separate code. This results in extra complexity to support a feature that hasn't been enabled in the default install for several years.
PR: 244939 (exp-run) Reviewed by: kib, mjg (earlier version) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D23837
show more ...
|
#
31174518 |
| 04-Dec-2019 |
John Baldwin <jhb@FreeBSD.org> |
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 ...
|
Revision tags: release/12.1.0, release/11.3.0 |
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
Revision tags: release/12.0.0 |
|
#
607a0eb2 |
| 26-Nov-2018 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
Remove superfluous bzero in getcontext/swapcontext/sendsig
We zero the whole structure; we don't need to zero the __spare__ field again.
Remove trailing whitespace.
MFC after: 2 weeks Sponsored by
Remove superfluous bzero in getcontext/swapcontext/sendsig
We zero the whole structure; we don't need to zero the __spare__ field again.
Remove trailing whitespace.
MFC after: 2 weeks Sponsored by: Dell EMC Isilon
show more ...
|
#
f5e7d8bd |
| 26-Nov-2018 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
Prevent kernel stack disclosure in getcontext/swapcontext
Expand r338982 to cover freebsd32 interfaces on amd64, mips, and powerpc.
MFC after: 2 days Security: FreeBSD-EN-18:12.mem Security: CVE-20
Prevent kernel stack disclosure in getcontext/swapcontext
Expand r338982 to cover freebsd32 interfaces on amd64, mips, and powerpc.
MFC after: 2 days Security: FreeBSD-EN-18:12.mem Security: CVE-2018-17155 Sponsored by: Dell EMC Isilon
show more ...
|
#
3d5db455 |
| 24-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340427 through r340868.
|
#
2910a161 |
| 22-Nov-2018 |
Mark Johnston <markj@FreeBSD.org> |
Clear unused bytes in ia32_osendsig().
Mirror the fix for the native i386 implementation from r218327. This code is compiled only when the non-default COMPAT_43 option is configured.
Reported by:
Clear unused bytes in ia32_osendsig().
Mirror the fix for the native i386 implementation from r218327. This code is compiled only when the non-default COMPAT_43 option is configured.
Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com> Reviewed by: kib MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18298
show more ...
|
Revision tags: release/11.2.0 |
|
#
7c5d1690 |
| 12-Apr-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Fix PSL_T inheritance on exec for x86.
The miscellaneous x86 sysent->sv_setregs() implementations tried to migrate PSL_T from the previous program to the new executed one, but they evaluated regs->t
Fix PSL_T inheritance on exec for x86.
The miscellaneous x86 sysent->sv_setregs() implementations tried to migrate PSL_T from the previous program to the new executed one, but they evaluated regs->tf_eflags after the whole regs structure was bzeroed. Make this functional by saving PSL_T value before zeroing.
Note that if the debugger is not attached, executing the first instruction in the new program with PSL_T set results in SIGTRAP, and since all intercepted signals are reset to default dispostion on exec(2), this means that non-debugged process gets killed immediately if PSL_T is inherited. In particular, since suid images drop P_TRACED, attempt to set PSL_T for execution of such program would kill the process.
Another issue with userspace PSL_T handling is that it is reset by trap(). It is reasonable to clear PSL_T when entering SIGTRAP handler, to allow the signal to be handled without recursion or delivery of blocked fault. But it is not reasonable to return back to the normal flow with PSL_T cleared. This is too late to change, I think.
Discussed with: bde, Ali Mashtizadeh Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D14995
show more ...
|
#
6469bdcd |
| 06-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is close
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is closer to "just about everywhere" than "only some files" per the guidance in sys/conf/options.
Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset of sys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.h is created on all architectures.
Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control the set of compiled files.
Reviewed by: kib, cem, jhb, jtl Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14941
show more ...
|
#
d41e41f9 |
| 27-Mar-2018 |
John Baldwin <jhb@FreeBSD.org> |
Remove very old and unused signal information codes.
These have been supplanted by the MI signal information codes in <sys/signal.h> since 7.0. The FPE_*_TRAP ones were deprecated even earlier in 1
Remove very old and unused signal information codes.
These have been supplanted by the MI signal information codes in <sys/signal.h> since 7.0. The FPE_*_TRAP ones were deprecated even earlier in 1999.
PR: 226579 (exp-run) Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D14637
show more ...
|