Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

fs/btrfs/tree-log.c log_one_extent() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em $2

fs/btrfs/file.c btrfs_fallocate() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 0-ptr_max
DATA_SOURCE 0 em r btrfs_get_extent
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
HALF_LOCKED2 &pool->lock

fs/btrfs/file.c btrfs_fallocate() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em r btrfs_get_extent
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
HALF_LOCKED2 &pool->lock

fs/btrfs/file.c btrfs_zero_range() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-9223372036854775807
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em r btrfs_get_extent
BIT_INFO 0 em->flags 0x10,0xffffffff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

fs/btrfs/file.c find_first_non_hole() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em r btrfs_get_extent
RX_PATH
TASK_NOT_RUNNING

fs/btrfs/inode.c btrfs_cont_expand() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 0-ptr_max
DATA_SOURCE 0 em r btrfs_get_extent
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start

fs/btrfs/inode.c btrfs_encoded_read() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em r btrfs_get_extent
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
LOCK2 &inode->vfs_inode.i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/btrfs/inode.c btrfs_find_new_delalloc_bytes() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em r btrfs_get_extent
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->start

fs/btrfs/extent_io.c btrfs_do_readpage() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em r get_extent_map
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start

fs/btrfs/extent_io.c btrfs_readahead_expand() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
HALF_LOCKED2 &mapping->invalidate_lock

fs/btrfs/extent_io.c get_extent_map() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-18446744073709551614
CAPPED_DATA 0 em->start 1
RX_PATH
TASK_NOT_RUNNING

fs/btrfs/extent_io.c submit_one_sector() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em r btrfs_get_extent
RX_PATH
TASK_NOT_RUNNING

fs/btrfs/extent_io.c try_release_extent_mapping() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-18446744073709551614
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em r btrfs_lookup_extent_mapping
BIT_INFO 0 em->flags 0x0,0xfffffffe
RX_PATH
TASK_NOT_RUNNING
LOCK2 &extent_tree->lock
HALF_LOCKED2 &folio->private->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_io.c try_release_extent_mapping() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em r btrfs_lookup_extent_mapping
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
LOCK2 &extent_tree->lock
HALF_LOCKED2 &folio->private->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/defrag.c defrag_check_next_extent() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->len 0-4294967294
CAPPED_DATA 0 em->len 1
DATA_SOURCE 0 em $1
BIT_INFO 0 em->flags 0x0,0xffffffef
USER_DATA 0 em->len 1-s32max[c]
USER_DATA 0 em->start 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 em->start
LOCK2 &inode->vfs_inode.i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/btrfs/defrag.c defrag_collect_targets() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em r defrag_lookup_extent
BIT_INFO 0 em->flags 0x0,0xffffffef
NOSPEC 0 em->len
NOSPEC 0 em->start
USER_DATA 0 em->len 1-9223372036854775807[c]
USER_DATA 0 em->start 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 em->start
LOCK2 &inode->vfs_inode.i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/btrfs/defrag.c defrag_collect_targets() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em r defrag_lookup_extent
NOSPEC 0 em->len
NOSPEC 0 em->start
USER_DATA 0 em->len 1-9223372036854775807[c]
USER_DATA 0 em->start 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 em->start
LOCK2 &inode->vfs_inode.i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/btrfs/extent_map.c btrfs_add_extent_mapping() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-143360
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em r btrfs_search_extent_mapping
LOCK2 &em_tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c btrfs_add_extent_mapping() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
DATA_SOURCE 0 em r btrfs_search_extent_mapping
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
LOCK2 &em_tree->lock
LOCK2 rcu_read
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c btrfs_drop_extent_map_range() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
CAPPED_DATA 0 em->start 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
LOCK2 &em_tree->lock
HALF_LOCKED2 &fs_info->cleaner_mutex
HALF_LOCKED2 &inode->i_mmap_lock
HALF_LOCKED2 &leaf->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c lookup_extent_mapping() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-18446744073709551614
CAPPED_DATA 0 em->start 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->vfs_inode.i_rwsem
HALF_LOCKED2 &tree->lock

