[PATCH 0/2] Fix hardlinks in overlay

From: Alexander Morozov
Date: Fri Oct 09 2015 - 15:35:28 EST


There were reports that overlay doesn't work very well with unix-sockets.
In particular you can't access unix-socket through hardlink on overlay fs.
Problem is that overlay creates different inodes for hardlinks and code in
net/unix/af_unix.c relies on inodes for unix-socket lookup. I think this
affects any code which relies on inodes from kern_path. There is helper
d_backing_inode, which I think supposed to get inodes from underlying fs
(for example ext4), but in current implementation it does nothing. These
patches made on top of v4.3-rc4 of main linux tree (master is broken for my
ubuntu VM), but I tested that they applying on master and there was no
changes to overlay since v4.3-rc4.

Alexander Morozov (2):
fs/overlay: move update and instantiate dentry code to function
fs/overlay: use same inodes for hardlinks

fs/overlayfs/dir.c | 41 +++++++++++++++++++++++++++++------------
1 file changed, 29 insertions(+), 12 deletions(-)

--
2.6.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/