]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ksmbd: fix uaf in smb20_oplock_break_ack
authorluosili <rootlab@huawei.com>
Wed, 4 Oct 2023 09:29:36 +0000 (18:29 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 10 Oct 2023 20:03:06 +0000 (22:03 +0200)
commit c69813471a1ec081a0b9bf0c6bd7e8afd818afce upstream.

drop reference after use opinfo.

Signed-off-by: luosili <rootlab@huawei.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/smb/server/smb2pdu.c

index 687b750a35bf7ebf5f998472842c6fe91604188d..99a9c024e2dc99ec8fd076b524ccb7fddc2bde39 100644 (file)
@@ -8036,10 +8036,10 @@ static void smb20_oplock_break_ack(struct ksmbd_work *work)
                goto err_out;
        }
 
-       opinfo_put(opinfo);
-       ksmbd_fd_put(work, fp);
        opinfo->op_state = OPLOCK_STATE_NONE;
        wake_up_interruptible_all(&opinfo->oplock_q);
+       opinfo_put(opinfo);
+       ksmbd_fd_put(work, fp);
 
        rsp->StructureSize = cpu_to_le16(24);
        rsp->OplockLevel = rsp_oplevel;