summaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsproto.h
diff options
context:
space:
mode:
authorEugene Korenevsky <ekorenevsky@astralinux.ru>2022-01-14 22:53:40 +0300
committerSteve French <stfrench@microsoft.com>2022-01-17 13:28:25 -0600
commita2809d0e16963fdf3984409e47f145cccb0c6821 (patch)
tree3b92a5ea5b9971e50de2e7afb0de73d04cdf5120 /fs/cifs/cifsproto.h
parent7eacba3b00a3c35c1ad189f543b1995dd0bdca9c (diff)
downloadlinux-a2809d0e16963fdf3984409e47f145cccb0c6821.tar.gz
linux-a2809d0e16963fdf3984409e47f145cccb0c6821.tar.bz2
linux-a2809d0e16963fdf3984409e47f145cccb0c6821.zip
cifs: quirk for STATUS_OBJECT_NAME_INVALID returned for non-ASCII dfs refs
Windows SMB server responds with STATUS_OBJECT_NAME_INVALID code to SMB2 QUERY_INFO request for "\<server>\<dfsname>\<linkpath>" DFS reference, where <dfsname> contains non-ASCII unicode symbols. Check such DFS reference and emulate -EREMOTE if it is actual. BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=215440 Signed-off-by: Eugene Korenevsky <ekorenevsky@astralinux.ru> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/cifsproto.h')
-rw-r--r--fs/cifs/cifsproto.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index e0dc147e69a8..f2029bc46215 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -647,6 +647,11 @@ static inline int get_dfs_path(const unsigned int xid, struct cifs_ses *ses,
int match_target_ip(struct TCP_Server_Info *server,
const char *share, size_t share_len,
bool *result);
+
+int cifs_dfs_query_info_nonascii_quirk(const unsigned int xid,
+ struct cifs_tcon *tcon,
+ struct cifs_sb_info *cifs_sb,
+ const char *dfs_link_path);
#endif
static inline int cifs_create_options(struct cifs_sb_info *cifs_sb, int options)