CIFS: Fix wrong filename length for SMB2
The existing code uses the old MAX_NAME constant. This causes XFS test generic/013 to fail. Fix it by replacing MAX_NAME with PATH_MAX that SMB1 uses. Also remove an unused MAX_NAME constant definition. Cc: <stable@vger.kernel.org> # v3.7+ Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org> Signed-off-by: Steve French <smfrench@gmail.com>wifi-calibration
parent
f736906a76
commit
1bbe4997b1
|
@ -70,11 +70,6 @@
|
||||||
#define SERVER_NAME_LENGTH 40
|
#define SERVER_NAME_LENGTH 40
|
||||||
#define SERVER_NAME_LEN_WITH_NULL (SERVER_NAME_LENGTH + 1)
|
#define SERVER_NAME_LEN_WITH_NULL (SERVER_NAME_LENGTH + 1)
|
||||||
|
|
||||||
/* used to define string lengths for reversing unicode strings */
|
|
||||||
/* (256+1)*2 = 514 */
|
|
||||||
/* (max path length + 1 for null) * 2 for unicode */
|
|
||||||
#define MAX_NAME 514
|
|
||||||
|
|
||||||
/* SMB echo "timeout" -- FIXME: tunable? */
|
/* SMB echo "timeout" -- FIXME: tunable? */
|
||||||
#define SMB_ECHO_INTERVAL (60 * HZ)
|
#define SMB_ECHO_INTERVAL (60 * HZ)
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ smb2_open_file(const unsigned int xid, struct cifs_open_parms *oparms,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
smb2_data = kzalloc(sizeof(struct smb2_file_all_info) + MAX_NAME * 2,
|
smb2_data = kzalloc(sizeof(struct smb2_file_all_info) + PATH_MAX * 2,
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (smb2_data == NULL) {
|
if (smb2_data == NULL) {
|
||||||
rc = -ENOMEM;
|
rc = -ENOMEM;
|
||||||
|
|
|
@ -131,7 +131,7 @@ smb2_query_path_info(const unsigned int xid, struct cifs_tcon *tcon,
|
||||||
*adjust_tz = false;
|
*adjust_tz = false;
|
||||||
*symlink = false;
|
*symlink = false;
|
||||||
|
|
||||||
smb2_data = kzalloc(sizeof(struct smb2_file_all_info) + MAX_NAME * 2,
|
smb2_data = kzalloc(sizeof(struct smb2_file_all_info) + PATH_MAX * 2,
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (smb2_data == NULL)
|
if (smb2_data == NULL)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
|
@ -389,7 +389,7 @@ smb2_query_file_info(const unsigned int xid, struct cifs_tcon *tcon,
|
||||||
int rc;
|
int rc;
|
||||||
struct smb2_file_all_info *smb2_data;
|
struct smb2_file_all_info *smb2_data;
|
||||||
|
|
||||||
smb2_data = kzalloc(sizeof(struct smb2_file_all_info) + MAX_NAME * 2,
|
smb2_data = kzalloc(sizeof(struct smb2_file_all_info) + PATH_MAX * 2,
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (smb2_data == NULL)
|
if (smb2_data == NULL)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
|
@ -1532,7 +1532,7 @@ SMB2_query_info(const unsigned int xid, struct cifs_tcon *tcon,
|
||||||
{
|
{
|
||||||
return query_info(xid, tcon, persistent_fid, volatile_fid,
|
return query_info(xid, tcon, persistent_fid, volatile_fid,
|
||||||
FILE_ALL_INFORMATION,
|
FILE_ALL_INFORMATION,
|
||||||
sizeof(struct smb2_file_all_info) + MAX_NAME * 2,
|
sizeof(struct smb2_file_all_info) + PATH_MAX * 2,
|
||||||
sizeof(struct smb2_file_all_info), data);
|
sizeof(struct smb2_file_all_info), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue