Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/block/drbd/drbd_state.c _drbd_set_state() -> is_valid_state()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
PARAM_VALUE 0 device->vdisk->part0->bd_device.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->part0->bd_device.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->part0->bd_device.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 device->vdisk->queue->mq_kobj->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->queue_kobj.sd->attr.open->nr_mmapped 0-4294967295
BUF_SIZE 0 device s32min-(-1),1-s32max
BUF_SIZE 0 device s32min-(-1),1-s32max
BUF_SIZE 0 device->ldev (-1),208
BUF_SIZE 0 device->p_uuid (-1),8
BUF_SIZE 0 device->resync (-1)-134217728
BUF_SIZE 0 device->rs_plan_s (-1),12-s32max
CAPPED_DATA 0 device 1
DATA_SOURCE 0 device $0
DATA_SOURCE 1 ns $1 [m]
STR_LEN 0 device (-1),6,8,11-12,17,19-20,23,26-27,29,31-32
STR_LEN 0 device (-1),6,8,11-12,17,19-20,23,26-27,29,31-32
STR_LEN 0 device->bm_io_work.why (-1)
STR_LEN 0 device->resync->name (-1),6
PARAM_COMPARE 1 ns == $1
BIT_INFO 1 ns 0x0,0x7fffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 device->act_log->lc_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 device->act_log->nr_elements
NO_OVERFLOW_SIMPLE 0 device->resync->lc_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 device->resync->nr_elements
UNITS 0 device unit_byte
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &resources_mutex
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 device->state_mutex
HALF_LOCKED2 0 &device->resource->req_lock

drivers/block/drbd/drbd_state.c _drbd_set_state() -> is_valid_state()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
PARAM_VALUE 0 device->vdisk->part0->bd_device.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->part0->bd_device.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->part0->bd_device.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 device->vdisk->queue->mq_kobj->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->queue_kobj.sd->attr.open->nr_mmapped 0-4294967295
BUF_SIZE 0 device s32min-(-1),1-s32max
BUF_SIZE 0 device s32min-(-1),1-s32max
BUF_SIZE 0 device->ldev (-1),208
BUF_SIZE 0 device->p_uuid (-1),8
BUF_SIZE 0 device->resync (-1)-134217728
BUF_SIZE 0 device->rs_plan_s (-1),12-s32max
CAPPED_DATA 0 device 1
DATA_SOURCE 0 device $0
DATA_SOURCE 1 ns r drbd_read_state
STR_LEN 0 device (-1),6,8,11-12,17,19-20,23,26-27,29,31-32
STR_LEN 0 device (-1),6,8,11-12,17,19-20,23,26-27,29,31-32
STR_LEN 0 device->bm_io_work.why (-1)
STR_LEN 0 device->resync->name (-1),6
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 device->act_log->lc_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 device->act_log->nr_elements
NO_OVERFLOW_SIMPLE 0 device->resync->lc_cache->sheaf_capacity
NO_OVERFLOW_SIMPLE 0 device->resync->nr_elements
UNITS 0 device unit_byte
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 &device->resource->req_lock
HALF_LOCKED2 &resource->req_lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &resources_mutex
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 device->state_mutex
HALF_LOCKED2 0 &device->resource->req_lock

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

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
PARAM_VALUE 0 device->resource->req_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 device->vdisk->part0->bd_device.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->part0->bd_device.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->part0->bd_device.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 device->vdisk->queue->mq_kobj->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->queue_kobj.sd->attr.open->nr_mmapped 0-4294967295
DATA_SOURCE 0 device $0
DATA_SOURCE 1 ns r sanitize_state
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &device->resource->req_lock
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 0 device->state_mutex
TYPE_LOCK (struct drbd_resource)->req_lock

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

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
DATA_SOURCE 1 ns r sanitize_state
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_is_valid_transition() -> is_valid_state()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
DATA_SOURCE 1 ns r drbd_read_state
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 drbd_req_state() -> is_valid_state()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->resource 4096-ptr_max
PARAM_VALUE 0 device->vdisk->part0->bd_device.kobj.parent->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->part0->bd_device.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->part0->bd_device.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 device->vdisk->queue->mq_kobj->sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 device->vdisk->queue_kobj.sd->attr.open->nr_mmapped 0-4294967295
DATA_SOURCE 0 device $0
DATA_SOURCE 1 ns r sanitize_state
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &device->resource->req_lock
HALF_LOCKED2 &adm_ctx->resource->adm_mutex
HALF_LOCKED2 0 device->state_mutex
TYPE_LOCK (struct drbd_resource)->req_lock