• Steve French's avatar
    do not treat non-symlink reparse points as valid symlinks · c31f3307
    Steve French authored
    Windows 8 and later can create NFS symlinks (within reparse points)
    which we were assuming were normal NTFS symlinks and thus reporting
    corrupt paths for.  Add check for reparse points to make sure that
    they really are normal symlinks before we try to parse the pathname.
    
    We also should not be parsing other types of reparse points (DFS
    junctions etc) as if they were a  symlink so return EOPNOTSUPP
    on those.  Also fix endian errors (we were not parsing symlink
    lengths as little endian).
    
    This fixes commit d244bf2d
    which implemented follow link for non-Unix CIFS mounts
    
    CC: Stable <stable@kernel.org>
    Reviewed-by: default avatarAndrew Bartlett <abartlet@samba.org>
    Signed-off-by: default avatarSteve French <smfrench@gmail.com>
    c31f3307
cifspdu.h 80.6 KB