af_unix: handle idmapped mounts
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/20210121131959.646623-18-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> Reviewed-by: James Morris <jamorris@linux.microsoft.com> Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
Родитель
b8b546a061
Коммит
7c02cf73d0
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче