Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/dax.c __dax_clear_dirty_range() -> put_unlocked_entry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
PARAM_VALUE 1 entry 1-u64max
PARAM_VALUE 2 mode 1
DATA_SOURCE 1 entry r wait_entry_unlocked_exclusive
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 xas->xa_index 0-2251799813685247,18444492273895866368-u64max[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 irq
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/dax.c __dax_invalidate_entry() -> put_unlocked_entry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PARAM_VALUE 2 mode 0
DATA_SOURCE 1 entry r get_next_unlocked_entry
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 irq
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &mapping->host->i_rwsem
HALF_LOCKED2 &mapping->invalidate_lock
HALF_LOCKED2 &sbi->cp_global_sem.internal_rwsem

fs/dax.c dax_delete_mapping_range() -> put_unlocked_entry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PARAM_VALUE 1 entry 1-u64max
PARAM_VALUE 2 mode 0
DATA_SOURCE 1 entry r wait_entry_unlocked_exclusive
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 irq

fs/dax.c dax_insert_pfn_mkwrite() -> put_unlocked_entry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 1-18
PARAM_VALUE 2 mode 1
CAPPED_DATA 1 entry 1
DATA_SOURCE 1 entry r get_next_unlocked_entry
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 irq
HALF_LOCKED2 &inode->i_mapping->invalidate_lock
HALF_LOCKED2 &mapping->invalidate_lock

fs/dax.c dax_layout_busy_page_range() -> put_unlocked_entry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PARAM_VALUE 0 xas->xa 4096-ptr_max
PARAM_VALUE 0 xas->xa_alloc 0
PARAM_VALUE 0 xas->xa_lru 0
PARAM_VALUE 0 xas->xa_node 0-1,4096-ptr_max
PARAM_VALUE 0 xas->xa_pad 0
PARAM_VALUE 0 xas->xa_shift 0
PARAM_VALUE 0 xas->xa_sibs 0
PARAM_VALUE 2 mode 1
DATA_SOURCE 1 entry r wait_entry_unlocked_exclusive
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 irq

fs/dax.c dax_writeback_one() -> put_unlocked_entry()

Type Parameter Key Value
PARAM_VALUE 0 xas 4096-ptr_max
PARAM_VALUE 0 xas->xa_node 0-1,4-u64max
PARAM_VALUE 2 mode 1
DATA_SOURCE 0 xas $0
DATA_SOURCE 1 entry r get_next_unlocked_entry
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 xas->xa_index 0-u64max[c]
USER_DATA 0 xas->xa_offset 0-255
LOCK2 &((&xas)->xa)->xa_lock
LOCK2 irq
HALF_LOCKED2 &mapping->invalidate_lock