ns: use NS_COMMON_INIT() for all namespaces
authorChristian Brauner <brauner@kernel.org>
Mon, 3 Nov 2025 15:16:01 +0000 (16:16 +0100)
committerChristian Brauner <brauner@kernel.org>
Mon, 3 Nov 2025 16:41:16 +0000 (17:41 +0100)
Now that we have a common initializer use it for all static namespaces.

Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/namespace.c
init/version-timestamp.c
ipc/msgutil.c
kernel/cgroup/cgroup.c
kernel/pid.c
kernel/time/namespace.c
kernel/user.c

index d82910f..7b78dd4 100644 (file)
@@ -5985,11 +5985,8 @@ SYSCALL_DEFINE4(listmount, const struct mnt_id_req __user *, req,
 }
 
 struct mnt_namespace init_mnt_ns = {
-       .ns.inum        = ns_init_inum(&init_mnt_ns),
-       .ns.ops         = &mntns_operations,
+       .ns             = NS_COMMON_INIT(init_mnt_ns, 1),
        .user_ns        = &init_user_ns,
-       .ns.__ns_ref    = REFCOUNT_INIT(1),
-       .ns.ns_type     = ns_common_type(&init_mnt_ns),
        .passive        = REFCOUNT_INIT(1),
        .mounts         = RB_ROOT,
        .poll           = __WAIT_QUEUE_HEAD_INITIALIZER(init_mnt_ns.poll),
index d071835..56ded64 100644 (file)
@@ -8,8 +8,7 @@
 #include <linux/utsname.h>
 
 struct uts_namespace init_uts_ns = {
-       .ns.ns_type = ns_common_type(&init_uts_ns),
-       .ns.__ns_ref = REFCOUNT_INIT(2),
+       .ns = NS_COMMON_INIT(init_uts_ns, 2),
        .name = {
                .sysname        = UTS_SYSNAME,
                .nodename       = UTS_NODENAME,
@@ -19,10 +18,6 @@ struct uts_namespace init_uts_ns = {
                .domainname     = UTS_DOMAINNAME,
        },
        .user_ns = &init_user_ns,
-       .ns.inum = ns_init_inum(&init_uts_ns),
-#ifdef CONFIG_UTS_NS
-       .ns.ops = &utsns_operations,
-#endif
 };
 
 /* FIXED STRINGS! Don't touch! */
index 7a03f6d..55a908e 100644 (file)
@@ -27,13 +27,8 @@ DEFINE_SPINLOCK(mq_lock);
  * and not CONFIG_IPC_NS.
  */
 struct ipc_namespace init_ipc_ns = {
-       .ns.__ns_ref = REFCOUNT_INIT(1),
+       .ns = NS_COMMON_INIT(init_ipc_ns, 1),
        .user_ns = &init_user_ns,
-       .ns.inum = ns_init_inum(&init_ipc_ns),
-#ifdef CONFIG_IPC_NS
-       .ns.ops = &ipcns_operations,
-#endif
-       .ns.ns_type = ns_common_type(&init_ipc_ns),
 };
 
 struct msg_msgseg {
index 6ae5f48..df8bfd2 100644 (file)
@@ -250,12 +250,9 @@ bool cgroup_enable_per_threadgroup_rwsem __read_mostly;
 
 /* cgroup namespace for init task */
 struct cgroup_namespace init_cgroup_ns = {
-       .ns.__ns_ref    = REFCOUNT_INIT(2),
+       .ns             = NS_COMMON_INIT(init_cgroup_ns, 2),
        .user_ns        = &init_user_ns,
-       .ns.ops         = &cgroupns_operations,
-       .ns.inum        = ns_init_inum(&init_cgroup_ns),
        .root_cset      = &init_css_set,
-       .ns.ns_type     = ns_common_type(&init_cgroup_ns),
 };
 
 static struct file_system_type cgroup2_fs_type;
index 4fffec7..19d4599 100644 (file)
@@ -71,21 +71,16 @@ static int pid_max_max = PID_MAX_LIMIT;
  * the scheme scales to up to 4 million PIDs, runtime.
  */
 struct pid_namespace init_pid_ns = {
-       .ns.__ns_ref = REFCOUNT_INIT(2),
+       .ns = NS_COMMON_INIT(init_pid_ns, 2),
        .idr = IDR_INIT(init_pid_ns.idr),
        .pid_allocated = PIDNS_ADDING,
        .level = 0,
        .child_reaper = &init_task,
        .user_ns = &init_user_ns,
-       .ns.inum = ns_init_inum(&init_pid_ns),
-#ifdef CONFIG_PID_NS
-       .ns.ops = &pidns_operations,
-#endif
        .pid_max = PID_MAX_DEFAULT,
 #if defined(CONFIG_SYSCTL) && defined(CONFIG_MEMFD_CREATE)
        .memfd_noexec_scope = MEMFD_NOEXEC_SCOPE_EXEC,
 #endif
-       .ns.ns_type = ns_common_type(&init_pid_ns),
 };
 EXPORT_SYMBOL_GPL(init_pid_ns);
 
index 5b6997f..19911f8 100644 (file)
@@ -478,11 +478,8 @@ const struct proc_ns_operations timens_for_children_operations = {
 };
 
 struct time_namespace init_time_ns = {
-       .ns.ns_type     = ns_common_type(&init_time_ns),
-       .ns.__ns_ref    = REFCOUNT_INIT(3),
+       .ns             = NS_COMMON_INIT(init_time_ns, 3),
        .user_ns        = &init_user_ns,
-       .ns.inum        = ns_init_inum(&init_time_ns),
-       .ns.ops         = &timens_operations,
        .frozen_offsets = true,
 };
 
index 0163665..4b3132e 100644 (file)
@@ -35,6 +35,7 @@ EXPORT_SYMBOL_GPL(init_binfmt_misc);
  * and 1 for... ?
  */
 struct user_namespace init_user_ns = {
+       .ns = NS_COMMON_INIT(init_user_ns, 3),
        .uid_map = {
                {
                        .extent[0] = {
@@ -65,14 +66,8 @@ struct user_namespace init_user_ns = {
                        .nr_extents = 1,
                },
        },
-       .ns.ns_type = ns_common_type(&init_user_ns),
-       .ns.__ns_ref = REFCOUNT_INIT(3),
        .owner = GLOBAL_ROOT_UID,
        .group = GLOBAL_ROOT_GID,
-       .ns.inum = ns_init_inum(&init_user_ns),
-#ifdef CONFIG_USER_NS
-       .ns.ops = &userns_operations,
-#endif
        .flags = USERNS_INIT_FLAGS,
 #ifdef CONFIG_KEYS
        .keyring_name_list = LIST_HEAD_INIT(init_user_ns.keyring_name_list),