diff -Naur a/fs/cifs/cifs_unicode.c b/fs/cifs/cifs_unicode.c --- a/fs/cifs/cifs_unicode.c 2018-12-03 15:39:02.251058874 -0500 +++ b/fs/cifs/cifs_unicode.c 2018-12-03 16:46:33.182159211 -0500 @@ -494,14 +494,14 @@ if (map_chars == SFU_MAP_UNI_RSVD) dst_char = convert_to_sfu_char(src_char); else if (map_chars == SFM_MAP_UNI_RSVD) { - bool end_of_string; + bool end_of_name; - if (i == srclen - 1) - end_of_string = true; + if (i == srclen - 1 || (source[i+1] == '/' || source[i+1] == '\\')) + end_of_name = true; else - end_of_string = false; + end_of_name = false; - dst_char = convert_to_sfm_char(src_char, end_of_string); + dst_char = convert_to_sfm_char(src_char, end_of_name); } else dst_char = 0; /*