On Sun, 1 Aug 2021 at 09:28, Andrew Warkentin andreww591@gmail.com wrote:
I don't want to require Linux applications to use a specific patched libc since that would create all kinds of compatibility issues. I'm writing a general-purpose OS that is just as likely to be used on desktops and servers as on embedded systems, and I want to support as many Linux binaries as possible (ideally everything that doesn't depend on certain types of kernel modules and doesn't manage sessions/logins). Requiring a specific libc would significantly limit compatibility.
+1. Using a custom libc won't work for statically linked programs.
Wouldn't there be a risk that a Linux system call would present an argument that happens to look like a capability and not get intercepted if system calls were implemented by just catching the existing invalid-syscall exceptions?
Not if you don't have any capabilities mapped into the address space.