Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/smb/server/connection.c ksmbd_conn_try_dequeue_request() -> release_async_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->asynchronous 1
PARAM_VALUE 0 work->conn 4096-ptr_max
PARAM_VALUE 0 work->conn->request_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 work->conn->session_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->conn->session_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->request_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 work->request_entry.prev->next 4096-ptr_max
CAPPED_DATA 0 &work->async_request_entry 1
CAPPED_DATA 0 &work->request_entry 1
DATA_SOURCE 0 work $0
NOCHECK_CALL
USER_PTR 0 work->request_buf
HALF_LOCKED2 &pool->lock

fs/smb/server/smb2pdu.c smb2_read() -> release_async_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->async_id 0-s32max
PARAM_VALUE 0 work->async_request_entry.next 4096-ptr_max
PARAM_VALUE 0 work->asynchronous 1
PARAM_VALUE 0 work->aux_read_list.next 4096-ptr_max
PARAM_VALUE 0 work->aux_read_list.next->next 4096-ptr_max
PARAM_VALUE 0 work->aux_read_list.next->prev 4096-ptr_max
PARAM_VALUE 0 work->cancel_argv 0
PARAM_VALUE 0 work->cancel_fn 0
PARAM_VALUE 0 work->conn 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev->next 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev->next->next 4096-ptr_max
PARAM_VALUE 0 work->conn->ops->get_cmd_val 4096-ptr_max
PARAM_VALUE 0 work->conn->request_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 work->conn->session_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->conn->session_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->conn->status s32min-1,4-s32max
PARAM_VALUE 0 work->conn->vals 4096-ptr_max
PARAM_VALUE 0 work->conn->vals->req_capabilities 0,4,6,8,12,14,16-416
PARAM_VALUE 0 work->iov 4096-ptr_max
PARAM_VALUE 0 work->iov_alloc_cnt (-2147483647)-s32max
PARAM_VALUE 0 work->next_smb2_rcv_hdr_off s32min-(-1),1-s32max
PARAM_VALUE 0 work->response_buf 16,4096-ptr_max
PARAM_VALUE 0 work->send_no_response 1
PARAM_VALUE 0 work->sess 0,4096-ptr_max
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->file_table.lock.dep_map->name 0-255
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->tcon 4096-ptr_max
PARAM_VALUE 0 work->tcon->share_conf 4096-ptr_max
CAPPED_DATA 0 work->tcon 1
DATA_SOURCE 0 work $0
NOCHECK_CALL
USER_PTR 0 work->request_buf
HALF_LOCKED2 &pool->lock

fs/smb/server/smb2pdu.c smb2_read() -> release_async_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->async_id 0-s32max
PARAM_VALUE 0 work->async_request_entry.next 4096-ptr_max
PARAM_VALUE 0 work->asynchronous 1
PARAM_VALUE 0 work->aux_read_list.next 4096-ptr_max
PARAM_VALUE 0 work->aux_read_list.next->next 4096-ptr_max
PARAM_VALUE 0 work->aux_read_list.next->prev 4096-ptr_max
PARAM_VALUE 0 work->cancel_argv 0
PARAM_VALUE 0 work->cancel_fn 0
PARAM_VALUE 0 work->conn 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev->next 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev->next->next 4096-ptr_max
PARAM_VALUE 0 work->conn->ops->get_cmd_val 4096-ptr_max
PARAM_VALUE 0 work->conn->request_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 work->conn->session_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->conn->session_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->conn->status s32min-1,4-s32max
PARAM_VALUE 0 work->conn->vals 4096-ptr_max
PARAM_VALUE 0 work->conn->vals->req_capabilities 0,4,6,8,12,14,16-416
PARAM_VALUE 0 work->iov 4096-ptr_max
PARAM_VALUE 0 work->iov_alloc_cnt (-2147483647)-s32max
PARAM_VALUE 0 work->next_smb2_rcv_hdr_off s32min-(-1),1-s32max
PARAM_VALUE 0 work->response_buf 16,4096-ptr_max
PARAM_VALUE 0 work->sess 0,4096-ptr_max
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->file_table.lock.dep_map->name 0-255
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->tcon 4096-ptr_max
PARAM_VALUE 0 work->tcon->share_conf 4096-ptr_max
CAPPED_DATA 0 work->tcon 1
DATA_SOURCE 0 work $0
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 work->iov_alloc_cnt
USER_PTR 0 work->request_buf
HALF_LOCKED2 &pool->lock

fs/smb/server/smb2pdu.c smb2_read() -> release_async_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->conn 4096-ptr_max
PARAM_VALUE 0 work->conn->ops->get_cmd_val 4096-ptr_max
PARAM_VALUE 0 work->conn->session_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->conn->session_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->conn->status s32min-1,4-s32max
PARAM_VALUE 0 work->conn->vals 4096-ptr_max
PARAM_VALUE 0 work->conn->vals->req_capabilities 0,4,6,8,12,14,16-416
PARAM_VALUE 0 work->response_buf 16,4096-ptr_max
PARAM_VALUE 0 work->sess 0,4096-ptr_max
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->tcon 4096-ptr_max
PARAM_VALUE 0 work->tcon->share_conf 4096-ptr_max
CAPPED_DATA 0 work->tcon 1
DATA_SOURCE 0 work $0
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 work->iov_alloc_cnt
USER_PTR 0 work->request_buf
HALF_LOCKED2 &pool->lock

