Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

lib/maple_tree.c mas_alloc_cyclic() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 490740092738199552,3625433611361931264
PARAM_VALUE 0 mas->sheaf->capacity s32min-4294967295
PARAM_VALUE 0 mas->sheaf->node s32min-s32max
PARAM_VALUE 0 mas->sheaf->pfmemalloc 0-1
PARAM_VALUE 0 mas->sheaf->size s32min-4294967295
PARAM_VALUE 1 min 2-u64max
PARAM_VALUE 2 max 1024,2147483646,u64max
PARAM_VALUE 3 size 1
CAPPED_DATA 1 min 1
CAPPED_DATA 1 min 1
CAPPED_DATA 2 max 1
CAPPED_DATA 2 max 1
DATA_SOURCE 0 mas $0
DATA_SOURCE 2 max $4
HARD_MAX 2 max u64max
RX_PATH
TASK_NOT_RUNNING
UNITS 1 min unit_byte
LOCK2 &mt->ma_lock
TYPE_LOCK (struct maple_tree)->ma_lock

lib/maple_tree.c mas_alloc_cyclic() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 490740092738199552,3625433611361931264
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf->capacity s32min-4294967295
PARAM_VALUE 0 mas->sheaf->node s32min-s32max
PARAM_VALUE 0 mas->sheaf->pfmemalloc 0-1
PARAM_VALUE 0 mas->sheaf->size s32min-4294967295
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 2-3
PARAM_VALUE 2 max 1024,2147483646,u64max
PARAM_VALUE 3 size 1
CAPPED_DATA 1 min 1
CAPPED_DATA 1 min 1
CAPPED_DATA 2 max 1
CAPPED_DATA 2 max 1
DATA_SOURCE 0 mas $0
DATA_SOURCE 2 max $4
PARAM_COMPARE 1 min <= $2
PARAM_COMPARE 1 min <= $2
PARAM_COMPARE 2 max >= $1
HARD_MAX 2 max u64max
RX_PATH
TASK_NOT_RUNNING
UNITS 1 min unit_byte
LOCK2 &mt->ma_lock
TYPE_LOCK (struct maple_tree)->ma_lock

lib/maple_tree.c mtree_alloc_range() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 51657533444714496
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 0-4503599627370495
PARAM_VALUE 3 size 0-4503599627370495
CAPPED_DATA 1 min 1
CAPPED_DATA 1 min 1
CAPPED_DATA 3 size 1
CAPPED_DATA 3 size 1
DATA_SOURCE 1 min $4
DATA_SOURCE 2 max $5
DATA_SOURCE 3 size $3
PREEMPT_ADD <- disables preempt
UNITS 1 min unit_byte
UNITS 3 size unit_byte
LOCK2 &mt->ma_lock
TYPE_LOCK (struct maple_tree)->ma_lock

mm/vma.c vma_iter_area_lowest() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4000179264148541440
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->status 1
CAPPED_DATA 1 min 1
DATA_SOURCE 1 min $1
DATA_SOURCE 3 size $3
RX_PATH
TASK_NOT_RUNNING
USER_DATA 3 size 0-2147487743[c]
NO_OVERFLOW_SIMPLE 0 mas->index
NO_OVERFLOW_SIMPLE 1 min
UNITS 1 min unit_byte
UNITS 2 max unit_byte
UNITS 3 size unit_byte
HALF_LOCKED2 &mm->mmap_lock

lib/test_maple_tree.c check_alloc_range() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4096-ptr_max
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 0 mas->tree 697437168751288320
PARAM_VALUE 1 min 0-4503599627370495
PARAM_VALUE 2 max 0-4503599627370495
PARAM_VALUE 3 size 0-4503599627370495
PREEMPT_ADD <- disables preempt
LOCK2 &(&mas)->tree->ma_lock

lib/test_maple_tree.c check_alloc_range() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4096-ptr_max
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1-2,7
PARAM_VALUE 0 mas->tree 697437168751288320
PARAM_VALUE 1 min 0-4503599627370495
PARAM_VALUE 2 max 0-4503599627370495
PARAM_VALUE 3 size 0-4503599627370495
PREEMPT_ADD <- disables preempt
LOCK2 &(&mas)->tree->ma_lock

lib/test_maple_tree.c check_empty_area_fill() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 7973555732508303360
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->index 0
PARAM_VALUE 0 mas->last 0
PARAM_VALUE 0 mas->mas_flags 0,2-254
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 634880000
PARAM_VALUE 3 size 0-s32max,18446744071562067968-u64max
BIT_INFO 3 size 0x0,0xffffffff
BIT_INFO 3 size 0x0,0xffffffff
PREEMPT_ADD <- disables preempt
LOCK2 &(&mas)->tree->ma_lock

lib/test_maple_tree.c check_empty_area_fill() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 7973555732508303360
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->index 0
PARAM_VALUE 0 mas->last 0,634880000
PARAM_VALUE 0 mas->mas_flags 0,2-254
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1-2,7
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 634880000
PARAM_VALUE 3 size 0-s32max,18446744071562067968-u64max
BIT_INFO 3 size 0x0,0xffffffff
BIT_INFO 3 size 0x0,0xffffffff
PREEMPT_ADD <- disables preempt
LOCK2 &(&mas)->tree->ma_lock

lib/test_maple_tree.c check_empty_area_fill() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 7973555732508303360
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->mas_flags 0,2-254
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 634880000
PARAM_VALUE 3 size 4096
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_fill() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 7973555732508303360
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->mas_flags 0,2-254
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 634880000
PARAM_VALUE 3 size 4096
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_fill() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 7973555732508303360
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->mas_flags 0,2-254
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 629506048
PARAM_VALUE 2 max 690000000
PARAM_VALUE 3 size 20480
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_fill() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 7973555732508303360
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->mas_flags 0,2-254
PARAM_VALUE 0 mas->node 0,18446744073709535238-18446744073709551614
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1,7
PARAM_VALUE 1 min 629506048
PARAM_VALUE 2 max 690000000
PARAM_VALUE 3 size 20480
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 100
PARAM_VALUE 3 size 9
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1-2,7
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 100
PARAM_VALUE 3 size 9
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 100
PARAM_VALUE 3 size 4
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1-2,7
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 100
PARAM_VALUE 3 size 4
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 100
PARAM_VALUE 3 size 11
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 100
PARAM_VALUE 3 size 11
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 5
PARAM_VALUE 2 max 100
PARAM_VALUE 3 size 6
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 1 min 5
PARAM_VALUE 2 max 100
PARAM_VALUE 3 size 6
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 8
PARAM_VALUE 3 size 10
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 0,2-u32max
PARAM_VALUE 1 min 0
PARAM_VALUE 2 max 8
PARAM_VALUE 3 size 10
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 100
PARAM_VALUE 2 max 165
PARAM_VALUE 3 size 3
NOCHECK_CALL
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 1 min 100
PARAM_VALUE 2 max 163
PARAM_VALUE 3 size 6
LOCK2 rcu_read

lib/test_maple_tree.c check_empty_area_window() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 4141346736029859840
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 1 min 100
PARAM_VALUE 2 max 163
PARAM_VALUE 3 size 6
LOCK2 rcu_read

kernel/irq/irqdesc.c irq_find_free_area() -> mas_empty_area()

Type Parameter Key Value
PARAM_VALUE 0 mas 6762558707453030400
PARAM_VALUE 0 mas->alloc 0
PARAM_VALUE 0 mas->depth 0
PARAM_VALUE 0 mas->end 0
PARAM_VALUE 0 mas->index 0
PARAM_VALUE 0 mas->last 0
PARAM_VALUE 0 mas->ld_seq 0
PARAM_VALUE 0 mas->max u64max
PARAM_VALUE 0 mas->min 0
PARAM_VALUE 0 mas->node 0
PARAM_VALUE 0 mas->offset 0
PARAM_VALUE 0 mas->sheaf 0
PARAM_VALUE 0 mas->status 1
PARAM_VALUE 0 mas->tree 384540098826899456
PARAM_VALUE 2 max s32max
PARAM_VALUE 3 size 1-u32max
DATA_SOURCE 1 min $0
DATA_SOURCE 3 size $1
STR_LEN 0 mas (-1),6,8,11-12
NOSPEC 3 size
NOSPEC 3 size
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 min 0[c]
HOST_DATA 3 size 2-s32max[c]
USER_DATA 3 size 2-2147483646[c]
NO_OVERFLOW_SIMPLE 3 size
UNITS 1 min unit_array_size
UNITS 3 size unit_array_size
LOCK2 _T->lock
HALF_LOCKED2 &_T->lock->msi.data->mutex
HALF_LOCKED2 &domain->root->mutex
HALF_LOCKED2 global &irq_mapping_update_lock