diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2023-12-12 15:30:57 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2023-12-12 15:30:57 +0000 |
commit | 8c7460c9897521d5f816ac3fda78a94555c9b9b8 (patch) | |
tree | a76554430df0c1549d7f9a58111ca1376d678b61 /include | |
parent | d88a737e6a2d8df255f5eb84d88fdb69f559a924 (diff) |
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
Diffstat (limited to 'include')
-rw-r--r-- | include/unistd.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/unistd.h b/include/unistd.h index 771347031e9..b87979ebbff 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: unistd.h,v 1.107 2023/01/07 05:24:58 guenther Exp $ */ +/* $OpenBSD: unistd.h,v 1.108 2023/12/12 15:30:55 deraadt Exp $ */ /* $NetBSD: unistd.h,v 1.26.4.1 1996/05/28 02:31:51 mrg Exp $ */ /*- @@ -522,7 +522,6 @@ int setthrname(pid_t, const char *); void setusershell(void); int strtofflags(char **, u_int32_t *, u_int32_t *); int swapctl(int cmd, const void *arg, int misc); -int syscall(int, ...); int getentropy(void *, size_t); int pledge(const char *, const char *); int unveil(const char *, const char *); |