android_kernel_oneplus_msm8998/fs/cifs
Jon Kuhn 2b2ccb29f3 fs/cifs: don't translate SFM_SLASH (U+F026) to backslash
[ Upstream commit c15e3f19a6d5c89b1209dc94b40e568177cb0921 ]

When a Mac client saves an item containing a backslash to a file server
the backslash is represented in the CIFS/SMB protocol as as U+F026.
Before this change, listing a directory containing an item with a
backslash in its name will return that item with the backslash
represented with a true backslash character (U+005C) because
convert_sfm_character mapped U+F026 to U+005C when interpretting the
CIFS/SMB protocol response.  However, attempting to open or stat the
path using a true backslash will result in an error because
convert_to_sfm_char does not map U+005C back to U+F026 causing the
CIFS/SMB request to be made with the backslash represented as U+005C.

This change simply prevents the U+F026 to U+005C conversion from
happenning.  This is analogous to how the code does not do any
translation of UNI_SLASH (U+F000).

Signed-off-by: Jon Kuhn <jkuhn@barracuda.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-10-10 08:52:11 +02:00
..
asn1.c
cache.c
cifs_debug.c smb3: fix reset of bytes read and written stats 2018-09-15 09:40:39 +02:00
cifs_debug.h
cifs_dfs_ref.c
cifs_fs_sb.h
cifs_ioctl.h
cifs_spnego.c
cifs_spnego.h
cifs_unicode.c fs/cifs: don't translate SFM_SLASH (U+F026) to backslash 2018-10-10 08:52:11 +02:00
cifs_unicode.h
cifs_uniupr.h
cifsacl.c
cifsacl.h
cifsencrypt.c CIFS: zero sensitive data when freeing 2018-02-16 20:09:39 +01:00
cifsfs.c
cifsfs.h
cifsglob.h
cifspdu.h
cifsproto.h
cifssmb.c cifs: Fix infinite loop when using hard mount option 2018-07-11 16:03:48 +02:00
connect.c CIFS: zero sensitive data when freeing 2018-02-16 20:09:39 +01:00
dir.c cifs: do not allow creating sockets except with SMB1 posix exensions 2018-04-29 07:50:01 +02:00
dns_resolve.c
dns_resolve.h
export.c
file.c CIFS: silence lockdep splat in cifs_relock_file() 2018-04-13 19:50:03 +02:00
fscache.c
fscache.h
inode.c smb3: Do not send SMB3 SET_INFO if nothing changed 2018-09-05 09:18:37 +02:00
ioctl.c
Kconfig
link.c smb3: don't request leases in symlink creation and query 2018-09-05 09:18:37 +02:00
Makefile
misc.c CIFS: zero sensitive data when freeing 2018-02-16 20:09:39 +01:00
netmisc.c cifs: small underflow in cnvrtDosUnixTm() 2018-03-24 10:58:46 +01:00
nterr.c
nterr.h
ntlmssp.h
readdir.c cifs: prevent integer overflow in nxt_dir_entry() 2018-09-26 08:35:08 +02:00
rfc1002pdu.h
sess.c cifs: check kmalloc before use 2018-09-05 09:18:37 +02:00
smb1ops.c
smb2file.c
smb2glob.h
smb2inode.c smb3: Do not send SMB3 SET_INFO if nothing changed 2018-09-05 09:18:37 +02:00
smb2maperror.c
smb2misc.c cifs: check if SMB2 PDU size has been padded and suppress the warning 2018-09-15 09:40:37 +02:00
smb2ops.c
smb2pdu.c CIFS: fix wrapping bugs in num_entries() 2018-09-26 08:35:08 +02:00
smb2pdu.h
smb2proto.h
smb2status.h
smb2transport.c
smbencrypt.c
smberr.h
smbfsctl.h
transport.c
winucase.c
xattr.c