As requested: https://github.com/systemd/systemd/pull/39322#discussion_r2447366728
/* Don't run things in private userns, if the mount shall be attached to the host */
if (!IN_SET(arg_action, ACTION_MOUNT, ACTION_WITH)) {
- userns_fd = nsresource_allocate_userns(/* name= */ NULL, UINT64_C(0x10000)); /* allocate 64K users by default */
+ userns_fd = nsresource_allocate_userns(/* name= */ NULL, NSRESOURCE_UIDS_64K); /* allocate 64K users by default */
if (userns_fd < 0)
return log_error_errno(userns_fd, "Failed to allocate user namespace with 64K users: %m");
}
goto finish;
}
- userns_fd = nsresource_allocate_userns(userns_name, UINT64_C(0x10000));
+ userns_fd = nsresource_allocate_userns(userns_name, NSRESOURCE_UIDS_64K); /* allocate 64K UIDs */
if (userns_fd < 0) {
r = log_error_errno(userns_fd, "Failed to allocate user namespace with 64K users: %m");
goto finish;
goto finish;
}
- arg_uid_range = UINT32_C(0x10000);
+ arg_uid_range = NSRESOURCE_UIDS_64K;
}
if (arg_directory) {
#include "shared-forward.h"
+/* Helpful constants for the only numbers of UIDs that can currently be allocated */
+#define NSRESOURCE_UIDS_64K 0x10000U
+#define NSRESOURCE_UIDS_1 1U
+
int nsresource_allocate_userns(const char *name, uint64_t size);
int nsresource_register_userns(const char *name, int userns_fd);
int nsresource_add_mount(int userns_fd, int mount_fd);