X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fuser_namespace.c;h=da3fefe632e2327ac3e3460a359a5fd1edb96cda;hb=b1faaf2dff4a1ab8b17747ec65450cbe75a23ab6;hp=2f735cbe05e8aca3b8ee8a3dcc7de493f9757c05;hpb=2c867ac3957de0f7b6886d1d9ce7d4dafd3c7b33;p=mirror_ubuntu-artful-kernel.git diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c index 2f735cbe05e8..da3fefe632e2 100644 --- a/kernel/user_namespace.c +++ b/kernel/user_namespace.c @@ -24,6 +24,12 @@ #include #include +/* + * sysctl determining whether unprivileged users may unshare a new + * userns. Allowed by default + */ +int unprivileged_userns_clone = 1; + static struct kmem_cache *user_ns_cachep __read_mostly; static DEFINE_MUTEX(userns_state_mutex); @@ -543,8 +549,10 @@ static void *m_start(struct seq_file *seq, loff_t *ppos, struct uid_gid_extent *extent = NULL; loff_t pos = *ppos; - if (pos < map->nr_extents) + if (pos < map->nr_extents) { + osb(); extent = &map->extent[pos]; + } return extent; } @@ -998,6 +1006,7 @@ bool current_in_userns(const struct user_namespace *target_ns) } return false; } +EXPORT_SYMBOL(current_in_userns); static inline struct user_namespace *to_user_ns(struct ns_common *ns) {