mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
ksmbd: release interim response after sending status pending response
[ Upstream commit 2a3f7857ec742e212d6cee7fbbf7b0e2ae7f5161 ] Add missing release async id and delete interim response entry after sending status pending response. This only cause when smb2 lease is enable. Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
013bf453af
commit
d9aa5c1908
@@ -56,6 +56,9 @@ void ksmbd_free_work_struct(struct ksmbd_work *work)
|
|||||||
kfree(work->tr_buf);
|
kfree(work->tr_buf);
|
||||||
kvfree(work->request_buf);
|
kvfree(work->request_buf);
|
||||||
kfree(work->iov);
|
kfree(work->iov);
|
||||||
|
if (!list_empty(&work->interim_entry))
|
||||||
|
list_del(&work->interim_entry);
|
||||||
|
|
||||||
if (work->async_id)
|
if (work->async_id)
|
||||||
ksmbd_release_id(&work->conn->async_ida, work->async_id);
|
ksmbd_release_id(&work->conn->async_ida, work->async_id);
|
||||||
kmem_cache_free(work_cache, work);
|
kmem_cache_free(work_cache, work);
|
||||||
|
|||||||
@@ -833,7 +833,8 @@ static int smb2_lease_break_noti(struct oplock_info *opinfo)
|
|||||||
interim_entry);
|
interim_entry);
|
||||||
setup_async_work(in_work, NULL, NULL);
|
setup_async_work(in_work, NULL, NULL);
|
||||||
smb2_send_interim_resp(in_work, STATUS_PENDING);
|
smb2_send_interim_resp(in_work, STATUS_PENDING);
|
||||||
list_del(&in_work->interim_entry);
|
list_del_init(&in_work->interim_entry);
|
||||||
|
release_async_work(in_work);
|
||||||
}
|
}
|
||||||
INIT_WORK(&work->work, __smb2_lease_break_noti);
|
INIT_WORK(&work->work, __smb2_lease_break_noti);
|
||||||
ksmbd_queue_work(work);
|
ksmbd_queue_work(work);
|
||||||
|
|||||||
Reference in New Issue
Block a user