ksmbd: fix uaf in smb20_oplock_break_ack

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>
This commit is contained in:
luosili 2023-10-04 18:29:36 +09:00 committed by Steve French
parent 5a7ee91d11
commit c69813471a

View File

@ -8038,10 +8038,10 @@ static void smb20_oplock_break_ack(struct ksmbd_work *work)
goto err_out; goto err_out;
} }
opinfo_put(opinfo);
ksmbd_fd_put(work, fp);
opinfo->op_state = OPLOCK_STATE_NONE; opinfo->op_state = OPLOCK_STATE_NONE;
wake_up_interruptible_all(&opinfo->oplock_q); wake_up_interruptible_all(&opinfo->oplock_q);
opinfo_put(opinfo);
ksmbd_fd_put(work, fp);
rsp->StructureSize = cpu_to_le16(24); rsp->StructureSize = cpu_to_le16(24);
rsp->OplockLevel = rsp_oplevel; rsp->OplockLevel = rsp_oplevel;