diff options
author | Namjae Jeon <linkinjeon@kernel.org> | 2023-03-31 02:42:12 +0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2023-04-03 07:08:52 +0300 |
commit | 3a9b557f44ea8f216aab515a7db20e23f0eb51b9 (patch) | |
tree | 5a2587229b6511c14ef5f549fadcd2be083e58bd /fs/ksmbd/smb2pdu.h | |
parent | 2824861773eb512b37547516d81ef78108032cb2 (diff) | |
download | linux-3a9b557f44ea8f216aab515a7db20e23f0eb51b9.tar.xz |
ksmbd: delete asynchronous work from list
When smb2_lock request is canceled by smb2_cancel or smb2_close(),
ksmbd is missing deleting async_request_entry async_requests list.
Because calling init_smb2_rsp_hdr() in smb2_lock() mark ->synchronous
as true and then it will not be deleted in
ksmbd_conn_try_dequeue_request(). This patch add release_async_work() to
release the ones allocated for async work.
Cc: stable@vger.kernel.org
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/ksmbd/smb2pdu.h')
-rw-r--r-- | fs/ksmbd/smb2pdu.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ksmbd/smb2pdu.h b/fs/ksmbd/smb2pdu.h index 0c8a770fe318..9420dd2813fb 100644 --- a/fs/ksmbd/smb2pdu.h +++ b/fs/ksmbd/smb2pdu.h @@ -486,6 +486,7 @@ int find_matching_smb2_dialect(int start_index, __le16 *cli_dialects, struct file_lock *smb_flock_init(struct file *f); int setup_async_work(struct ksmbd_work *work, void (*fn)(void **), void **arg); +void release_async_work(struct ksmbd_work *work); void smb2_send_interim_resp(struct ksmbd_work *work, __le32 status); struct channel *lookup_chann_list(struct ksmbd_session *sess, struct ksmbd_conn *conn); |