Lately I have seen quite a few LinkedIn posts about Ginux, a Linux-compatible kernel written in Rust during an 11-day OpenAI Codex session.
It boots a Rocky Linux userspace, which is genuinely impressive.
The usual "AI experts" promptly declared Linux dead, since anyone can now ask an LLM for a Linux-compatible kernel.
So I took a look. Ginux is an interesting experiment, and I recommend reading the paper (link below), because many people did not understand what it actually is.
What I found in the code:
👉 Lots of global state. Even signal handling goes through global variables.
👉 Everything assumes exactly one CPU. Critical sections are "protected" by disabling interrupts. There is no SMP and no locking.
👉 The code does not look designed. It looks like it grew organically until the test cases passed. The x86-64 CPU module alone is a single 44,000-line file.
Rust does not make it automatically secure either. Two examples:
☠On x86-64, the SYSCALL instruction does not switch stacks. The kernel's first few instructions after SYSCALL run in ring 0 with the stack pointer still provided by userspace. Every kernel has this window. Linux handles it by giving NMI and machine check exceptions their own interrupt stack (IST), because those are the only events that can fire while interrupts are masked. Ginux gives only the double fault an IST. If an NMI or machine check arrives in that window, ring 0 code runs on a user-controlled stack.
☠When the kernel copies data from or to userspace, there is no fault recovery. Linux uses exception tables, so a bad user pointer becomes EFAULT. In Ginux, the address is validated in software first and then accessed directly. If the validation and the real page tables ever disagree, the result is a kernel panic. And the validation does have a fallback path that trusts software bookkeeping where the hardware page-table walk just said no. It is not exploitable today, but only because of invariants spread across other modules, not because of the check itself.
Ginux is a cool demonstration of how far you can get with human-directed agentic engineering. It is not proof that everyone can now have their own Linux-compatible Rust kernel with minimal effort.
Links:
https://zenodo.org/records/23682548/files/ginux-ai-systems-report.pdfhttps://github.com/gmkurtzer/ginux/