===================================================================
RCS file: /cvsrepo/anoncvs/cvs/www/innovations.html,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -r1.116 -r1.117
--- www/innovations.html 2024/02/12 05:39:58 1.116
+++ www/innovations.html 2024/04/02 08:45:41 1.117
@@ -202,8 +202,11 @@
system-calls can no longer be performed from PROT_WRITE memory.
Theo de Raadt, June 2, 2019.
System calls may only be performed from selected code regions
- (main program, ld.so, libc.so, and sigtramp).
- Theo de Raadt, November 28, 2019.
+ (main program, ld.so, libc.so, and sigtramp). The libc.so region
+ is setup by msyscall(2).
+ Theo de Raadt, November 28, 2019.
+ This mechanism was removed because later work on immutable memory +
+ pinned system calls was even better.
Permissions (RWX, MAP_STACK, etc) on address space regions can be
made immutable, so that mmap(2),
mprotect(2) or
@@ -259,6 +262,9 @@
to tell the kernel the precise entry location of system calls in libc.so.
Since all syscall entries are now known to the kernel, the
pininsyscall(SYS_execve) interface becomes redundant.
+ msyscall(2) mechanism
+ also becomes redundant (and is removed a bit later), because immutable
+ memory + pinsyscalls together are cheaper and more effective targetting.
Theo de Raadt, Jan 2024.