Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 6 files:

Smatch caller information:

drivers/dax/super.c fs_put_dax() -> put_dax()

Type Parameter Key Value
DATA_SOURCE 0 dax_dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/nvdimm/pmem.c pmem_attach_disk() -> put_dax()

Type Parameter Key Value
PARAM_VALUE 0 dax_dev 0,4096-ptr_max
PARAM_VALUE 0 dax_dev->holder_data 0
PARAM_VALUE 0 dax_dev->holder_ops 0
CAPPED_DATA 0 dax_dev 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->mutex

drivers/nvdimm/pmem.c pmem_release_disk() -> put_dax()

Type Parameter Key Value
PARAM_VALUE 0 dax_dev 0,4096-ptr_max
PARAM_VALUE 0 dax_dev->holder_data 0
PARAM_VALUE 0 dax_dev->holder_ops 0
CAPPED_DATA 0 dax_dev 1
NOCHECK_CALL

drivers/dax/bus.c dev_dax_release() -> put_dax()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &subsys->su_mutex

drivers/md/dm.c cleanup_mapped_device() -> put_dax()

Type Parameter Key Value
PARAM_VALUE 0 dax_dev 4096-ptr_max
PARAM_VALUE 0 dax_dev->holder_data 0
PARAM_VALUE 0 dax_dev->holder_ops 0
CAPPED_DATA 0 dax_dev 1
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 dax_dev->inode.i_bytes
NO_OVERFLOW_SIMPLE 0 dax_dev->inode.i_mapping->host->i_size

drivers/md/dm.c close_table_device() -> put_dax()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &md->table_devices_lock
TYPE_LOCK (struct mapped_device)->table_devices_lock

fs/fuse/virtio_fs.c virtio_fs_cleanup_dax() -> put_dax()

Type Parameter Key Value
PARAM_VALUE 0 dax_dev 4096-ptr_max
PARAM_VALUE 0 dax_dev->holder_data 0
PARAM_VALUE 0 dax_dev->holder_ops 0
CAPPED_DATA 0 dax_dev 1
DATA_SOURCE 0 dax_dev $0
BIT_INFO 0 dax_dev 0x0,0x7fffffffffffffff
BIT_INFO 0 dax_dev 0x0,0x7fffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL