summaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/idmappings.rst
diff options
context:
space:
mode:
authorAlexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>2023-06-25 20:20:47 +0200
committerChristian Brauner <brauner@kernel.org>2023-08-15 08:32:45 +0200
commitd220efa20bba1ecc3fba3b14b2bf404a1557acd0 (patch)
tree2c5d335ba367a8ea2f63ffa2a7705d21e311f759 /Documentation/filesystems/idmappings.rst
parent8a237adf213d73671992266eff7437f1b9f40567 (diff)
downloadlinux-stable-d220efa20bba1ecc3fba3b14b2bf404a1557acd0.tar.gz
linux-stable-d220efa20bba1ecc3fba3b14b2bf404a1557acd0.tar.bz2
linux-stable-d220efa20bba1ecc3fba3b14b2bf404a1557acd0.zip
docs: filesystems: idmappings: clarify from where idmappings are taken
Let's clarify from where we take idmapping of each type: - caller - filesystem - mount Cc: Jonathan Corbet <corbet@lwn.net> Cc: Christian Brauner <brauner@kernel.org> Cc: linux-fsdevel@vger.kernel.org Cc: linux-doc@vger.kernel.org Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> Message-Id: <20230625182047.26854-1-aleksandr.mikhalitsyn@canonical.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'Documentation/filesystems/idmappings.rst')
-rw-r--r--Documentation/filesystems/idmappings.rst7
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/filesystems/idmappings.rst b/Documentation/filesystems/idmappings.rst
index ad6d21640576..f3d168c9f0b9 100644
--- a/Documentation/filesystems/idmappings.rst
+++ b/Documentation/filesystems/idmappings.rst
@@ -373,6 +373,13 @@ kernel maps the caller's userspace id down into a kernel id according to the
caller's idmapping and then maps that kernel id up according to the
filesystem's idmapping.
+From the implementation point it's worth mentioning how idmappings are represented.
+All idmappings are taken from the corresponding user namespace.
+
+ - caller's idmapping (usually taken from ``current_user_ns()``)
+ - filesystem's idmapping (``sb->s_user_ns``)
+ - mount's idmapping (``mnt_idmap(vfsmnt)``)
+
Let's see some examples with caller/filesystem idmapping but without mount
idmappings. This will exhibit some problems we can hit. After that we will
revisit/reconsider these examples, this time using mount idmappings, to see how