#
2ce23b1f |
|
06-Mar-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
libc posix_spawn(): explain why rtld can be used after fork Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
ebaf9071 |
|
05-Mar-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
posix_spawn.c: fix typo in comment Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
822042fd |
|
03-Mar-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
posix_spawn(3): add POSIX_SPAWN_DISABLE_ASLR_NP similar to Apple _POSIX_SPAWN_DISABLE_ASLR Reviewed by: emaste, kevans Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44195
|
#
80ac36c3 |
|
03-Mar-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
posix_spawnattr_setflags(3): validate argument Reviewed by: emaste, kevans Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44195
|
#
8ccd0b87 |
|
11-Dec-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: expose execvpe for Linux compat We already implemented execvpe internally with an _ prefix in libc so go ahead and expose it for compatibility with Linux. This reverts c605eea952146348e5e1ad5cab6c127d7a1bd164. Bump __FreeBSD_version for the addition and add definitions to supress compat shims in libzfs (zfs changes were merged from upstream). PR: 275370 (request and exp-run (thanks antoine!)) Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D42846
|
#
559a218c |
|
01-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
libc: Purge unneeded cdefs.h These sys/cdefs.h are not needed. Purge them. They are mostly left-over from the $FreeBSD$ removal. A few in libc are still required for macros that cdefs.h defines. Keep those. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D42385
|
#
1d386b48 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
4d846d26 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
|
#
0c6f0c0d |
|
05-Nov-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
libc: move declaration of 'char **environ' to common private header Suggested by: imp Reviewed by: markj Tested by: markj (aarch64) Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D37220
|
#
a18ddf77 |
|
27-Nov-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
posix_spawn: add closefrom non-portable action Namely posix_spawn_file_actions_addclosefrom_np, in the form it is provided by glibc. Reviewed by: kevans, ngie (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D33143
|
#
25cda42a |
|
27-Nov-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
posix_spawn: add chdir-related non-portable actions Namely posix_spawn_file_actions_addchdir_np and posix_spawn_file_actions_addfchdir_np. Reviewed by: kevans, ngie (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D33143
|
#
b239cc20 |
|
27-Nov-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
posix_spawn: style, use return () Reviewed by: kevans, ngie (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D33143
|
#
adbaf1b4 |
|
27-Nov-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
posix_spawn.c: format fae_action anon enum more stylish Reviewed by: kevans, ngie (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D33143
|
#
ebff66b3 |
|
12-Jun-2020 |
Kyle Evans <kevans@FreeBSD.org> |
posix_spawn: fix for some custom allocator setups libc cannot assume that aligned_alloc and free come from jemalloc, or that any application providing its own malloc and free is actually providing aligned_alloc. Switch back to malloc and just make sure we're passing a properly aligned stack into rfork_thread, as an application perhaps can't reasonably replace just malloc or just free without headaches. This unbreaks ksh93 after r361996, which provides malloc/free but no aligned_alloc. Reported by: freqlabs Diagnosed by: Andrew Gierth <andrew_tao173.riddles.org.uk> X-MFC-With: r361996
|
#
f0fbdf1f |
|
09-Jun-2020 |
Kyle Evans <kevans@FreeBSD.org> |
execvPe: obviate the need for potentially large stack allocations Some environments in which execvPe may be called have a limited amount of stack available. Currently, it avoidably allocates a segment on the stack large enough to hold PATH so that it may be mutated and use strsep() for easy parsing. This logic is now rewritten to just operate on the immutable string passed in and do the necessary math to extract individual paths, since it will be copying out those segments to another buffer anyways and piecing them together with the name for a full path. Additional size is also needed for the stack in posix_spawnp(), because it may need to push all of argv to the stack and rebuild the command with sh in front of it. We'll make sure it's properly aligned for the new thread, but future work should likely make rfork_thread a little easier to use by ensuring proper alignment. Some trivial cleanup has been done with a couple of error writes, moving strings into char arrays for use with the less fragile sizeof(). Reported by: Andrew Gierth <andrew_tao173.riddles.org.uk> Reviewed by: jilles, kib, Andrew Gierth MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D25038
|
#
a1fa478b |
|
21-Jan-2020 |
Kyle Evans <kevans@FreeBSD.org> |
posix_spawn: mark error as volatile In the case of an error, the RFSPAWN'd thread will write back to psa->error with the correct exit code. Mark this as volatile as the return value is being actively dorked up for erroneous exits on !x86. This fixes the following tests, tested on aarch64 (only under qemu, at the moment): - posix_spawn/spawn_test:t_spawn_missing - posix_spawn/spawn_test:t_spawn_nonexec - posix_spawn/spawn_test:t_spawn_zero Reported by: mikael MFC after: 3 days
|
#
c34a5f16 |
|
25-Sep-2019 |
Kyle Evans <kevans@FreeBSD.org> |
posix_spawn(3): handle potential signal issues with vfork Described in [1], signal handlers running in a vfork child have opportunities to corrupt the parent's state. Address this by adding a new rfork(2) flag, RFSPAWN, that has vfork(2) semantics but also resets signal handlers in the child during creation. x86 uses rfork_thread(3) instead of a direct rfork(2) because rfork with RFMEM/RFSPAWN cannot work when the return address is stored on the stack -- further information about this problem is described under RFMEM in the rfork(2) man page. Addressing this has been identified as a prerequisite to using posix_spawn in subprocess on FreeBSD [2]. [1] https://ewontfix.com/7/ [2] https://bugs.python.org/issue35823 Reviewed by: jilles, kib Differential Revision: https://reviews.freebsd.org/D19058
|
#
d915a14e |
|
25-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
libc: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using mis-identified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
|
#
9b842193 |
|
25-May-2016 |
Don Lewis <truckman@FreeBSD.org> |
Fix Coverity CID 1016714 Resource leak in process_file_actions_entry() Don't leak a file descriptor of _dup2() fails (shouldn't happen). Reported by: Coverity CID: 1016714 MFC after: 1 week
|
#
3ea91783 |
|
29-Aug-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
Fix a mistake in r287292. Despite correctly stating intent in the comment above, POSIX_SPAWN_SETSIGMASK and POSIX_SPAWN_SETSIGDEF handlers used libthr interposed functions instead of syscalls. Noted by: jilles Sponsored by: The FreeBSD Foundation MFC after: 6 days
|
#
bd6060a1 |
|
29-Aug-2015 |
Konstantin Belousov <kib@FreeBSD.org> |
Switch libc from using _sig{procmask,action,suspend} symbols, which are aliases for the syscall stubs and are plt-interposed, to the libc-private aliases of internally interposed sigprocmask() etc. Since e.g. _sigaction is not interposed by libthr, calling signal() removes thr_sighandler() from the handler slot etc. The result was breaking signal semantic and rtld locking. The added __libc_sigprocmask and other symbols are hidden, they are not exported and cannot be called through PLT. The setjmp/longjmp functions for x86 were changed to use direct calls, and since PIC_PROLOGUE only needed for functional PLT indirection on i386, it is removed as well. The PowerPC bug of calling the syscall directly in the setjmp/longjmp implementation is kept as is. Reported by: Pete French <petefrench@ingresso.co.uk> Tested by: Michiel Boland <boland37@xs4all.nl> Reviewed by: jilles (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
9ea47cac |
|
10-Jul-2011 |
Jilles Tjoelker <jilles@FreeBSD.org> |
posix_spawn: If an error is detected in the child process, reap the zombie. Formerly, in this case an error was returned but the pid was also returned to the application, requiring the application to use unspecified behaviour (the returned pid in error situations) to avoid zombies. Now, reap the zombie and do not return the pid. MFC after: 2 weeks
|
#
1d9a9b79 |
|
26-Jun-2011 |
Ed Schouten <ed@FreeBSD.org> |
Fix whitespace inconsistencies in libc in files copyrighted by me.
|
#
562b2882 |
|
30-May-2011 |
Jilles Tjoelker <jilles@FreeBSD.org> |
posix_spawn(): Do not fail when trying to close an fd that is not open. As noted in Austin Group issue #370 (an interpretation has been issued), failing posix_spawn() because an fd specified with posix_spawn_file_actions_addclose() is not open is unnecessarily harsh, and there are existing implementations that do not fail posix_spawn() for this reason. Reviewed by: ed MFC after: 10 days
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
fe0506d7 |
|
09-Mar-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Create the altix project branch. The altix project will add support for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting is a two-module system, consisting of a base compute module and a CPU expansion module. SGI's NUMAFlex architecture can be an excellent platform to test CPU affinity and NUMA-aware features in FreeBSD.
|
#
994f9863 |
|
23-Oct-2008 |
Roman Divacky <rdivacky@FreeBSD.org> |
Fix a typo. Approved by: kib (mentor)
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
c605eea9 |
|
22-Jun-2008 |
Ed Schouten <ed@FreeBSD.org> |
Turn execvpe() into an internal libc routine. Adding exevpe() has caused some ports to break. Even though execvpe() is a useful routine, it does not conform to any standards. This patch is a little bit different from the patch sent to the mailing list. I forgot to remove execvpe from the Symbol.map (which does not seem to miscompile libc, though). Reviewed by: davidxu Approved by: philip
|
#
8e9a8a6c |
|
18-Jun-2008 |
David Xu <davidxu@FreeBSD.org> |
Process spawn attributes in POSIX document order.
|
#
fdbeb80a |
|
17-Jun-2008 |
David Xu <davidxu@FreeBSD.org> |
Style fix.
|
#
d1b2bd21 |
|
17-Jun-2008 |
Ed Schouten <ed@FreeBSD.org> |
Change my email address to the one from the FreeBSD project. Approved by: philip (mentor, implicit), davidxu
|
#
947aa542 |
|
17-Jun-2008 |
David Xu <davidxu@FreeBSD.org> |
Add POSIX routines called posix_spawn() and posix_spawnp(), which can be used as replacements for exec/fork in a lot of cases. This change also added execvpe() which allows environment variable PATH to be used for searching executable file, it is used for implementing posix_spawnp(). PR: standards/122051
|