From: Christof Schmitt Date: Thu, 21 Sep 2017 19:08:01 +0000 (-0700) Subject: smbd/aio: Do not go async for SMB2 compound requests X-Git-Tag: samba-4.6.10~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0055479b34384fc6e2f10fee7ff036a44b2864d;p=thirdparty%2Fsamba.git smbd/aio: Do not go async for SMB2 compound requests BUG: https://bugzilla.samba.org/show_bug.cgi?id=13047 Signed-off-by: Christof Schmitt Reviewed-by: Jeremy Allison (cherry picked from commit a2b081e159403e10295a1bc089b48e816ce698b9) --- diff --git a/source3/smbd/aio.c b/source3/smbd/aio.c index ff1be138246..37b0f8fb9b0 100644 --- a/source3/smbd/aio.c +++ b/source3/smbd/aio.c @@ -707,6 +707,10 @@ NTSTATUS schedule_smb2_aio_read(connection_struct *conn, return NT_STATUS_RETRY; } + if (smbd_smb2_is_compound(smbreq->smb2req)) { + return NT_STATUS_RETRY; + } + /* Create the out buffer. */ *preadbuf = data_blob_talloc(ctx, NULL, smb_maxcnt); if (preadbuf->data == NULL) { @@ -856,6 +860,10 @@ NTSTATUS schedule_aio_smb2_write(connection_struct *conn, return NT_STATUS_RETRY; } + if (smbd_smb2_is_compound(smbreq->smb2req)) { + return NT_STATUS_RETRY; + } + if (smbreq->unread_bytes) { /* Can't do async with recvfile. */ return NT_STATUS_RETRY;