diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c index e62737898b..2aa286bf36 100644 --- a/src/basic/namespace-util.c +++ b/src/basic/namespace-util.c @@ -644,6 +644,10 @@ int userns_enter_and_pin(int userns_fd, pid_t *ret_pid) { return 0; } +bool userns_supported(void) { + return access("/proc/self/uid_map", F_OK) >= 0; +} + int userns_get_base_uid(int userns_fd, uid_t *ret_uid, gid_t *ret_gid) { _cleanup_(sigkill_waitp) pid_t pid = 0; int r; diff --git a/src/basic/namespace-util.h b/src/basic/namespace-util.h index d7ac8156f9..05ae1a0a95 100644 --- a/src/basic/namespace-util.h +++ b/src/basic/namespace-util.h @@ -91,6 +91,7 @@ int userns_acquire_empty(void); int userns_acquire(const char *uid_map, const char *gid_map, bool setgroups_deny); int userns_acquire_self_root(void); int userns_enter_and_pin(int userns_fd, pid_t *ret_pid); +bool userns_supported(void); int userns_get_base_uid(int userns_fd, uid_t *ret_uid, gid_t *ret_gid); diff --git a/src/basic/user-util.h b/src/basic/user-util.h index 653f14254a..983db1138e 100644 --- a/src/basic/user-util.h +++ b/src/basic/user-util.h @@ -106,10 +106,6 @@ int take_etc_passwd_lock(const char *root); #define PTR_TO_GID(p) ((gid_t) (((uintptr_t) (p))-1)) #define GID_TO_PTR(u) ((void*) (((uintptr_t) (u))+1)) -static inline bool userns_supported(void) { - return access("/proc/self/uid_map", F_OK) >= 0; -} - typedef enum ValidUserFlags { VALID_USER_RELAX = 1 << 0, VALID_USER_WARN = 1 << 1,