Strengthen the pledge() polyfill

This commit is contained in:
Justine Tunney 2022-06-27 13:01:58 -07:00
parent a6f65eea7c
commit 3c92adfd6e
79 changed files with 1457 additions and 357 deletions

View file

@ -35,7 +35,7 @@
* @vforksafe
* @noreturn
*/
wontreturn void _Exit(int exitcode) {
privileged wontreturn void _Exit(int exitcode) {
int i;
STRACE("_Exit(%d)", exitcode);
if (!IsWindows() && !IsMetal()) {

View file

@ -18,6 +18,7 @@
*/
#include "libc/sysv/consts/nr.h"
#include "libc/macros.internal.h"
.privileged
_futex: mov __NR_futex,%eax
clc

View file

@ -47,7 +47,8 @@ static union metatermios __oldtermios;
static textstartup void __oldtermios_init() {
int e;
e = errno;
if (sys_ioctl(0, TCGETS, &__oldtermios) != -1) {
if (!IsOpenbsd() && // avoid pledge(tty)
sys_ioctl(0, TCGETS, &__oldtermios) != -1) {
__isrestorable = true;
}
errno = e;