• J. Bruce Fields's avatar
    nfsd: fix EXDEV checking in rename · aa387d6c
    J. Bruce Fields authored
    We again check for the EXDEV a little later on, so the first check is
    redundant.  This check is also slightly racier, since a badly timed
    eviction from the export cache could leave us with the two fh_export
    pointers pointing to two different cache entries which each refer to the
    same underlying export.
    
    It's better to compare vfsmounts as the later check does, but that
    leaves a minor security hole in the case where the two exports refer to
    two different directories especially if (for example) they have
    different root-squashing options.
    
    So, compare ex_path.dentry too.
    Reported-by: default avatarJoe Habermann <joe.habermann@gmail.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    aa387d6c
vfs.c 54.3 KB