Skip to content

Commit

Permalink
vfs: Allow userns root to call mknod on owned filesystems.
Browse files Browse the repository at this point in the history
These filesystems already always set SB_I_NODEV so mknod will not be
useful for gaining control of any devices no matter their permissions.
This will allow overlayfs and applications like to fakeroot to use
device nodes to represent things on disk.

Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
  • Loading branch information
ebiederm committed May 24, 2018
1 parent 593d1ce commit 55956b5
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion fs/namei.c
Expand Up @@ -3679,7 +3679,8 @@ int vfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t dev)
if (error)
return error;

if ((S_ISCHR(mode) || S_ISBLK(mode)) && !capable(CAP_MKNOD))
if ((S_ISCHR(mode) || S_ISBLK(mode)) &&
!ns_capable(dentry->d_sb->s_user_ns, CAP_MKNOD))
return -EPERM;

if (!dir->i_op->mknod)
Expand Down

0 comments on commit 55956b5

Please sign in to comment.