Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/block/drbd/drbd_state.c _req_st_cond() -> apply_mask_val()

Type Parameter Key Value
DATA_SOURCE 0 os r drbd_read_state
DATA_SOURCE 1 mask $1
DATA_SOURCE 2 val $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &device->resource->req_lock
LOCK2 flags
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 device->state_mutex
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_state.c conn_is_valid_transition() -> apply_mask_val()

Type Parameter Key Value
DATA_SOURCE 0 os r drbd_read_state
DATA_SOURCE 1 mask $1
DATA_SOURCE 2 val $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 &connection->cstate_mutex
HALF_LOCKED2 &connection->data.mutex
HALF_LOCKED2 &connection->resource->conf_update
HALF_LOCKED2 &connection->resource->req_lock
HALF_LOCKED2 &device->resource->req_lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_state.c conn_set_state() -> apply_mask_val()

Type Parameter Key Value
DATA_SOURCE 0 os r drbd_read_state
DATA_SOURCE 1 mask $1
DATA_SOURCE 2 val $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 &connection->cstate_mutex
HALF_LOCKED2 &connection->data.mutex
HALF_LOCKED2 &connection->resource->conf_update
HALF_LOCKED2 &connection->resource->req_lock
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_state.c drbd_change_state() -> apply_mask_val()

Type Parameter Key Value
DATA_SOURCE 1 mask $2
DATA_SOURCE 2 val $3
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &device->resource->req_lock
LOCK2 flags
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_state.c drbd_req_state() -> apply_mask_val()

Type Parameter Key Value
DATA_SOURCE 0 os r drbd_read_state
DATA_SOURCE 1 mask $1
DATA_SOURCE 2 val $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &device->resource->req_lock
LOCK2 flags
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 device->state_mutex
TYPE_LOCK (struct drbd_resource)->req_lock

drivers/block/drbd/drbd_state.c drbd_req_state() -> apply_mask_val()

Type Parameter Key Value
DATA_SOURCE 1 mask $1
DATA_SOURCE 2 val $2
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &device->resource->req_lock
LOCK2 flags
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 device->state_mutex
TYPE_LOCK (struct drbd_resource)->req_lock