
Linux kernel proposes new system call to replace fork/exec
A patch set adds a single system call that merges fork() and execve() into one step, promising lower latency and memory use for process creation.
Linux kernel developers have submitted a patch set that adds a new system call to replace the traditional fork() followed by execve(). The call lets a process create a child and load a new executable in a single kernel transition, cutting the number of context switches and page‑table copies required. The patch, described in LWN, reports a 15‑20 % reduction in latency for typical workloads and a 10 % drop in peak memory usage compared with the classic fork/exec sequence [LWN].
The proposal also tightens security by allowing the parent to specify the exact file descriptor and arguments that the child will inherit, eliminating the need for a separate execve() that could be intercepted by malicious code. By consolidating the two steps, the kernel can enforce stricter checks and reduce the attack surface associated with the execve() path.
If adopted, the new call would affect system‑level software that frequently spawns short‑lived processes, such as container runtimes, build systems, and init managers. Those projects could rewrite their process‑creation loops to take advantage of the lower overhead, potentially improving overall throughput on heavily loaded servers.
The patch is still under review and will require integration testing before it can be merged into the mainline kernel. The Linux community invites feedback on the API design and performance measurements before final inclusion [LWN].
Subscribe to the broadcast.
Daily digest of the day's most important tech news. No fluff. Engineering signal only.
// delivered via substack · double-opt-in confirmation


