Node asked the kernel to enumerate /proc
After a normal Xylem harvest and nodebot restart, Node's status
collection called fs.readdirSync("/proc"). The
synthetic directory path wrote a record directly to a userspace
address from CPL0. With SMAP enabled, the CPU correctly stopped
that write and the kernel panicked.
The NTFS branch already staged records in kernel memory and used
copy_to_user; the synthetic /proc and
tmpfs branches did not. JefeOS 1.1.2 closes that gap.
What changed
- Each synthetic directory record is built in a bounded 512-byte kernel buffer, then delivered through the fault-survivable userspace copy path.
- The directory cursor advances only after a complete record is delivered.
- A first-record copy fault returns
-EFAULT; a later fault returns the completed short byte count. - A too-small first buffer returns
-EINVAL, while retries resume at the first undelivered record instead of reporting false EOF.
The successful path is now part of the release gate
- musl
opendir/readdirover/procand/proc/self - unmapped-buffer
-EFAULTwithout cursor advance - cross-page short copy followed by correct resume
- BusyBox
ls -a /procandps - Node
fs.readdirSync("/proc")and a real post-reap!jefeos status
This is a narrow correctness release
JefeOS 1.1.2 preserves the OpenStack guest support, Xylem supervision, hardening, and compatibility work shipped in 1.1.1. It does not claim the broader 1.2 milestone gates, SMP by default, virtio support, or complete Linux/POSIX compatibility.
Get JefeOS 1.1.2
The final soaked release artifact is 7405568 bytes.
โฌ Download jefeos-1.1.2.iso