Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 37 files:
- arch/alpha/kernel/core_irongate.c, line 235
- arch/mips/mm/tlb-r4k.c, line 775
- arch/powerpc/kernel/dt_cpu_ftrs.c, line 1161
- arch/powerpc/kernel/setup-common.c, line 908
- arch/powerpc/mm/book3s64/hash_utils.c, line 436
- arch/powerpc/platforms/powernv/pci-ioda.c, line 2524
- arch/riscv/kernel/setup.c
- arch/s390/kernel/setup.c, line 819
- arch/s390/kernel/smp.c
- arch/s390/kernel/uv.c, line 76
- arch/sparc/kernel/mdesc.c, line 191
- arch/um/kernel/dtb.c, line 22
- arch/um/kernel/load_file.c, line 54
- arch/um/kernel/mem.c, line 69
- arch/x86/kernel/acpi/madt_wakeup.c, line 70
- arch/x86/mm/kasan_init_64.c
- arch/x86/xen/mmu_pv.c, line 1233
- arch/x86/xen/p2m.c, line 190
- drivers/firmware/smccc/kvm_guest.c, line 111
- drivers/macintosh/smu.c, line 568
- drivers/of/of_reserved_mem.c, line 95
- drivers/s390/char/sclp_early.c, line 154
- init/main.c
- kernel/dma/swiotlb.c
- kernel/liveupdate/kexec_handover.c
- kernel/printk/printk.c
- kernel/sched/isolation.c, line 192
- lib/bootconfig.c
- lib/cpumask.c, line 75
- lib/stackdepot.c, line 219
- mm/hugetlb.c, line 3385
- mm/kfence/core.c
- mm/memblock.c
- mm/numa_emulation.c, line 545
- mm/numa_memblks.c, line 32
- mm/percpu.c
- tools/testing/memblock/tests/basic_api.c
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 |