mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 00:28:52 +02:00 
			
		
		
		
	nscommon: move to separate file
It's really awkward spilling the ns common infrastructure into multiple headers. Move it to a separate file. Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
		
							parent
							
								
									b2a0b19208
								
							
						
					
					
						commit
						f74ca6da11
					
				
					 4 changed files with 25 additions and 20 deletions
				
			
		|  | @ -31,6 +31,9 @@ struct ns_common { | |||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| int ns_common_init(struct ns_common *ns, const struct proc_ns_operations *ops, | ||||
| 		   bool alloc_inum); | ||||
| 
 | ||||
| #define to_ns_common(__ns)                              \ | ||||
| 	_Generic((__ns),                                \ | ||||
| 		struct cgroup_namespace *: &(__ns)->ns, \ | ||||
|  |  | |||
|  | @ -66,25 +66,6 @@ static inline void proc_free_inum(unsigned int inum) {} | |||
| 
 | ||||
| #endif /* CONFIG_PROC_FS */ | ||||
| 
 | ||||
| static inline int ns_common_init(struct ns_common *ns, | ||||
| 				 const struct proc_ns_operations *ops, | ||||
| 				 bool alloc_inum) | ||||
| { | ||||
| 	if (alloc_inum) { | ||||
| 		int ret; | ||||
| 		ret = proc_alloc_inum(&ns->inum); | ||||
| 		if (ret) | ||||
| 			return ret; | ||||
| 	} | ||||
| 	refcount_set(&ns->count, 1); | ||||
| 	ns->stashed = NULL; | ||||
| 	ns->ops = ops; | ||||
| 	ns->ns_id = 0; | ||||
| 	RB_CLEAR_NODE(&ns->ns_tree_node); | ||||
| 	INIT_LIST_HEAD(&ns->ns_list_node); | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| #define ns_free_inum(ns) proc_free_inum((ns)->inum) | ||||
| 
 | ||||
| #define get_proc_ns(inode) ((struct ns_common *)(inode)->i_private) | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ obj-y     = fork.o exec_domain.o panic.o \ | |||
| 	    sysctl.o capability.o ptrace.o user.o \
 | ||||
| 	    signal.o sys.o umh.o workqueue.o pid.o task_work.o \
 | ||||
| 	    extable.o params.o \
 | ||||
| 	    kthread.o sys_ni.o nsproxy.o nstree.o \
 | ||||
| 	    kthread.o sys_ni.o nsproxy.o nstree.o nscommon.o \
 | ||||
| 	    notifier.o ksysfs.o cred.o reboot.o \
 | ||||
| 	    async.o range.o smpboot.o ucount.o regset.o ksyms_common.o | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										21
									
								
								kernel/nscommon.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								kernel/nscommon.c
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| // SPDX-License-Identifier: GPL-2.0-only
 | ||||
| 
 | ||||
| #include <linux/ns_common.h> | ||||
| 
 | ||||
| int ns_common_init(struct ns_common *ns, const struct proc_ns_operations *ops, | ||||
| 		   bool alloc_inum) | ||||
| { | ||||
| 	if (alloc_inum) { | ||||
| 		int ret; | ||||
| 		ret = proc_alloc_inum(&ns->inum); | ||||
| 		if (ret) | ||||
| 			return ret; | ||||
| 	} | ||||
| 	refcount_set(&ns->count, 1); | ||||
| 	ns->stashed = NULL; | ||||
| 	ns->ops = ops; | ||||
| 	ns->ns_id = 0; | ||||
| 	RB_CLEAR_NODE(&ns->ns_tree_node); | ||||
| 	INIT_LIST_HEAD(&ns->ns_list_node); | ||||
| 	return 0; | ||||
| } | ||||
		Loading…
	
		Reference in a new issue
	
	 Christian Brauner
						Christian Brauner