Lines Matching full:work

129  * @work:	smb work
135 int ksmbd_verify_smb_message(struct ksmbd_work *work) in ksmbd_verify_smb_message() argument
137 struct smb2_hdr *smb2_hdr = ksmbd_req_buf_next(work); in ksmbd_verify_smb_message()
141 return ksmbd_smb2_check_message(work); in ksmbd_verify_smb_message()
143 hdr = work->request_buf; in ksmbd_verify_smb_message()
146 work->conn->outstanding_credits++; in ksmbd_verify_smb_message()
302 * @work: smb work containing smb header
306 static u16 get_smb1_cmd_val(struct ksmbd_work *work) in get_smb1_cmd_val() argument
313 * @work: smb work containing smb request
317 static int init_smb1_rsp_hdr(struct ksmbd_work *work) in init_smb1_rsp_hdr() argument
319 struct smb_hdr *rsp_hdr = (struct smb_hdr *)work->response_buf; in init_smb1_rsp_hdr()
320 struct smb_hdr *rcv_hdr = (struct smb_hdr *)work->request_buf; in init_smb1_rsp_hdr()
334 * @work: smb work containing smb request buffer
338 static int smb1_check_user_session(struct ksmbd_work *work) in smb1_check_user_session() argument
340 unsigned int cmd = work->conn->ops->get_cmd_val(work); in smb1_check_user_session()
350 * @work: smb work containing smb request
354 static int smb1_allocate_rsp_buf(struct ksmbd_work *work) in smb1_allocate_rsp_buf() argument
356 work->response_buf = kzalloc(MAX_CIFS_SMALL_BUFFER_SIZE, in smb1_allocate_rsp_buf()
358 work->response_sz = MAX_CIFS_SMALL_BUFFER_SIZE; in smb1_allocate_rsp_buf()
360 if (!work->response_buf) { in smb1_allocate_rsp_buf()
376 static int smb1_negotiate(struct ksmbd_work *work) in smb1_negotiate() argument
378 return ksmbd_smb_negotiate_common(work, SMB_COM_NEGOTIATE); in smb1_negotiate()
393 int ksmbd_init_smb_server(struct ksmbd_work *work) in ksmbd_init_smb_server() argument
395 struct ksmbd_conn *conn = work->conn; in ksmbd_init_smb_server()
398 proto = *(__le32 *)((struct smb_hdr *)work->request_buf)->Protocol; in ksmbd_init_smb_server()
410 int ksmbd_populate_dot_dotdot_entries(struct ksmbd_work *work, int info_level, in ksmbd_populate_dot_dotdot_entries() argument
419 struct ksmbd_conn *conn = work->conn; in ksmbd_populate_dot_dotdot_entries()
445 ksmbd_vfs_fill_dentry_attrs(work, in ksmbd_populate_dot_dotdot_entries()
551 static int smb_handle_negotiate(struct ksmbd_work *work) in smb_handle_negotiate() argument
553 struct smb_negotiate_rsp *neg_rsp = work->response_buf; in smb_handle_negotiate()
557 if (ksmbd_iov_pin_rsp(work, (void *)neg_rsp, in smb_handle_negotiate()
563 neg_rsp->DialectIndex = cpu_to_le16(work->conn->dialect); in smb_handle_negotiate()
568 int ksmbd_smb_negotiate_common(struct ksmbd_work *work, unsigned int command) in ksmbd_smb_negotiate_common() argument
570 struct ksmbd_conn *conn = work->conn; in ksmbd_smb_negotiate_common()
574 ksmbd_negotiate_smb_dialect(work->request_buf); in ksmbd_smb_negotiate_common()
578 ret = smb2_handle_negotiate(work); in ksmbd_smb_negotiate_common()
585 init_smb2_neg_rsp(work); in ksmbd_smb_negotiate_common()
589 return smb_handle_negotiate(work); in ksmbd_smb_negotiate_common()
717 int ksmbd_override_fsids(struct ksmbd_work *work) in ksmbd_override_fsids() argument
719 struct ksmbd_session *sess = work->sess; in ksmbd_override_fsids()
720 struct ksmbd_share_config *share = work->tcon->share_conf; in ksmbd_override_fsids()
751 WARN_ON(work->saved_cred); in ksmbd_override_fsids()
752 work->saved_cred = override_creds(cred); in ksmbd_override_fsids()
753 if (!work->saved_cred) { in ksmbd_override_fsids()
760 void ksmbd_revert_fsids(struct ksmbd_work *work) in ksmbd_revert_fsids() argument
764 WARN_ON(!work->saved_cred); in ksmbd_revert_fsids()
767 revert_creds(work->saved_cred); in ksmbd_revert_fsids()
769 work->saved_cred = NULL; in ksmbd_revert_fsids()