]> git.karo-electronics.de Git - linux-beck.git/commitdiff
CIFS: Fix a possible memory corruption in push locks
authorPavel Shilovsky <pshilov@microsoft.com>
Wed, 30 Nov 2016 00:14:43 +0000 (16:14 -0800)
committerPavel Shilovsky <pshilov@microsoft.com>
Mon, 5 Dec 2016 19:08:55 +0000 (11:08 -0800)
If maxBuf is not 0 but less than a size of SMB2 lock structure
we can end up with a memory corruption.

Cc: Stable <stable@vger.kernel.org>
Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
fs/cifs/smb2file.c

index f9e766f464beec408b628146c4e0d4e04010e0f2..b2aff0c6f22c528eb628a25247bad85b1d096a3c 100644 (file)
@@ -260,7 +260,7 @@ smb2_push_mandatory_locks(struct cifsFileInfo *cfile)
         * and check it for zero before using.
         */
        max_buf = tlink_tcon(cfile->tlink)->ses->server->maxBuf;
-       if (!max_buf) {
+       if (max_buf < sizeof(struct smb2_lock_element)) {
                free_xid(xid);
                return -EINVAL;
        }