Re: [PATCH -mm] user_ns: remove CONFIG_USER_NS

From: Serge E. Hallyn
Date: Tue Jan 16 2007 - 09:53:39 EST


Quoting Cedric Le Goater (clg@xxxxxxxxxx):
> It doesn't look that useful anyway, it just deactivates the unshare
> capability for the user namespace.
>
> Signed-off-by: Cedric Le Goater <clg@xxxxxxxxxx>

Agreed on both this and CONFIG_UTS_NS. (I haven't looked closely enough
at the CONFIG_IPC_NS case yet)

Acked-by: Serge Hallyn <serue@xxxxxxxxxx>

thanks,
-serge

> ---
> include/linux/sched.h | 9 ---------
> include/linux/user_namespace.h | 33 ---------------------------------
> init/Kconfig | 4 ----
> kernel/user_namespace.c | 3 ---
> 4 files changed, 49 deletions(-)
>
> Index: 2.6.20-rc4-mm1/include/linux/sched.h
> ===================================================================
> --- 2.6.20-rc4-mm1.orig/include/linux/sched.h
> +++ 2.6.20-rc4-mm1/include/linux/sched.h
> @@ -1603,7 +1603,6 @@ extern int cond_resched(void);
> extern int cond_resched_lock(spinlock_t * lock);
> extern int cond_resched_softirq(void);
>
> -#ifdef CONFIG_USER_NS
> /*
> * Check whether a task and a vfsmnt belong to the same uidns.
> * Since the initial namespace is exempt from these checks,
> @@ -1622,14 +1621,6 @@ static inline int task_mnt_same_uidns(st
> return 1;
> return 0;
> }
> -#else
> -static inline int task_mnt_same_uidns(struct task_struct *tsk,
> - struct vfsmount *mnt)
> -{
> - return 1;
> -}
> -#endif
> -
>
> /*
> * Does a critical section need to be broken due to another
> Index: 2.6.20-rc4-mm1/include/linux/user_namespace.h
> ===================================================================
> --- 2.6.20-rc4-mm1.orig/include/linux/user_namespace.h
> +++ 2.6.20-rc4-mm1/include/linux/user_namespace.h
> @@ -16,8 +16,6 @@ struct user_namespace {
>
> extern struct user_namespace init_user_ns;
>
> -#ifdef CONFIG_USER_NS
> -
> static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
> {
> if (ns)
> @@ -45,35 +43,4 @@ static inline int clone_mnt_userns_permi
> return 1;
> }
>
> -#else
> -
> -static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
> -{
> - return NULL;
> -}
> -
> -static inline int unshare_user_ns(unsigned long flags,
> - struct user_namespace **new_user)
> -{
> - if (flags & CLONE_NEWUSER)
> - return -EINVAL;
> -
> - return 0;
> -}
> -
> -static inline int copy_user_ns(int flags, struct task_struct *tsk)
> -{
> - return 0;
> -}
> -
> -static inline void put_user_ns(struct user_namespace *ns)
> -{
> -}
> -
> -static inline int clone_mnt_userns_permission(struct vfsmount *old)
> -{
> - return 1;
> -}
> -#endif
> -
> #endif /* _LINUX_USER_H */
> Index: 2.6.20-rc4-mm1/init/Kconfig
> ===================================================================
> --- 2.6.20-rc4-mm1.orig/init/Kconfig
> +++ 2.6.20-rc4-mm1/init/Kconfig
> @@ -222,10 +222,6 @@ config UTS_NS
> vservers, to use uts namespaces to provide different
> uts info for different servers. If unsure, say N.
>
> -config USER_NS
> - bool
> - default y
> -
> config AUDIT
> bool "Auditing support"
> depends on NET
> Index: 2.6.20-rc4-mm1/kernel/user_namespace.c
> ===================================================================
> --- 2.6.20-rc4-mm1.orig/kernel/user_namespace.c
> +++ 2.6.20-rc4-mm1/kernel/user_namespace.c
> @@ -19,7 +19,6 @@ struct user_namespace init_user_ns = {
>
> EXPORT_SYMBOL_GPL(init_user_ns);
>
> -#ifdef CONFIG_USER_NS
> /*
> * Clone a new ns copying an original user ns, setting refcount to 1
> * @old_ns: namespace to clone
> @@ -110,5 +109,3 @@ void free_user_ns(struct kref *kref)
> ns = container_of(kref, struct user_namespace, kref);
> kfree(ns);
> }
> -
> -#endif /* CONFIG_USER_NS */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/