fs/btrfs/extent_map.c merge_extent_mapping() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-143360
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em $2
LOCK2 &em_tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c merge_extent_mapping() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-143360
CAPPED_DATA 0 em->start 1
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
LOCK2 &em_tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c merge_extent_mapping() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-143360
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em $2
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
LOCK2 &em_tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c merge_extent_mapping() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-143360
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em $2
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
LOCK2 &em_tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c mergeable_maps() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
BUF_SIZE 0 em (-1),1-s32max
BUF_SIZE 0 em (-1),1-s32max
DATA_SOURCE 0 em $0
NOSPEC 0 em->len
NOSPEC 0 em->ram_bytes
NOSPEC 0 em->start
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 em->len 0-u64max[c]
USER_DATA 0 em->offset 0
USER_DATA 0 em->ram_bytes 0-u64max[c]
USER_DATA 0 em->start 0-18446744073709551614[c]
NO_OVERFLOW_SIMPLE 0 em->disk_num_bytes
NO_OVERFLOW_SIMPLE 0 em->start
HALF_LOCKED2 &tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c tree_insert() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
CAPPED_DATA 0 em->start 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
HALF_LOCKED2 &em_tree->lock
HALF_LOCKED2 &tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c tree_insert() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
UNITS 0 em unit_byte
HALF_LOCKED2 &em_tree->lock
HALF_LOCKED2 &tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c tree_insert() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
UNITS 0 em unit_byte
HALF_LOCKED2 &em_tree->lock
HALF_LOCKED2 &tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c tree_insert() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-18446744073709551614
CAPPED_DATA 0 em->start 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
UNITS 0 em unit_byte
HALF_LOCKED2 &em_tree->lock
HALF_LOCKED2 &tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c tree_insert() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-18446744073709551614
CAPPED_DATA 0 em->start 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
UNITS 0 em unit_byte
HALF_LOCKED2 &em_tree->lock
HALF_LOCKED2 &tree->lock
TYPE_LOCK (struct extent_map_tree)->lock

fs/btrfs/extent_map.c tree_search() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
CAPPED_DATA 0 em->start 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
UNITS 0 em unit_byte
HALF_LOCKED2 &tree->lock

fs/btrfs/extent_map.c tree_search() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
UNITS 0 em unit_byte
HALF_LOCKED2 &tree->lock

fs/btrfs/extent_map.c tree_search() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start
UNITS 0 em unit_byte
HALF_LOCKED2 &tree->lock

fs/btrfs/compression.c add_ra_bio_folios() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-18446744073709551614
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em r btrfs_lookup_extent_mapping
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start

fs/btrfs/compression.c add_ra_bio_folios() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-18446744073709551614
CAPPED_DATA 0 em->start 1
DATA_SOURCE 0 em r btrfs_lookup_extent_mapping
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start

fs/btrfs/tests/extent-map-tests.c __test_case_3() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-12288
CAPPED_DATA 0 em->start 1
FUZZY_MAX 0 em->start 12288
HARD_MAX 0 em->start 12288
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start

fs/btrfs/tests/extent-map-tests.c __test_case_4() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0-4096
CAPPED_DATA 0 em->start 1
FUZZY_MAX 0 em->start 4096
HARD_MAX 0 em->start 4096
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start

fs/btrfs/tests/extent-map-tests.c test_case_1() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start

fs/btrfs/tests/extent-map-tests.c test_case_2() -> btrfs_extent_map_end()

Type Parameter Key Value
PARAM_VALUE 0 em 4096-ptr_max
PARAM_VALUE 0 em->start 0
NO_OVERFLOW_SIMPLE 0 em->len
NO_OVERFLOW_SIMPLE 0 em->start