cifs: set correct max-buffer-size for smb2_ioctl_init()
commit 731b82bb17
upstream.
Fix two places where we need to adjust down the max response size for
ioctl when it is used together with compounding.
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
CC: Stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d65b067c25
commit
b396ec7241
|
@ -1461,7 +1461,9 @@ smb2_ioctl_query_info(const unsigned int xid,
|
|||
COMPOUND_FID, COMPOUND_FID,
|
||||
qi.info_type, true, buffer,
|
||||
qi.output_buffer_length,
|
||||
CIFSMaxBufSize);
|
||||
CIFSMaxBufSize -
|
||||
MAX_SMB2_CREATE_RESPONSE_SIZE -
|
||||
MAX_SMB2_CLOSE_RESPONSE_SIZE);
|
||||
}
|
||||
} else if (qi.flags == PASSTHRU_SET_INFO) {
|
||||
/* Can eventually relax perm check since server enforces too */
|
||||
|
@ -2634,7 +2636,10 @@ smb2_query_symlink(const unsigned int xid, struct cifs_tcon *tcon,
|
|||
|
||||
rc = SMB2_ioctl_init(tcon, &rqst[1], fid.persistent_fid,
|
||||
fid.volatile_fid, FSCTL_GET_REPARSE_POINT,
|
||||
true /* is_fctl */, NULL, 0, CIFSMaxBufSize);
|
||||
true /* is_fctl */, NULL, 0,
|
||||
CIFSMaxBufSize -
|
||||
MAX_SMB2_CREATE_RESPONSE_SIZE -
|
||||
MAX_SMB2_CLOSE_RESPONSE_SIZE);
|
||||
if (rc)
|
||||
goto querty_exit;
|
||||
|
||||
|
|
Loading…
Reference in New Issue