#
cafeb892 |
| 12-Dec-2023 |
deraadt <deraadt@openbsd.org> |
remove support for syscall(2) -- the "indirection system call" because it is a dangerous alternative entry point for all system calls, and thus incompatible with the precision system call entry point
remove support for syscall(2) -- the "indirection system call" because it is a dangerous alternative entry point for all system calls, and thus incompatible with the precision system call entry point scheme we are heading towards. This has been a 3-year mission: First perl needed a code-generated wrapper to fake syscall(2) as a giant switch table, then all the ports were cleaned with relatively minor fixes, except for "go". "go" required two fixes -- 1) a framework issue with old library versions, and 2) like perl, a fake syscall(2) wrapper to handle ioctl(2) and sysctl(2) because "syscall(SYS_ioctl" occurs all over the place in the "go" ecosystem because the "go developers" are plan9-loving unix-hating folk who tried to build an ecosystem without allowing "ioctl". ok kettenis, jsing, afresh1, sthen
show more ...
|
#
170ca6cd |
| 18-May-2023 |
guenther <guenther@openbsd.org> |
Add PROTO_NORMAL() declarations for the remaining syscalls, to avoid future, inadvertant PLT entries. Move the __getcwd and __realpath declarations to hidden/{stdlib,unistd}.h to consolidate and rem
Add PROTO_NORMAL() declarations for the remaining syscalls, to avoid future, inadvertant PLT entries. Move the __getcwd and __realpath declarations to hidden/{stdlib,unistd}.h to consolidate and remove duplication.
ok tb@ otto@ deraadt@
show more ...
|
#
8b23add8 |
| 13-Jul-2018 |
beck <beck@openbsd.org> |
Unveiling unveil(2). This brings unveil into the tree, disabled by default - Currently this will return EPERM on all attempts to use it until we are fully certain it is ready for people to start usin
Unveiling unveil(2). This brings unveil into the tree, disabled by default - Currently this will return EPERM on all attempts to use it until we are fully certain it is ready for people to start using, but this now allows for others to do more tweaking and experimentation.
Still needs to send the unveil's across forks and execs before fully enabling.
Many thanks to robert@ and deraadt@ for extensive testing. ok deraadt@
show more ...
|
#
9e9a60b0 |
| 12-Sep-2016 |
guenther <guenther@openbsd.org> |
Don't declare select() in <unistd.h>
ok deraadt@ millert@
|
#
df1557eb |
| 23-May-2016 |
guenther <guenther@openbsd.org> |
Remove iruserok(_sa)? and __ivaliduser(sa)?
ok millert@ deraadt@
|
#
fe38b55c |
| 07-May-2016 |
guenther <guenther@openbsd.org> |
Use a Thread Information Block in both single and multi-threaded programs. This stores errno, the cancelation flags, and related bits for each thread and is allocated by ld.so or libc.a. This is an
Use a Thread Information Block in both single and multi-threaded programs. This stores errno, the cancelation flags, and related bits for each thread and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable!
Make libpthread dlopen'able by moving the cancelation wrappers into libc and doing locking and fork/errno handling via callbacks that libpthread registers when it first initializes. 'errno' *must* be declared via <errno.h> now!
Clean up libpthread's symbol exports like libc.
On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec.
Testing by various, particularly sthen@ and patrick@ ok kettenis@
show more ...
|
#
d598eb07 |
| 30-Mar-2016 |
guenther <guenther@openbsd.org> |
Eliminate userspace caching by getlogin_r/setlogin; make the getlogin syscall behave exactly like userspace getlogin_r() and rename it to match. Eliminate the reduced-to-no-op wrappers of the syscal
Eliminate userspace caching by getlogin_r/setlogin; make the getlogin syscall behave exactly like userspace getlogin_r() and rename it to match. Eliminate the reduced-to-no-op wrappers of the syscalls. Eliminate the unnecessary per-thread static buffering by getlogin().
ok kettenis@ deraadt@
show more ...
|
#
5af055cd |
| 20-Mar-2016 |
guenther <guenther@openbsd.org> |
Rearrange C runtime bits: now that ld.so exports environ and __progname, move their definitions and initialization in static links to libc.a Make crt0 always invoke a new func _csu_finish() in libc t
Rearrange C runtime bits: now that ld.so exports environ and __progname, move their definitions and initialization in static links to libc.a Make crt0 always invoke a new func _csu_finish() in libc to process the auxv and to either register the ld.so cleanup function (in dynamic links) or initialize environ and __progname and do MC_DISABLE_KBIND (in static links). In libc, get pagesize from auxv; cache that between getpagesize() and sysconf(_SC_PAGESIZE)
ok mpi@ "good time" deraadt@
show more ...
|
#
f7054341 |
| 17-Oct-2015 |
deraadt <deraadt@openbsd.org> |
PROTO_NORMAL for pledge(); ok guenther
|
#
0d943ef0 |
| 13-Sep-2015 |
guenther <guenther@openbsd.org> |
Wrap <stdlib.h> so that calls go direct and the symbols not in the C standard are all weak. Apply __{BEGIN,END}_HIDDEN_DECLS to gdtoa{,imp}.h, hiding the arch-specific __strtorx, __ULtox_D2A, __strto
Wrap <stdlib.h> so that calls go direct and the symbols not in the C standard are all weak. Apply __{BEGIN,END}_HIDDEN_DECLS to gdtoa{,imp}.h, hiding the arch-specific __strtorx, __ULtox_D2A, __strtorQ, __ULtoQ_D2A symbols.
show more ...
|
#
0e3c6306 |
| 12-Sep-2015 |
guenther <guenther@openbsd.org> |
Wrap <unistd.h> so that internal calls go direct and they're all weak symbols Delete unused 'fd' argument from internal function oldttyname()
|
#
15a0f535 |
| 11-Sep-2015 |
guenther <guenther@openbsd.org> |
Add PROTO_WRAP() for (almost) all the syscalls that libpthread doesn't override so that internal calls go direct
ok deraadt@
|
#
b33a8d55 |
| 11-Sep-2015 |
guenther <guenther@openbsd.org> |
Use PROTO_NORMAL() on __syscall to go direct, adjusting the declaration to eliminate some casts. Retire some uses of old-style STUB* macros where superseded by namespace.h bits
tweaks and ok deraadt@
|