summaryrefslogtreecommitdiff
path: root/fs/ksmbd/smb2pdu.h
diff options
context:
space:
mode:
authorNamjae Jeon <linkinjeon@kernel.org>2023-03-31 02:42:12 +0300
committerSteve French <stfrench@microsoft.com>2023-04-03 07:08:52 +0300
commit3a9b557f44ea8f216aab515a7db20e23f0eb51b9 (patch)
tree5a2587229b6511c14ef5f549fadcd2be083e58bd /fs/ksmbd/smb2pdu.h
parent2824861773eb512b37547516d81ef78108032cb2 (diff)
downloadlinux-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.h1
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);