Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 37 files:

Smatch caller information:

mm/percpu.c pcpu_embed_first_chunk() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 0,4096-17179869184
CAPPED_DATA 1 size 1
CAPPED_DATA 1 size 1
DATA_SOURCE 0 ptr r memblock_alloc
BIT_INFO 1 size 0x0,0x7fffff000
BIT_INFO 1 size 0x0,0x7fffff000
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 size
LOCK2 irq

mm/percpu.c pcpu_fc_free() -> memblock_free()

Type Parameter Key Value
DATA_SOURCE 0 ptr $0
DATA_SOURCE 1 size $1
NOCHECK_CALL
UNITS 0 ptr unit_byte
UNITS 1 size unit_byte
LOCK2 irq

mm/percpu.c pcpu_free_alloc_info() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
PARAM_VALUE 1 size 0,4096-u64max
DATA_SOURCE 0 ptr $0
NOCHECK_CALL
LOCK2 irq

mm/percpu.c pcpu_page_first_chunk() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 0,4096-34359738368
DATA_SOURCE 0 ptr r __memblock_alloc_or_panic
BIT_INFO 1 size 0x0,0xfffffffffffff000
BIT_INFO 1 size 0x0,0xfffffffffffff000
NOCHECK_CALL
LOCK2 irq

mm/kfence/core.c kfence_alloc_pool_and_metadata() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 2097152
NOCHECK_CALL
LOCK2 irq

mm/kfence/core.c kfence_init_pool_early() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
DATA_SOURCE 0 ptr r kfence_init_pool
NOCHECK_CALL

mm/kfence/core.c kfence_init_pool_early() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 315392
NOCHECK_CALL

kernel/printk/printk.c setup_log_buf() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 24-103079215080
DATA_SOURCE 0 ptr r memblock_alloc
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 size
LOCK2 irq

kernel/printk/printk.c setup_log_buf() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 1-u64max
DATA_SOURCE 0 ptr r memblock_alloc
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 size
LOCK2 irq

mm/hugetlb.c hugetlb_free_cross_zone_pages() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
PARAM_VALUE 1 size 2097152,1073741824
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/xen/p2m.c free_p2m_page() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 4096
DATA_SOURCE 0 ptr $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 size unit_byte
HALF_LOCKED2 global &balloon_mutex
HALF_LOCKED2 global &list_lock

init/main.c print_unknown_bootoptions() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 4096-ptr_max
PARAM_VALUE 1 size 0-1010101
CAPPED_DATA 1 size 1
CAPPED_DATA 1 size 1
DATA_SOURCE 0 ptr r memblock_alloc
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 size
LOCK2 irq

init/main.c xbc_make_cmdline() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 0-s32max,18446744071562067968-u64max
CAPPED_DATA 1 size 1
DATA_SOURCE 0 ptr r memblock_alloc
NOCHECK_CALL
LOCK2 irq

arch/x86/mm/kasan_init_64.c kasan_populate_pmd() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 2097152
CAPPED_DATA 0 ptr 1
DATA_SOURCE 0 ptr r early_alloc
NOCHECK_CALL
LOCK2 irq

arch/x86/mm/kasan_init_64.c kasan_populate_pud() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 1073741824
CAPPED_DATA 0 ptr 1
DATA_SOURCE 0 ptr r early_alloc
NOCHECK_CALL
LOCK2 irq

mm/numa_memblks.c numa_reset_distance() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 0-4225
NOCHECK_CALL
LOCK2 irq

kernel/sched/build_utility.c housekeeping_init() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 0,8-1032
NOCHECK_CALL
LOCK2 irq

kernel/dma/swiotlb.c swiotlb_exit() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 0-377957121960
NOCHECK_CALL
UNITS 0 ptr unit_byte

kernel/dma/swiotlb.c swiotlb_exit() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 0,4096-u64max
BIT_INFO 1 size 0x0,0xfffffffffffff000
BIT_INFO 1 size 0x0,0xfffffffffffff000
NOCHECK_CALL

kernel/dma/swiotlb.c swiotlb_memblock_alloc() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 0
CAPPED_DATA 0 ptr 1
NOCHECK_CALL
LOCK2 irq

mm/memblock.c memblock_double_array() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 0-2355030289987461119,2355030289987461121-4386348585830506495,4386348585830506497-u64max
PARAM_VALUE 1 size 0,4096-u64max
CAPPED_DATA 1 size 1
CAPPED_DATA 1 size 1
BIT_INFO 1 size 0x0,0xfffffffffffff000
BIT_INFO 1 size 0x0,0xfffffffffffff000
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

lib/cpumask.c free_bootmem_cpumask_var() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 0,8-1032
DATA_SOURCE 0 ptr $0
NOCHECK_CALL
HALF_LOCKED2 irq

mm/numa_emulation.c numa_emulation() -> memblock_free()

Type Parameter Key Value
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 size
LOCK2 irq

arch/x86/kernel/acpi/madt_wakeup.c free_pgt_page() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 4096
DATA_SOURCE 0 ptr $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 size unit_byte

kernel/liveupdate/kexec_handover.c kho_radix_free_node() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 1 size 4096
DATA_SOURCE 0 ptr $0
RX_PATH
NOCHECK_CALL
UNITS 1 size unit_byte
HALF_LOCKED2 _T->lock

kernel/liveupdate/kexec_handover.c kho_reserve_scratch() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 0-68719476720
DATA_SOURCE 0 ptr r memblock_alloc
NOCHECK_CALL
LOCK2 irq

lib/bootconfig.c xbc_free_mem() -> memblock_free()

Type Parameter Key Value
DATA_SOURCE 0 ptr $0
DATA_SOURCE 1 size $1
NOCHECK_CALL
HALF_LOCKED2 irq

lib/bootconfig.c xbc_free_mem() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
DATA_SOURCE 0 ptr $0
DATA_SOURCE 1 size $1
NOCHECK_CALL
HALF_LOCKED2 irq

drivers/of/of_reserved_mem.c alloc_reserved_mem_array() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 40-85899345880
DATA_SOURCE 0 ptr r memblock_alloc
DATA_SOURCE 1 size r size_mul
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 size
LOCK2 irq

arch/x86/xen/mmu_pv.c xen_pagetable_p2m_free() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 18446744071562067968-u64max
PARAM_VALUE 1 size 0,4096-u64max
BIT_INFO 1 size 0x0,0xfffffffffffff000
BIT_INFO 1 size 0x0,0xfffffffffffff000
NOCHECK_CALL
LOCK2 irq

lib/stackdepot.c stack_depot_early_init() -> memblock_free()

Type Parameter Key Value
PARAM_VALUE 0 ptr 1-u64max
PARAM_VALUE 1 size 0-68719476720
CAPPED_DATA 1 size 1
DATA_SOURCE 0 ptr r alloc_large_system_hash
NOCHECK_CALL
LOCK2 irq