diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-04-03 18:22:44 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-04-03 18:22:51 +0100 |
commit | 89cab4624a8c0ed81a1b74b6f8c884641cac5b9d (patch) | |
tree | 3a2f1ae599ee4bae60ccf11cc154d73c210c6388 /fs/pnode.c | |
parent | 2e1cc199fc8666ac5fda200e8a99f1e4dea07175 (diff) | |
parent | c6f9b1eb0e5df468891eff17f981b76c86f95f3a (diff) | |
download | linux-next-89cab4624a8c0ed81a1b74b6f8c884641cac5b9d.tar.gz |
ASoC: core: Merge Samsung fixes to avoid trivial context conflict
Merge branch 'fix/samsung' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into
asoc-component to resolve trivial conflict
Conflicts:
sound/soc/samsung/i2s.c
Diffstat (limited to 'fs/pnode.c')
-rw-r--r-- | fs/pnode.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/pnode.c b/fs/pnode.c index 3e000a51ac0d..8b29d2164da6 100644 --- a/fs/pnode.c +++ b/fs/pnode.c @@ -9,6 +9,7 @@ #include <linux/mnt_namespace.h> #include <linux/mount.h> #include <linux/fs.h> +#include <linux/nsproxy.h> #include "internal.h" #include "pnode.h" @@ -220,6 +221,7 @@ static struct mount *get_source(struct mount *dest, int propagate_mnt(struct mount *dest_mnt, struct dentry *dest_dentry, struct mount *source_mnt, struct list_head *tree_list) { + struct user_namespace *user_ns = current->nsproxy->mnt_ns->user_ns; struct mount *m, *child; int ret = 0; struct mount *prev_dest_mnt = dest_mnt; @@ -237,6 +239,10 @@ int propagate_mnt(struct mount *dest_mnt, struct dentry *dest_dentry, source = get_source(m, prev_dest_mnt, prev_src_mnt, &type); + /* Notice when we are propagating across user namespaces */ + if (m->mnt_ns->user_ns != user_ns) + type |= CL_UNPRIVILEGED; + child = copy_tree(source, source->mnt.mnt_root, type); if (IS_ERR(child)) { ret = PTR_ERR(child); |