diff options
author | Long Li <longli@microsoft.com> | 2018-04-17 12:17:08 -0700 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2018-04-25 11:15:53 -0500 |
commit | bb4c0419476bd3982ba802f0f49de83cd79532d8 (patch) | |
tree | 725f1a7c9a3e35146aabd56bc5a29740b802bd3c /fs/cifs/smb2pdu.c | |
parent | 0d5ec281c0175d10f8d9be4d4a9c5fb37767ed00 (diff) | |
download | linux-stable-bb4c0419476bd3982ba802f0f49de83cd79532d8.tar.gz linux-stable-bb4c0419476bd3982ba802f0f49de83cd79532d8.tar.bz2 linux-stable-bb4c0419476bd3982ba802f0f49de83cd79532d8.zip |
cifs: smbd: Don't use RDMA read/write when signing is used
SMB server will not sign data transferred through RDMA read/write. When
signing is used, it's a good idea to have all the data signed.
In this case, use RDMA send/recv for all data transfers. This will degrade
performance as this is not generally configured in RDMA environemnt. So
warn the user on signing and RDMA send/recv.
Signed-off-by: Long Li <longli@microsoft.com>
Acked-by: Ronnie Sahlberg <lsahlber@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/smb2pdu.c')
-rw-r--r-- | fs/cifs/smb2pdu.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index 9aea138dd71f..60db51bae0e3 100644 --- a/fs/cifs/smb2pdu.c +++ b/fs/cifs/smb2pdu.c @@ -2591,7 +2591,7 @@ smb2_new_read_req(void **buf, unsigned int *total_len, * If we want to do a RDMA write, fill in and append * smbd_buffer_descriptor_v1 to the end of read request */ - if (server->rdma && rdata && + if (server->rdma && rdata && !server->sign && rdata->bytes >= server->smbd_conn->rdma_readwrite_threshold) { struct smbd_buffer_descriptor_v1 *v1; @@ -2969,7 +2969,7 @@ smb2_async_writev(struct cifs_writedata *wdata, * If we want to do a server RDMA read, fill in and append * smbd_buffer_descriptor_v1 to the end of write request */ - if (server->rdma && wdata->bytes >= + if (server->rdma && !server->sign && wdata->bytes >= server->smbd_conn->rdma_readwrite_threshold) { struct smbd_buffer_descriptor_v1 *v1; |