RustForge

foundry

Foundry OS: the operating system built on the Rustbelt kernel

foundry / docs / syscall-gaps.md
1098 bytes ยท raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Syscall gaps: which program needs what the kernel lacks

A living list. When a port hits a missing or wrong syscall, add a line here
and ask the kernel side (see kernel-requests.md). Status from Clarke's tests
up to Rustbelt 0.18.0 (proposal section 2.6); 0.19.0 added the vDSO,
static-PIE and `mremap`.

| Gap | Who notices | Status |
|---|---|---|
| `AF_INET6` (EAFNOSUPPORT) | IPv6-only tools | open |
| `ITIMER_VIRTUAL`/`ITIMER_PROF`, CPU-clock timers | profilers, CPU watchdogs | open |
| `timerfd_*` 283/286/287 | event-loop programs | open |
| `/proc/<pid>`, `/proc/mounts`, `/proc/meminfo` | `ps`, `top`, `mount`, `free`, `df` | open |
| `reboot` 169, `mount`/`umount` | `poweroff`, busybox init, `mount` | open |
| permissions stored, not enforced | `test -x` always true | accepted for now |
| no `/etc/passwd` | `getpwuid(0)` fails, `ls -l` owner names | Foundry OS job: `rootfs/etc/` (ships with contract v2) |
| `mremap` 25 | big `realloc`s copied | fixed in 0.19.0 (to re-check) |
| `ttyname()`, fd-message merging, `/proc/self/cwd` (K11) | `tty` | fixed in b0a701d (to re-check) |