[PATCH review 2/4] vfs: Test for and handle paths that are unreachable from their mnt_root
viro at ZenIV.linux.org.uk
Thu Apr 9 23:16:36 UTC 2015
On Wed, Apr 08, 2015 at 06:32:58PM -0500, Eric W. Biederman wrote:
> - Add a dentry flag DCACHE_MOUNT_VIOLATED to mark loopback mounts that
> have had a dentry moved into a directory that does not descend from
> the mount root dentry.
> - In mnt_put_root clear DCACHE_MOUNT_VIOLATED.
> - Add a function path_connected to verify a path.dentry is reachable from
> path.mnt.mnt_root. AKA rename did not do something nasty to the bind mount.
> - Disable ".." when a path is not connected during lookup.
> (Maybe we want to stop ".." at this path instead?)
> Following .. is not disabled after a transition to /
> and is never disabled when / is the directory we start
> with. Because we already limit .. no higher than /
IDGI. Am I missing something, or you really only set that flag in the
beginning of the pathwalk? At the bare minimum, you want to treat
nd_jump_link() the same way, or your protection is trivially defeated by
using /proc/self/cwd/$PATHNAME instead of $PATHNAME...
More information about the Containers