diff options
author | Pavel Shilovsky <pshilov@microsoft.com> | 2016-11-17 15:24:46 -0800 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2017-02-01 16:46:36 -0600 |
commit | 4326ed2f6a16ae9d33e4209b540dc9a371aba840 (patch) | |
tree | a4690a2891b1404a967c0c9302ea9008fc90933e /fs/cifs/smb2pdu.c | |
parent | d70b9104b1ca586f73aaf59426756cec3325a40e (diff) | |
download | op-kernel-dev-4326ed2f6a16ae9d33e4209b540dc9a371aba840.zip op-kernel-dev-4326ed2f6a16ae9d33e4209b540dc9a371aba840.tar.gz |
CIFS: Decrypt and process small encrypted packets
Allow to decrypt transformed packets, find a corresponding mid
and process as usual further.
Signed-off-by: Pavel Shilovsky <pshilov@microsoft.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 12dee85..0abeb5f 100644 --- a/fs/cifs/smb2pdu.c +++ b/fs/cifs/smb2pdu.c @@ -2281,7 +2281,7 @@ smb2_readv_callback(struct mid_q_entry *mid) case MID_RESPONSE_RECEIVED: credits_received = le16_to_cpu(shdr->CreditRequest); /* result already set, check signature */ - if (server->sign) { + if (server->sign && !mid->decrypted) { int rc; rc = smb2_verify_signature(&rqst, server); @@ -2384,7 +2384,7 @@ smb2_async_readv(struct cifs_readdata *rdata) kref_get(&rdata->refcount); rc = cifs_call_async(io_parms.tcon->ses->server, &rqst, cifs_readv_receive, smb2_readv_callback, - NULL, rdata, flags); + smb3_handle_read_data, rdata, flags); if (rc) { kref_put(&rdata->refcount, cifs_readdata_release); cifs_stats_fail_inc(io_parms.tcon, SMB2_READ_HE); |