Re: [PATCH v4 2/5] landlock: Require LANDLOCK_ACCESS_FS_MAKE_REG for whiteout creation
Mickaël Salaün <[email protected]> Fri, 31 Jul 2026 15:13:24 +0200
| Newsgroups | gmane.linux.kernel.lsm |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Jul 24, 2026 at 06:10:01PM +0200, Günther Noack wrote: > Whiteout files are used in the upper layer of an Overlayfs to indicate > that the file with this name does not exist in the unified view, even > if it is present in one of the lower layer file systems. > > For userspace implementations of Overlay file systems (fuse-overlayfs), > whiteout files can be created from userspace as well: > > * mknod(2) with S_IFCHR and makedev(0, 0) > * renameat2(2) with RENAME_WHITEOUT, > creating the whiteout in the old place of the moved file. > > This commit guards whiteout creation in both of these cases with > LANDLOCK_ACCESS_FS_MAKE_REG. Whiteout files are *not* considered > character devices and are not bound to a driver. > > Before this commit, renameat2(2) with RENAME_WHITEOUT would create a > directory entry even when all LANDLOCK_ACCESS_FS_MAKE_* rights are > denied. > > This does not affect normal renames within layered OverlayFS mounts: > When doing a regular rename() on a mounted fuse-overlayfs, it is the > fuse-overlayfs daemon that exercises renameat2() with RENAME_WHITEOUT, > and only the Landlock domain of that daemon is checked there. > > This also adds a Landlock erratum for that case. > > Suggested-by: Christian Brauner <[email protected]> > Suggested-by: Mickaël Salaün <[email protected]> Cc: [email protected] > Fixes: cb2c7d1a1776 ("landlock: Support filesystem access-control") Depends-on: 49c9e09d9610 ("landlock: Fix handling of disconnected directories") Depends-on: fe72ce6710cb ("landlock: Add errata documentation section") > Signed-off-by: Günther Noack <[email protected]> > --- > include/uapi/linux/landlock.h | 1 + > security/landlock/errata/abi-1.h | 26 ++++++++++++++++++++++++++ > security/landlock/fs.c | 31 ++++++++++++++++++++++++------- > 3 files changed, 51 insertions(+), 7 deletions(-)