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 dax_holder_notify_failure() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &mf_mutex

drivers/dax/super.c fs_dax_get() -> dax_read_lock()

Type Parameter Key Value

drivers/dax/super.c fs_dax_get_by_bdev() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &md->table_devices_lock
HALF_LOCKED2 &sbi->devs->rwsem

drivers/dax/device.c dax_mmap_prepare() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/dax/device.c dev_dax_huge_fault() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/dax.c copy_cow_page_dax() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &mapping->invalidate_lock

fs/dax.c dax_iomap_direct_access() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &dax_srcu

fs/dax.c dax_iomap_iter() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

fs/dax.c dax_range_compare_iter() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode_out->i_rwsem

fs/dax.c dax_unshare_iter() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

fs/dax.c dax_zero_iter() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/fuse/dax.c fuse_dax_mem_range_init() -> dax_read_lock()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fsc->uapi_mutex
HALF_LOCKED2 &sb->s_umount
HALF_LOCKED2 global &virtio_fs_mutex

drivers/md/dm-pcache/cache_dev.c cache_dev_dax_init() -> dax_read_lock()

Type Parameter Key Value

drivers/md/dm-writecache.c persistent_memory_claim() -> dax_read_lock()

Type Parameter Key Value