Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 7 files:
- drivers/md/dm-ioctl.c
- drivers/md/dm-rq.c, line 156
- drivers/md/dm-snap.c, line 2265
- drivers/md/dm-sysfs.c
- drivers/md/dm-thin.c
- drivers/md/dm-verity-loadpin.c, line 83
- drivers/md/dm.c
Smatch caller information:
drivers/md/dm-rq.c rq_completed() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| DATA_SOURCE | 0 | md | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | md | unit_byte |
drivers/md/dm-snap.c snapshot_resume() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| PARAM_VALUE | 0 | md->holders.counter | s32min-s32max |
| NOCHECK_CALL | |||
| LOCK2 | &md->suspend_lock |
drivers/md/dm-verity-loadpin.c dm_verity_loadpin_is_bdev_trusted() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| DATA_SOURCE | 0 | md | r dm_get_md |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c __get_dev_cell() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| DATA_SOURCE | 0 | md | r dm_get_md |
| NOCHECK_CALL | |||
| LOCK2 | global &_hash_lock |
drivers/md/dm-ioctl.c __hash_remove() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| NOCHECK_CALL | |||
| LOCK2 | global &_hash_lock |
drivers/md/dm-ioctl.c dev_create() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| PARAM_VALUE | 0 | md->holders.counter | 1 |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c dev_create() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c dev_remove() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c dev_remove() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c dev_remove() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| MEM_ZERO | 0 | &md->ima.active_table | |
| MEM_ZERO | 0 | &md->ima.inactive_table | |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c dev_rename() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| DATA_SOURCE | 0 | md | r dm_hash_rename |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c dev_set_geometry() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 1-u64max |
| DATA_SOURCE | 0 | md | r find_device |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c dev_status() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| DATA_SOURCE | 0 | md | r find_device |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c dev_wait() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| DATA_SOURCE | 0 | md | r find_device |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c dm_early_create() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->map->num_targets | 1 |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | md->queue->limits.max_hw_discard_sectors |
drivers/md/dm-ioctl.c dm_early_create() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | md->queue->limits.max_hw_discard_sectors |
drivers/md/dm-ioctl.c dm_early_create() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| PARAM_VALUE | 0 | md->holders.counter | s32min-s32max |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | md->queue->limits.max_hw_discard_sectors |
drivers/md/dm-ioctl.c dm_hash_insert() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | global &_hash_lock |
drivers/md/dm-ioctl.c dm_hash_insert() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | global &_hash_lock |
drivers/md/dm-ioctl.c dm_hash_remove_all() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | md->dax_dev->inode.i_mapping->host->i_bytes | |
| LOCK2 | global &_hash_lock |
drivers/md/dm-ioctl.c dm_hash_remove_all() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| MEM_ZERO | 0 | &md->ima.active_table | |
| MEM_ZERO | 0 | &md->ima.inactive_table | |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | md->dax_dev->inode.i_mapping->host->i_bytes |
drivers/md/dm-ioctl.c dm_hash_rename() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | global &_hash_lock |
drivers/md/dm-ioctl.c dm_hash_rename() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | global &_hash_lock |
drivers/md/dm-ioctl.c do_resume() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c do_resume() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | md->queue->limits.max_hw_discard_sectors |
drivers/md/dm-ioctl.c do_resume() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | md->queue->limits.max_hw_discard_sectors |
drivers/md/dm-ioctl.c do_suspend() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| DATA_SOURCE | 0 | md | r find_device |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c table_clear() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c table_deps() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| DATA_SOURCE | 0 | md | r find_device |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c table_load() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| DATA_SOURCE | 0 | md | r find_device |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c table_load() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 1-u64max |
| DATA_SOURCE | 0 | md | r find_device |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c table_status() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| DATA_SOURCE | 0 | md | r find_device |
| NOCHECK_CALL |
drivers/md/dm-ioctl.c target_message() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 1-u64max |
| CAPPED_DATA | 0 | md->io_barrier.srcu_ctrp | 1 |
| DATA_SOURCE | 0 | md | r find_device |
| NOCHECK_CALL |
drivers/md/dm-thin.c thin_ctr() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md | 1 |
| DATA_SOURCE | 0 | md | r dm_get_md |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &md->type_lock |
drivers/md/dm-thin.c thin_ctr() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| CAPPED_DATA | 0 | md | 1 |
| DATA_SOURCE | 0 | md | r dm_get_md |
| NOCHECK_CALL | |||
| LOCK2 | global &dm_thin_pool_table.mutex | ||
| HALF_LOCKED2 | &md->type_lock | ||
| TYPE_LOCK | (struct dm_thin_pool_table)->mutex |
drivers/md/dm.c dm_blk_close() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| BUF_SIZE | 0 | md | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | md | s32min-(-2),1-s32max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | md | unit_byte |
| LOCK2 | &disk->open_mutex | ||
| LOCK2 | global &_minor_lock | ||
| TYPE_LOCK | (struct gendisk)->open_mutex |
drivers/md/dm-sysfs.c dm_attr_show() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| DATA_SOURCE | 0 | md | r dm_get_from_kobject |
| 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/dm-sysfs.c dm_attr_store() -> dm_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | md | 4096-ptr_max |
| DATA_SOURCE | 0 | md | r dm_get_from_kobject |
| 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 |