===================================================================
RCS file: /cvsrepo/anoncvs/cvs/www/innovations.html,v
retrieving revision 1.114
retrieving revision 1.115
diff -c -r1.114 -r1.115
*** www/innovations.html 2024/01/22 19:06:01 1.114
--- www/innovations.html 2024/01/22 23:23:35 1.115
***************
*** 240,259 ****
executed which is valuable together with library relinking.
Architectures switched over include loongson.
Theo de Raadt, Feb 2023.
!
ld.so and crt0 register the location of the execve(2) stub with
! the kernel using pinsyscall(2), after which the kernel only accepts
! an execve call from that specific location. Theo de Raadt, Feb 2023.
! Made redundant by pinsyscalls(2) which handles all system calls.
Mandatory enforcement of indirect branch targets (BTI on arm64,
IBT on Intel amd64), unless a linker flag (-Wl,-z,nobtcfi) requests
no enforcement.
! The kernel and ld.so register the precise entry location of every
! system call used by a program, as described in the new ELF section
! .openbsd.syscalls inside ld.so and libc.so. ld.so uses the
! new syscall pinsyscalls(2) to tell the kernel where libc.so the
! precise entry location of system calls. Since all syscall entries
! are now known to the kernel, the pininsyscall(SYS_execve) interface
! becomes redundant. Theo de Raadt, Jan 2024.
Functions
--- 240,265 ----
executed which is valuable together with library relinking.
Architectures switched over include loongson.
Theo de Raadt, Feb 2023.
! ld.so and crt0 register the location of the
! execve(2)
! libc syscall stub with the kernel using
! pinsyscall(2),
! after which the kernel only accepts an execve call from that
! specific location. Theo de Raadt, Feb 2023. Made redundant by
! pinsyscalls(2)
! which handles all system calls.
Mandatory enforcement of indirect branch targets (BTI on arm64,
IBT on Intel amd64), unless a linker flag (-Wl,-z,nobtcfi) requests
no enforcement.
! The kernel and ld.so register the precise entry location of
! every system call used by a program, as described in the
! new ELF section .openbsd.syscalls inside ld.so and
! libc.so. ld.so uses the new syscall
! pinsyscalls(2)
! to tell the kernel where libc.so the precise entry location
! of system calls. Since all syscall entries are now known
! to the kernel, the pininsyscall(SYS_execve) interface becomes
! redundant. Theo de Raadt, Jan 2024.
Functions