Message ID | 20210121131959.646623-18-christian.brauner@ubuntu.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Paul Moore |
Headers | show |
Series | idmapped mounts | expand |
On Thu, 21 Jan 2021, Christian Brauner wrote: > When binding a non-abstract AF_UNIX socket it will gain a representation > in the filesystem. Enable the socket infrastructure to handle idmapped > mounts by passing down the user namespace of the mount the socket will > be created from. If the initial user namespace is passed nothing changes > so non-idmapped mounts will see identical behavior as before. > > Link: https://lore.kernel.org/r/20210112220124.837960-25-christian.brauner@ubuntu.com > Cc: Christoph Hellwig <hch@lst.de> > Cc: David Howells <dhowells@redhat.com> > Cc: Al Viro <viro@zeniv.linux.org.uk> > Cc: linux-fsdevel@vger.kernel.org > Reviewed-by: Christoph Hellwig <hch@lst.de> > Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> Reviewed-by: James Morris <jamorris@linux.microsoft.com>
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 9a1f3c04402e..5a31307ceb76 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -996,8 +996,8 @@ static int unix_mknod(const char *sun_path, umode_t mode, struct path *res) */ err = security_path_mknod(&path, dentry, mode, 0); if (!err) { - err = vfs_mknod(&init_user_ns, d_inode(path.dentry), dentry, - mode, 0); + err = vfs_mknod(mnt_user_ns(path.mnt), d_inode(path.dentry), + dentry, mode, 0); if (!err) { res->mnt = mntget(path.mnt); res->dentry = dget(dentry);