mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-07 13:43:51 +00:00
ksmbd: release interim response after sending status pending response
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>
This commit is contained in:
parent
2e450920d5
commit
2a3f7857ec
@ -56,6 +56,9 @@ void ksmbd_free_work_struct(struct ksmbd_work *work)
|
||||
kfree(work->tr_buf);
|
||||
kvfree(work->request_buf);
|
||||
kfree(work->iov);
|
||||
if (!list_empty(&work->interim_entry))
|
||||
list_del(&work->interim_entry);
|
||||
|
||||
if (work->async_id)
|
||||
ksmbd_release_id(&work->conn->async_ida, work->async_id);
|
||||
kmem_cache_free(work_cache, work);
|
||||
|
@ -833,7 +833,8 @@ static int smb2_lease_break_noti(struct oplock_info *opinfo)
|
||||
interim_entry);
|
||||
setup_async_work(in_work, NULL, NULL);
|
||||
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);
|
||||
ksmbd_queue_work(work);
|
||||
|
Loading…
Reference in New Issue
Block a user