| #
080d8ed7
|
| 25-Jan-2026 |
Konstantin Belousov <kib@FreeBSD.org> |
libc: add posix_spawnattr_{get,set}procdescp_np
Reviewed by: asomers Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54879
|
| #
3f0aea09
|
| 24-Jan-2026 |
Konstantin Belousov <kib@FreeBSD.org> |
libc: add posix_spawnattr_{get,set}execfd_np(3)
If execfd is set, the fexecve(2) is used by posix_spawn() instead of the provided path.
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC a
libc: add posix_spawnattr_{get,set}execfd_np(3)
If execfd is set, the fexecve(2) is used by posix_spawn() instead of the provided path.
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54862
show more ...
|
| #
9dc1ac86
|
| 29-Aug-2025 |
Olivier Certner <olce@FreeBSD.org> |
initgroups(3): Add a pre-FreeBSD-15-compatible version
After commit 9da2fe96ff2e ("kern: fix setgroups(2) and getgroups(2) to match other platforms"), initgroups() does not set the effective GID any
initgroups(3): Add a pre-FreeBSD-15-compatible version
After commit 9da2fe96ff2e ("kern: fix setgroups(2) and getgroups(2) to match other platforms"), initgroups() does not set the effective GID anymore and uses all passed groups as the supplementary group list. This effectively breaks backwards compatibility with programs/libraries compiled on a FreeBSD 14 or earlier system.
Restore compatibility by creating a new version of the 'initgroups' symbol that designates the current implementation and providing a pre-FreeBSD-15-compatible version under the symbol's previously exported version. The new version calls the new setgroups(2) system call, while the compatible one calls the original one (called freebsd14_setgroups()).
Update the manual page with some history and comparison with other current open-source systems. Add a "SECURITY CONSIDERATIONS" section highlighting some security properties of this approach and the reasons we adopt it. While here, revamp the manual page, in particular to use the exact POSIX terminology where possible.
Note for MFC to stable/14: Only the manual page update is to be MFCed, and the text changed to reflect the old behavior and inform readers of the new upcoming behavior in 15.
Reviewed by: kib Fixes: 9da2fe96ff2e ("kern: fix setgroups(2) and getgroups(2) to match other platforms") MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52282
show more ...
|
| #
d20c8250
|
| 11-Sep-2025 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Revert "libc: Remove readdir_r(3)"
This reverts commit d549de769055ae6116601e54e4c86dfb3e17f4c4.
|
| #
d549de76
|
| 10-Sep-2025 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
libc: Remove readdir_r(3)
This function was never safe to use. We marked it deprecated in the manual page in 2016, and it is marked obsolete in POSIX 2024. We previously added a linker warning and
libc: Remove readdir_r(3)
This function was never safe to use. We marked it deprecated in the manual page in 2016, and it is marked obsolete in POSIX 2024. We previously added a linker warning and annotated the prototype; now that stable/15 has been branched, we can remove it from main.
Relnotes: yes Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D52474
show more ...
|
| #
2c444fdb
|
| 10-Jul-2025 |
Jessica Clarke <jrtc27@FreeBSD.org> |
libc,libthr: Remove __pthread_distribute_static_tls
This private API is no longer used by rtld-elf so can be removed.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D50921
|
| #
ccf93732
|
| 09-Jul-2025 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
libc: Finish removing fscandir{,_b}().
These only existed for a few days before being renamed, so there's no reason to continue to carry compatibility shims for them.
Fixes: deeebfdecab5 Sponsored
libc: Finish removing fscandir{,_b}().
These only existed for a few days before being renamed, so there's no reason to continue to carry compatibility shims for them.
Fixes: deeebfdecab5 Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D50981
show more ...
|
| #
245ff4c4
|
| 03-Jul-2025 |
Mark Johnston <markj@FreeBSD.org> |
libc: Add inotify support
inotify_init() and inotify_init1() are implemented using __specialfd(2). inotify_add_watch() is implemented in terms of inotify_add_watch_at(2).
Reviewed by: kib MFC after
libc: Add inotify support
inotify_init() and inotify_init1() are implemented using __specialfd(2). inotify_add_watch() is implemented in terms of inotify_add_watch_at(2).
Reviewed by: kib MFC after: 3 months Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50315
show more ...
|
| #
0a5b763d
|
| 23-Jun-2025 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
libc: Rename fscandir{,_b}() to fdscandir{,_b}().
This seems to fit the pattern better (e.g. fdopendir()).
I've added weak references to ease the transition, but since it's only been a few days, we
libc: Rename fscandir{,_b}() to fdscandir{,_b}().
This seems to fit the pattern better (e.g. fdopendir()).
I've added weak references to ease the transition, but since it's only been a few days, we can remove them (and the ObsoleteFiles entries for the manual pages) before we branch stable/15.
Fixes: deeebfdecab5 Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D50980
show more ...
|
| #
deeebfde
|
| 20-Jun-2025 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
libc: Add fscandir(), fscandir_b(), scandirat_b().
While here, clean up scandir() a bit and improve the documentation.
MFC after: never Sponsored by: Klara, Inc. Reviewed by: markj Differential Rev
libc: Add fscandir(), fscandir_b(), scandirat_b().
While here, clean up scandir() a bit and improve the documentation.
MFC after: never Sponsored by: Klara, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50935
show more ...
|
| #
3d125671
|
| 10-May-2025 |
Ricardo Branco <rbranco@suse.de> |
Add the POSIX sig2str(3) & str2sig(3) calls
Signed-off-by: Ricardo Branco <rbranco@suse.de> Reviewed by: imp, kib, des, jilles Pull Request: https://github.com/freebsd/freebsd-src/pull/1696
|
| #
1e0743f5
|
| 23-May-2025 |
Bojan Novković <bnovkov@FreeBSD.org> |
glob: Add blocks support
This change introduces the `glob_b` function which takes a block instead of a function pointer.
Relnotes: yes Sponsored by: Klara, Inc. Inspired by: https://github.com/a
glob: Add blocks support
This change introduces the `glob_b` function which takes a block instead of a function pointer.
Relnotes: yes Sponsored by: Klara, Inc. Inspired by: https://github.com/apple-oss-distributions/Libc Differential Revision: https://reviews.freebsd.org/D50485
show more ...
|
| #
a56fe703
|
| 23-May-2025 |
Konstantin Belousov <kib@FreeBSD.org> |
Provide user interface to retrieve reported extended errors
Reviewed by: brooks Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D50483
|
| #
f0ac5e91
|
| 22-Apr-2025 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
fts: Add blocks support.
This adds an `fts_open_b()` variant of `fts_open()` which takes a block instead of a function pointer.
This was inspired by, and is intended to be compatible with, Apple's
fts: Add blocks support.
This adds an `fts_open_b()` variant of `fts_open()` which takes a block instead of a function pointer.
This was inspired by, and is intended to be compatible with, Apple's implementation; however, although our FTS and theirs share a common ancestor, they have diverged significantly. That and the fact that we still target compilers which don't support blocks means Apple's implementation was not directly reusable.
This is the second use case for blocks in FreeBSD (the first being `qsort_b()`, which we use here). This suggest we might want to add a `COMPILER_FEATURE` for blocks to avoid hardcoding any further `COMPILER_TYPE` checks.
MFC after: never Relnotes: yes Sponsored by: Klara, Inc. Reviewed by: kevans, theraven, imp Differential Revision: https://reviews.freebsd.org/D49877
show more ...
|
| #
3b2f0bfc
|
| 16-Apr-2025 |
Ricardo Branco <rbranco@suse.de> |
Add POSIX psiginfo(3) call
Signed-off-by: Ricardo Branco <rbranco@suse.de> PR: 286133 MFC after: 1 week Github PR: https://github.com/freebsd/freebsd-src/pull/1666
|
| #
83aafcdc
|
| 14-Nov-2024 |
Kyle Evans <kevans@FreeBSD.org> |
libc, libthr: coordinate stubs for pthread_{suspend,resume}_all_np
If libthr isn't linked into the process, then we don't have any pthreads to worry about and our stubs can just return success -- th
libc, libthr: coordinate stubs for pthread_{suspend,resume}_all_np
If libthr isn't linked into the process, then we don't have any pthreads to worry about and our stubs can just return success -- there are none to suspend/resume.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D47350
show more ...
|
| #
1426fd6c
|
| 14-Nov-2024 |
Kyle Evans <kevans@FreeBSD.org> |
rtld: implement _dl_iterate_phdr_locked
Some sanitizers need to be able to use dl_iterate_phdr() after stopping the rest of the process, but it's very hard to do so reliably as a non-participant in
rtld: implement _dl_iterate_phdr_locked
Some sanitizers need to be able to use dl_iterate_phdr() after stopping the rest of the process, but it's very hard to do so reliably as a non-participant in the main logic of the program.
Introduce _dl_iterate_phdr_locked to bypass the locking that's normally required for dl_iterate_phdr() and slap some scary warning on it. It will remain undocumented and probably shouldn't be used for anything else.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D47558
show more ...
|
| #
c56df6ce
|
| 31-Oct-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
rtld: add rtld_{get,set}_var
Reviewed by: brooks (previous version) Discussed with: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D
rtld: add rtld_{get,set}_var
Reviewed by: brooks (previous version) Discussed with: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D47351
show more ...
|
| #
b1209067
|
| 15-Mar-2024 |
Brooks Davis <brooks@FreeBSD.org> |
lib{c,sys}: correctly expose sched_getcpu
When moving the implementation, I failed to move the symbol entry.
Reviewed by: kib Fixes: 84dd0c080ba5 libc: libc/gen/sched_getcpu_gen.c -> libsys/ Diffe
lib{c,sys}: correctly expose sched_getcpu
When moving the implementation, I failed to move the symbol entry.
Reviewed by: kib Fixes: 84dd0c080ba5 libc: libc/gen/sched_getcpu_gen.c -> libsys/ Differential Revision: https://reviews.freebsd.org/D44112
show more ...
|
| #
a34940a9
|
| 12-Mar-2024 |
Warner Losh <imp@FreeBSD.org> |
timezone: Move to the XSI/POSIX definition for timezone.
The old timezone(3) function has long since been obsolete and has a fatally flawed interface. Retain this function for compatibility purposes
timezone: Move to the XSI/POSIX definition for timezone.
The old timezone(3) function has long since been obsolete and has a fatally flawed interface. Retain this function for compatibility purposes, but shift to providing the offset from UTC in the timezone variable, whether or not the timezone observes summer time in the 'daylight' variable. Document the tzname variable that's already been set. Also make _tztab() static. It's not used in libc (or anywhere in the tree) and it's not exported as a public dynamic symbol.
Sponsored by: Netflix Reviewed by: brooks, kib Differential Revision: https://reviews.freebsd.org/D44281
show more ...
|
| #
882d9f45
|
| 28-Feb-2024 |
Brooks Davis <brooks@FreeBSD.org> |
lib{c,sys}: expose cap_sandboxed from libc/gen
It's a thin wrapper on cap_getmode() implemented in libc, not a system call so the symbol should have been exposed by libc/gen/Symbol.map alongside the
lib{c,sys}: expose cap_sandboxed from libc/gen
It's a thin wrapper on cap_getmode() implemented in libc, not a system call so the symbol should have been exposed by libc/gen/Symbol.map alongside the implementation.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44110
show more ...
|
| #
fe920a4f
|
| 20-Feb-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
libsys: move errno to libsys
Before, the 'errno' itself was defined in libc and was referenced by libsys, causing undesired dependency.
Reviewed by: brooks, imp Sponsored by: The FreeBSD Foundation
libsys: move errno to libsys
Before, the 'errno' itself was defined in libc and was referenced by libsys, causing undesired dependency.
Reviewed by: brooks, imp Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D43985
show more ...
|
| #
06cb1c3f
|
| 01-Feb-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
libc: add aio_read2() and aio_write2() functions
as wrappers around lio_listio(LIO_READ/WRITE | LIO_FOFFSET, &iocb, 1);
Suggested and reviewed by: jhb Discussed with: asomers Sponsored by: The Free
libc: add aio_read2() and aio_write2() functions
as wrappers around lio_listio(LIO_READ/WRITE | LIO_FOFFSET, &iocb, 1);
Suggested and reviewed by: jhb Discussed with: asomers Sponsored by: The FreeBSD Foundation MFC after: 1 week Differrential revision: https://reviews.freebsd.org/D43448
show more ...
|
| #
f70c5a09
|
| 17-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: move getpagesize(s) to libsys
Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
|
| #
4c33415e
|
| 15-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libc: elf auxiliary vector handling to libsys
This is part of the interface to the kernel and some syscall wrappers depend on it so move it there.
Reviewed by: kib, emaste, imp Pull Request: https:
libc: elf auxiliary vector handling to libsys
This is part of the interface to the kernel and some syscall wrappers depend on it so move it there.
Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
show more ...
|