On Mon, Jul 13, 2020 at 05:19:42PM +0300, Amir Goldstein wrote: > Miklos, Vivek, > > Following discussion on following an unsafe non-dir origin [1] > and in a addition to a fix for the reported null uuid case [2] and to > Vivek's doc clarification [3], I am proposing to piggy back existing > config redirect_dir=nofollow to also not follow non-dir origin. > > Like in the case of non-dir origin, following redirects behavior was > added with no opt-out option in kernel v4.10. Later security concerns > about following malformed redirects resulted in the redirect_dir=nofollow > config option. So what's the security issue you are seeing with malformed origin? If it indeed is a security threat, then we should probably introduce another mount option to disable it (instead of reusing redirect_dir, because that's so unintuitive, IMHO). Thanks Vivek > > Without giving too much thought into how unsafe it can be to follow > a bad origin, there is very low motication IMO to follow non-dir origin > with redirect_dir=nofollow, because it is a configuration that prefers > safety over correctness, so it just seems like the right thing to do. > > The first two patches are independent bug fixes related to read-only > NFS export, which can be taken regardless of non-dir origin nofollow. > FYI, I found those bugs because I am using ro,index=off NFS export > configuration for the new overlay fsnotify snaphsot series. > > Thanks, > Amir. > > [1] https://lore.kernel.org/linux-unionfs/CAJfpegv9h7ubuGy_6K4OCdZd3R7Z4HGmCDB2L7mO5bVoGd6MSA@xxxxxxxxxxxxxx/ > [2] https://lore.kernel.org/linux-unionfs/20200708131613.30038-1-amir73il@xxxxxxxxx/ > [3] https://lore.kernel.org/linux-unionfs/20200709140220.GC150543@xxxxxxxxxx/ > > Amir Goldstein (3): > ovl: force read-only sb on failure to create index dir > ovl: fix mount option checks for nfs_export with no upperdir > ovl: do not follow non-dir origin with redirect_dir=nofollow > > Documentation/filesystems/overlayfs.rst | 4 +-- > fs/overlayfs/namei.c | 2 +- > fs/overlayfs/super.c | 42 ++++++++++++++----------- > 3 files changed, 27 insertions(+), 21 deletions(-) > > -- > 2.17.1 >