diff options
author | David Howells <dhowells@redhat.com> | 2015-03-06 09:05:26 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-04-15 15:06:54 -0400 |
commit | ee8ac4d61c2cf43bdd427e70db97ac330e61570d (patch) | |
tree | 4e69d2aa92716b70c5aa9737b48945e8610a2099 /net/unix | |
parent | aa4d86163e4e91a1ac560954a554bab417e338f4 (diff) |
VFS: AF_UNIX sockets should call mknod on the top layer only
AF_UNIX sockets should call mknod on the top layer only and should not attempt
to modify the lower layer in a layered filesystem such as overlayfs.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'net/unix')
-rw-r--r-- | net/unix/af_unix.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 433f287ee548..8b8f5e6d20bc 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
@@ -839,7 +839,7 @@ static int unix_mknod(const char *sun_path, umode_t mode, struct path *res) | |||
839 | */ | 839 | */ |
840 | err = security_path_mknod(&path, dentry, mode, 0); | 840 | err = security_path_mknod(&path, dentry, mode, 0); |
841 | if (!err) { | 841 | if (!err) { |
842 | err = vfs_mknod(path.dentry->d_inode, dentry, mode, 0); | 842 | err = vfs_mknod(d_inode(path.dentry), dentry, mode, 0); |
843 | if (!err) { | 843 | if (!err) { |
844 | res->mnt = mntget(path.mnt); | 844 | res->mnt = mntget(path.mnt); |
845 | res->dentry = dget(dentry); | 845 | res->dentry = dget(dentry); |