]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
nspawn: Don't clear idmapping if we're not doing an idmapped mount
authorDaanDeMeyer <daan.j.demeyer@gmail.com>
Mon, 14 Jul 2025 06:13:45 +0000 (08:13 +0200)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 14 Jul 2025 10:54:56 +0000 (11:54 +0100)
We only need to clear the existing idmapping if we're going to be
replacing it with another idmapping. Otherwise we should keep the
existing idmapping in place.

src/nspawn/nspawn-mount.c

index af794b00172a7f937cc122feccdadefc52a9539f..4cc638877d8edb195ffc17a2e892d74acdd543f6 100644 (file)
@@ -829,7 +829,7 @@ static int mount_bind(const char *dest, CustomMount *m, uid_t uid_shift, uid_t u
                         m->source,
                         OPEN_TREE_CLONE|OPEN_TREE_CLOEXEC,
                         &(struct mount_attr) {
-                                .attr_clr = MOUNT_ATTR_IDMAP,
+                                .attr_clr = idmapping != REMOUNT_IDMAPPING_NONE ? MOUNT_ATTR_IDMAP : 0,
                         });
         if (ERRNO_IS_NEG_NOT_SUPPORTED(fd_clone))
                 /* We can only clear idmapped mounts with open_tree_attr(), but there might not be one in