From: "Serge E. Hallyn" Hook permission to check vfsmnt->user_ns against current. Signed-off-by: Serge E. Hallyn Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton --- fs/namei.c | 4 ++++ 1 files changed, 4 insertions(+) diff -puN fs/namei.c~user-ns-hook-permission fs/namei.c --- a/fs/namei.c~user-ns-hook-permission +++ a/fs/namei.c @@ -246,6 +246,8 @@ int permission(struct inode *inode, int return -EACCES; } + if (nd && !task_mnt_same_uidns(current, nd->mnt)) + return -EACCES; /* * MAY_EXEC on regular files requires special handling: We override @@ -433,6 +435,8 @@ static int exec_permission_lite(struct i { umode_t mode = inode->i_mode; + if (!task_mnt_same_uidns(current, nd->mnt)) + return -EACCES; if (inode->i_op && inode->i_op->permission) return -EAGAIN; _