Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/md/bcache/sysfs.c __bch_flash_dev_store() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->c->uuids 4096-ptr_max
NOCHECK_CALL
LOCK2 global &bch_register_lock

drivers/md/bcache/sysfs.c __cached_dev_store() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
NOCHECK_CALL
LOCK2 global &bch_register_lock

drivers/md/bcache/super.c __cache_set_unregister() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &bch_register_lock

drivers/md/bcache/super.c bcache_reboot() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
NOCHECK_CALL

drivers/md/bcache/super.c bch_cached_dev_error() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->disk 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 irq
HALF_LOCKED2 lock.complete_slot
HALF_LOCKED2 lock.pending_slot

drivers/md/bcache/super.c bch_pending_bdevs_cleanup() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/md/bcache/super.c cached_dev_status_update() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
NOCHECK_CALL

drivers/md/bcache/super.c conditional_stop_bcache_device() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->disk 4096-ptr_max
DATA_SOURCE 0 d $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &bch_register_lock
HALF_LOCKED2 &b->io_mutex
HALF_LOCKED2 &dc->in_flight

drivers/md/bcache/super.c conditional_stop_bcache_device() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->disk 4096-ptr_max
DATA_SOURCE 0 d $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &bch_register_lock
HALF_LOCKED2 &b->io_mutex
HALF_LOCKED2 &dc->in_flight

drivers/md/bcache/super.c register_bdev() -> bcache_device_stop()

Type Parameter Key Value
PARAM_VALUE 0 d 4096-ptr_max
PARAM_VALUE 0 d->bio_detached.back_pad 0,64
PARAM_VALUE 0 d->bio_detached.bio_pool.alloc 7276475779886346240
PARAM_VALUE 0 d->bio_detached.bio_pool.curr_nr 0-s32max
PARAM_VALUE 0 d->bio_detached.bio_pool.free 8263660038527102976
PARAM_VALUE 0 d->bio_detached.bio_pool.min_nr 4
PARAM_VALUE 0 d->bio_detached.bio_pool.pool_data 1-u64max
PARAM_VALUE 0 d->bio_detached.bio_pool.wait.head.next 4096-ptr_max
PARAM_VALUE 0 d->bio_detached.bio_pool.wait.head.prev 4096-ptr_max
PARAM_VALUE 0 d->bio_detached.bvec_pool.alloc 7276475779886346240
PARAM_VALUE 0 d->bio_detached.bvec_pool.curr_nr 0-s32max
PARAM_VALUE 0 d->bio_detached.bvec_pool.free 8263660038527102976
PARAM_VALUE 0 d->bio_detached.bvec_pool.wait.head.next 4096-ptr_max
PARAM_VALUE 0 d->bio_detached.bvec_pool.wait.head.prev 4096-ptr_max
PARAM_VALUE 0 d->bio_detached.cpuhp_dead.pprev 4096-ptr_max
PARAM_VALUE 0 d->bio_detached.front_pad 24
PARAM_VALUE 0 d->bio_split.back_pad 0,64
PARAM_VALUE 0 d->bio_split.bio_pool.alloc 7276475779886346240
PARAM_VALUE 0 d->bio_split.bio_pool.curr_nr 0-s32max
PARAM_VALUE 0 d->bio_split.bio_pool.free 8263660038527102976
PARAM_VALUE 0 d->bio_split.bio_pool.min_nr 4
PARAM_VALUE 0 d->bio_split.bio_pool.pool_data 1-u64max
PARAM_VALUE 0 d->bio_split.bio_pool.wait.head.next 4096-ptr_max
PARAM_VALUE 0 d->bio_split.bio_pool.wait.head.prev 4096-ptr_max
PARAM_VALUE 0 d->bio_split.bvec_pool.alloc 7276475779886346240
PARAM_VALUE 0 d->bio_split.bvec_pool.curr_nr 0-s32max
PARAM_VALUE 0 d->bio_split.bvec_pool.free 8263660038527102976
PARAM_VALUE 0 d->bio_split.bvec_pool.wait.head.next 4096-ptr_max
PARAM_VALUE 0 d->bio_split.bvec_pool.wait.head.prev 4096-ptr_max
PARAM_VALUE 0 d->bio_split.cpuhp_dead.pprev 4096-ptr_max
PARAM_VALUE 0 d->bio_split.front_pad 32
PARAM_VALUE 0 d->cl.all.next 4096-ptr_max
PARAM_VALUE 0 d->cl.all.prev 5007304420852699136
PARAM_VALUE 0 d->cl.closure_get_happened 1
PARAM_VALUE 0 d->cl.fn 3328570266716049408
PARAM_VALUE 0 d->cl.magic 3226771742
PARAM_VALUE 0 d->cl.wq 0,4096-ptr_max
PARAM_VALUE 0 d->disk 4096-u64max
PARAM_VALUE 0 d->full_dirty_stripes 0,16,4096-ptr_max
PARAM_VALUE 0 d->kobj.kref.refcount.refs.counter 1
PARAM_VALUE 0 d->kobj.ktype 231458154859315200
PARAM_VALUE 0 d->kobj.state_initialized 1
PARAM_VALUE 0 d->nr_stripes 1-s32max
PARAM_VALUE 0 d->stripe_sectors_dirty 0,16,4096-ptr_max
PARAM_VALUE 0 d->stripe_size 1-u32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 d->bio_detached.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 d->bio_detached.bvec_pool.min_nr
NO_OVERFLOW_SIMPLE 0 d->bio_split.bio_pool.min_nr
NO_OVERFLOW_SIMPLE 0 d->bio_split.bvec_pool.min_nr
LOCK2 global &bch_register_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock