]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
namespace-util: slightly tweak proc_mounted() handling in namespace_is_init()
authorLennart Poettering <lennart@poettering.net>
Tue, 7 Jan 2025 09:55:29 +0000 (10:55 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 7 Jan 2025 22:51:28 +0000 (23:51 +0100)
Let's not sloppily eat up errors here.

src/basic/namespace-util.c

index 88d122ea6c594e32be4e1900b09d2647c102ebd2..d45d4d33c5d50abbedebddf21a966a2cdbf6e37a 100644 (file)
@@ -307,9 +307,14 @@ int namespace_is_init(NamespaceType type) {
 
         struct stat st;
         r = RET_NERRNO(stat(p, &st));
-        if (r == -ENOENT)
+        if (r == -ENOENT) {
                 /* If the /proc/ns/<type> API is not around in /proc/ then ns is off in the kernel and we are in the init ns */
-                return proc_mounted() == 0 ? -ENOSYS : true;
+                r = proc_mounted();
+                if (r < 0)
+                        return -ENOENT; /* If we can't determine if /proc/ is mounted propagate original error */
+
+                return r ? true : -ENOSYS;
+        }
         if (r < 0)
                 return r;