]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
namespace-util: don't reset UID/GIDs in namespace_enter() unless we enter a userns
authorLennart Poettering <lennart@poettering.net>
Wed, 15 Jan 2025 22:18:39 +0000 (23:18 +0100)
committerMike Yuan <me@yhndnzj.com>
Thu, 16 Jan 2025 10:26:57 +0000 (11:26 +0100)
The reset of UID/GID only really makes sense if we enter a userns, hence
let#s restrict it to that.

src/basic/namespace-util.c

index 060c540f8afd8f7ebaba08b0492c85a526b8616c..36ebda9ba47dea22aa5fe810b939a01ee98dbdc9 100644 (file)
@@ -247,7 +247,10 @@ int namespace_enter(int pidns_fd, int mntns_fd, int netns_fd, int userns_fd, int
                         return -errno;
         }
 
-        return reset_uid_gid();
+        if (userns_fd >= 0)
+                return reset_uid_gid();
+
+        return 0;
 }
 
 int fd_is_namespace(int fd, NamespaceType type) {
@@ -768,4 +771,3 @@ int netns_acquire(void) {
 
         return pidref_namespace_open_by_type(&pid, NAMESPACE_NET);
 }
-