EFS & FreeVxFS File-Systems Get Booted While FailFS Merged For Linux 7.3
Among the early pull requests merged today by Linus Torvalds for the Linux 7.3 kernel cycle were removal of some ancient file-systems while adding in a new pseudo file-system...
The EFS and FreeVxFS file-systems have been removed from the Linux 7.3 kernel. These legacy systems, once used for compatibility with older Unix systems, have become redundant and serve mainly as a source of automated bug tests. Only a solitary user and contributor, Michael Larabel, has maintained them over the past 15 years. The removal of these file-systems opens up new possibilities for Linux.
In its place, FailFS, a more restrictive alternative, has been merged into the kernel. FailFS operates in stark contrast to its predecessor, nullFS. While nullFS creates an immutable directory that fails to locate files with ENOENT errors, FailFS rejects every operation. With the root directory of FailFS being inaccessible, it provides a strongly isolated environment for processes with their root or working directory within it.
This means that any path lookup must be anchored at an explicit file descriptor, rendering absolute paths, symlinks, and AT_FDCWD-relative lookups futile.
The introduction of FailFS also brings with it a new system call, fchroot(). This call allows for chrooting via a file descriptor, marking a significant departure from traditional chroot methods. Even with unprivileged privileges, a task can successfully chroot into FailFS. This new capability is logically distinct from every mount namespace, thanks to a single instance of FailFS being mounted during early boot via kern_mount().
Written by urgent.news from Phoronix's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.