ovl: allow to specify override credentials
authorChristian Brauner <brauner@kernel.org>
Wed, 19 Feb 2025 10:01:49 +0000 (11:01 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 19 Feb 2025 13:32:09 +0000 (14:32 +0100)
commit539a0879de4709d8eb86b37287dc82300c16c7fa
tree8c2855f112f7bb19bd0a0578423367149d4a7027
parent2014c95afecee3e76ca4a56956a936e23283f05b
ovl: allow to specify override credentials

Currently overlayfs uses the mounter's credentials for it's
override_creds() calls. That provides a consistent permission model.

This patches allows a caller to instruct overlayfs to use its
credentials instead. The caller must be located in the same user
namespace hierarchy as the user namespace the overlayfs instance will be
mounted in. This provides a consistent and simple security model.

With this it is possible to e.g., mount an overlayfs instance where the
mounter must have CAP_SYS_ADMIN but the credentials used for
override_creds() have dropped CAP_SYS_ADMIN. It also allows the usage of
custom fs{g,u}id different from the callers and other tweaks.

Link: https://lore.kernel.org/r/20250219-work-overlayfs-v3-1-46af55e4ceda@kernel.org
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Documentation/filesystems/overlayfs.rst
fs/overlayfs/params.c
fs/overlayfs/super.c