fs/smb/server/smb2pdu.c smb2_write() -> release_async_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->async_id 0-s32max
PARAM_VALUE 0 work->async_request_entry.next 4096-ptr_max
PARAM_VALUE 0 work->asynchronous 1
PARAM_VALUE 0 work->aux_read_list.next 4096-ptr_max
PARAM_VALUE 0 work->aux_read_list.next->next 4096-ptr_max
PARAM_VALUE 0 work->aux_read_list.next->prev 4096-ptr_max
PARAM_VALUE 0 work->cancel_argv 0
PARAM_VALUE 0 work->cancel_fn 0
PARAM_VALUE 0 work->conn 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev->next 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev->next->next 4096-ptr_max
PARAM_VALUE 0 work->conn->ops->get_cmd_val 4096-ptr_max
PARAM_VALUE 0 work->conn->request_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 work->conn->session_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->conn->session_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->conn->status s32min-1,4-s32max
PARAM_VALUE 0 work->conn->vals 4096-ptr_max
PARAM_VALUE 0 work->conn->vals->max_write_size 0,65536-8388608
PARAM_VALUE 0 work->conn->vals->req_capabilities 0,4,6,8,12,14,16-416
PARAM_VALUE 0 work->iov 4096-ptr_max
PARAM_VALUE 0 work->iov_alloc_cnt (-2147483647)-s32max
PARAM_VALUE 0 work->next_smb2_rcv_hdr_off s32min-(-1),1-s32max
PARAM_VALUE 0 work->response_buf 16,4096-ptr_max
PARAM_VALUE 0 work->sess 0,4096-ptr_max
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->file_table.lock.dep_map->name 0-255
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->tcon 4096-ptr_max
PARAM_VALUE 0 work->tcon->share_conf 4096-ptr_max
CAPPED_DATA 0 work->tcon 1
DATA_SOURCE 0 work $0
NOCHECK_CALL
USER_DATA 0 work->remote_key 0-u32max[u]
USER_PTR 0 work->request_buf
HALF_LOCKED2 &pool->lock

fs/smb/server/smb2pdu.c smb2_write() -> release_async_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->async_id 0-s32max
PARAM_VALUE 0 work->async_request_entry.next 4096-ptr_max
PARAM_VALUE 0 work->asynchronous 1
PARAM_VALUE 0 work->cancel_argv 0
PARAM_VALUE 0 work->cancel_fn 0
PARAM_VALUE 0 work->conn 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev->next 4096-ptr_max
PARAM_VALUE 0 work->conn->async_requests.prev->next->next 4096-ptr_max
PARAM_VALUE 0 work->conn->ops->get_cmd_val 4096-ptr_max
PARAM_VALUE 0 work->conn->request_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 work->conn->session_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->conn->session_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->conn->status s32min-1,4-s32max
PARAM_VALUE 0 work->conn->vals 4096-ptr_max
PARAM_VALUE 0 work->conn->vals->max_write_size 0,65536-8388608
PARAM_VALUE 0 work->conn->vals->req_capabilities 0,4,6,8,12,14,16-416
PARAM_VALUE 0 work->next_smb2_rcv_hdr_off s32min-(-1),1-s32max
PARAM_VALUE 0 work->response_buf 16,4096-ptr_max
PARAM_VALUE 0 work->sess 0,4096-ptr_max
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->chann_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->file_table.lock.dep_map->name 0-255
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->rpc_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 work->sess->tree_conns_lock.first_waiter->type 0-1
PARAM_VALUE 0 work->tcon 4096-ptr_max
PARAM_VALUE 0 work->tcon->share_conf 4096-ptr_max
CAPPED_DATA 0 work->tcon 1
DATA_SOURCE 0 work $0
NOCHECK_CALL
USER_DATA 0 work->remote_key 0-u32max[u]
USER_PTR 0 work->request_buf
HALF_LOCKED2 &pool->lock

fs/smb/server/oplock.c oplock_break() -> release_async_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
DATA_SOURCE 0 work $2
RX_PATH
NOCHECK_CALL
USER_DATA 0 work->remote_key 0-u32max[u]
NO_OVERFLOW_SIMPLE 0 work->response_sz
USER_PTR 0 work->request_buf

fs/smb/server/oplock.c oplock_break() -> release_async_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
DATA_SOURCE 0 work $2
RX_PATH
NOCHECK_CALL
USER_DATA 0 work->remote_key 0-u32max[u]
NO_OVERFLOW_SIMPLE 0 work->response_sz
USER_PTR 0 work->request_buf