Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

drivers/block/drbd/drbd_nl.c drbd_nl_attach_doit() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
CAPPED_DATA 0 device 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct drbd_resource)->adm_mutex

drivers/block/drbd/drbd_nl.c drbd_nl_attach_doit() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
PARAM_VALUE 0 device->resource->susp 0
PARAM_VALUE 0 device->resource->susp_fen 0
PARAM_VALUE 0 device->resource->susp_nod 0
CAPPED_DATA 0 device 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct drbd_resource)->adm_mutex

drivers/block/drbd/drbd_nl.c drbd_nl_attach_doit() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
PARAM_VALUE 0 device->resource->susp 0
PARAM_VALUE 0 device->resource->susp_fen 0
PARAM_VALUE 0 device->resource->susp_nod 0
CAPPED_DATA 0 device 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct drbd_resource)->adm_mutex

drivers/block/drbd/drbd_nl.c drbd_suspend_io() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
BUF_SIZE 0 device->ldev (-1),208
BUF_SIZE 0 device->p_uuid (-1),8
BUF_SIZE 0 device->resync (-1),176
BUF_SIZE 0 device->rs_plan_s (-1),12-s32max
DATA_SOURCE 0 device $0
STR_LEN 0 device (-1),12,19,23,26-27,29,31-32
STR_LEN 0 device (-1),12,19,23,26-27,29,31-32
STR_LEN 0 device->resync->name (-1),6
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 device->act_log->nr_elements
NO_OVERFLOW_SIMPLE 0 device->resync->nr_elements
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 0 device->state_mutex
HALF_LOCKED2 0 &device->resource->conf_update

drivers/block/drbd/drbd_nl.c may_inc_ap_bio() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
DATA_SOURCE 0 device $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/block/drbd/drbd_main.c may_inc_ap_bio() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
DATA_SOURCE 0 device $0
PREEMPT_ADD
TASK_NOT_RUNNING
UNITS 0 device unit_byte
LOCK2 irq
LOCK2 0 &device->resource->req_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_receiver.c drbd_disconnected() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
CAPPED_DATA 0 &device->active_ee 1
CAPPED_DATA 0 &device->read_ee 1
CAPPED_DATA 0 &device->resync_timer 1
CAPPED_DATA 0 &device->sync_ee 1

drivers/block/drbd/drbd_receiver.c receive_state() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 irq
LOCK2 0 &device->resource->req_lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_req.c drbd_send_and_submit() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
BUF_SIZE 0 device s32min-(-1),1-s32max
BUF_SIZE 0 device s32min-(-1),1-s32max
DATA_SOURCE 0 device $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 device unit_byte
LOCK2 &resource->req_lock
LOCK2 irq
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_req.c may_inc_ap_bio() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
BUF_SIZE 0 device s32min-(-2),1-s32max
BUF_SIZE 0 device s32min-(-2),1-s32max
DATA_SOURCE 0 device $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 device unit_byte
LOCK2 irq
LOCK2 0 &device->resource->req_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_req.c mod_rq_state() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
BUF_SIZE 0 device s32min-(-1),1-s32max
BUF_SIZE 0 device s32min-(-1),1-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 device unit_byte
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_proc.c drbd_seq_show() -> drbd_suspended()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
DATA_SOURCE 0 device r idr_get_next
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock