Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/percpu.c pcpu_alloc_noprof() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 1 cpu 0-64
PARAM_VALUE 2 page_idx 0
CAPPED_DATA 0 chunk 1
CAPPED_DATA 1 cpu 1
DATA_SOURCE 1 cpu r find_next_bit

mm/percpu.c pcpu_alloc_noprof() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 1 cpu 0-64
PARAM_VALUE 2 page_idx 0
CAPPED_DATA 0 chunk 1
CAPPED_DATA 1 cpu 1
DATA_SOURCE 1 cpu r find_next_bit

mm/percpu.c pcpu_alloc_noprof() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 1 cpu 0-64
PARAM_VALUE 2 page_idx 0
CAPPED_DATA 0 chunk 1
CAPPED_DATA 1 cpu 1
DATA_SOURCE 1 cpu r find_next_bit

mm/percpu.c pcpu_chunk_page() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 1 cpu 0-64
PARAM_VALUE 2 page_idx s32min-2147483646
CAPPED_DATA 1 cpu 1
CAPPED_DATA 2 page_idx 1
DATA_SOURCE 0 chunk $0
DATA_SOURCE 1 cpu $1
DATA_SOURCE 2 page_idx $2
CONSTRAINT 1 cpu <3035
UNITS 2 page_idx unit_page
LOCK2 &pool->lock
LOCK2 global &pcpu_alloc_mutex

mm/percpu.c pcpu_map_pages() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 1 cpu 0-64
PARAM_VALUE 2 page_idx 0-64
CAPPED_DATA 0 chunk 1
CAPPED_DATA 1 cpu 1
CAPPED_DATA 2 page_idx 1
DATA_SOURCE 0 chunk $0
DATA_SOURCE 1 cpu r find_next_bit
DATA_SOURCE 2 page_idx $2
CONSTRAINT 1 cpu <3035
UNITS 2 page_idx unit_page
LOCK2 global &pcpu_alloc_mutex

mm/percpu.c pcpu_map_pages() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 1 cpu 0-64
PARAM_VALUE 2 page_idx 0-64
CAPPED_DATA 0 chunk 1
CAPPED_DATA 1 cpu 1
CAPPED_DATA 2 page_idx 1
DATA_SOURCE 0 chunk $0
DATA_SOURCE 1 cpu r find_next_bit
DATA_SOURCE 2 page_idx $2
CONSTRAINT 1 cpu <3035
UNITS 2 page_idx unit_page
LOCK2 global &pcpu_alloc_mutex

mm/percpu.c pcpu_post_map_flush() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 2 page_idx 0-64
CAPPED_DATA 0 chunk 1
CAPPED_DATA 2 page_idx 1
DATA_SOURCE 0 chunk $0
DATA_SOURCE 2 page_idx $1
UNITS 2 page_idx unit_page
LOCK2 global &pcpu_alloc_mutex

mm/percpu.c pcpu_post_map_flush() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 2 page_idx 0-128
CAPPED_DATA 0 chunk 1
CAPPED_DATA 2 page_idx 1
DATA_SOURCE 0 chunk $0
DATA_SOURCE 2 page_idx $2
UNITS 2 page_idx unit_page
LOCK2 global &pcpu_alloc_mutex

mm/percpu.c pcpu_post_unmap_tlb_flush() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 2 page_idx s32min-2147483646
CAPPED_DATA 2 page_idx 1
DATA_SOURCE 0 chunk $0
DATA_SOURCE 2 page_idx $1
UNITS 2 page_idx unit_page
LOCK2 global &pcpu_alloc_mutex
HALF_LOCKED2 &pool->lock

mm/percpu.c pcpu_post_unmap_tlb_flush() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 2 page_idx 0-s32max
CAPPED_DATA 2 page_idx 1
DATA_SOURCE 0 chunk $0
DATA_SOURCE 2 page_idx $2
UNITS 2 page_idx unit_page
LOCK2 global &pcpu_alloc_mutex
HALF_LOCKED2 &pool->lock

mm/percpu.c pcpu_pre_unmap_flush() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
DATA_SOURCE 0 chunk $0
DATA_SOURCE 2 page_idx $1
UNITS 2 page_idx unit_page
LOCK2 global &pcpu_alloc_mutex
HALF_LOCKED2 &pool->lock

mm/percpu.c pcpu_pre_unmap_flush() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
DATA_SOURCE 0 chunk $0
DATA_SOURCE 2 page_idx $2
UNITS 2 page_idx unit_page
LOCK2 global &pcpu_alloc_mutex
HALF_LOCKED2 &pool->lock

mm/percpu.c pcpu_unmap_pages() -> pcpu_chunk_addr()

Type Parameter Key Value
PARAM_VALUE 0 chunk 4096-ptr_max
PARAM_VALUE 1 cpu 0-64
CAPPED_DATA 1 cpu 1
DATA_SOURCE 0 chunk $0
DATA_SOURCE 1 cpu r find_next_bit
DATA_SOURCE 2 page_idx $2
CONSTRAINT 1 cpu <3035
UNITS 2 page_idx unit_page
LOCK2 global &pcpu_alloc_mutex
HALF_LOCKED2 &pool->lock