]> www.infradead.org Git - users/willy/pagecache.git/commit
mm/memblock: add memblock_alloc_or_panic interface
authorGuo Weikang <guoweikang.kernel@gmail.com>
Thu, 2 Jan 2025 07:25:28 +0000 (15:25 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 26 Jan 2025 04:22:38 +0000 (20:22 -0800)
commitc6f239796b55dbc4225a6fca9f96232092b9df83
treed741398d6afb6bc2a736fae13ed589ceb5b679e7
parentf8d4a6cabb74f82c37ccb7c5e9dc3fdad50393d4
mm/memblock: add memblock_alloc_or_panic interface

Before SLUB initialization, various subsystems used memblock_alloc to
allocate memory.  In most cases, when memory allocation fails, an
immediate panic is required.  To simplify this behavior and reduce
repetitive checks, introduce `memblock_alloc_or_panic`.  This function
ensures that memory allocation failures result in a panic automatically,
improving code readability and consistency across subsystems that require
this behavior.

[guoweikang.kernel@gmail.com: arch/s390: save_area_alloc default failure behavior changed to panic]
Link: https://lkml.kernel.org/r/20250109033136.2845676-1-guoweikang.kernel@gmail.com
Link: https://lore.kernel.org/lkml/Z2fknmnNtiZbCc7x@kernel.org/
Link: https://lkml.kernel.org/r/20250102072528.650926-1-guoweikang.kernel@gmail.com
Signed-off-by: Guo Weikang <guoweikang.kernel@gmail.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> [m68k]
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com> [s390]
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
65 files changed:
arch/alpha/kernel/core_cia.c
arch/alpha/kernel/core_marvel.c
arch/alpha/kernel/pci.c
arch/alpha/kernel/pci_iommu.c
arch/arm/kernel/setup.c
arch/arm/mm/mmu.c
arch/arm/mm/nommu.c
arch/arm64/kernel/setup.c
arch/loongarch/kernel/setup.c
arch/loongarch/mm/init.c
arch/m68k/mm/init.c
arch/m68k/mm/mcfmmu.c
arch/m68k/mm/motorola.c
arch/m68k/mm/sun3mmu.c
arch/m68k/sun3/sun3dvma.c
arch/mips/kernel/setup.c
arch/openrisc/mm/ioremap.c
arch/parisc/mm/init.c
arch/powerpc/kernel/dt_cpu_ftrs.c
arch/powerpc/kernel/pci_32.c
arch/powerpc/kernel/setup-common.c
arch/powerpc/kernel/setup_32.c
arch/powerpc/mm/book3s32/mmu.c
arch/powerpc/mm/book3s64/pgtable.c
arch/powerpc/mm/kasan/init_book3e_64.c
arch/powerpc/mm/kasan/init_book3s_64.c
arch/powerpc/mm/nohash/mmu_context.c
arch/powerpc/mm/pgtable_32.c
arch/powerpc/platforms/powermac/nvram.c
arch/powerpc/platforms/powernv/opal.c
arch/powerpc/platforms/ps3/setup.c
arch/powerpc/sysdev/msi_bitmap.c
arch/riscv/kernel/setup.c
arch/riscv/mm/kasan_init.c
arch/s390/kernel/crash_dump.c
arch/s390/kernel/numa.c
arch/s390/kernel/setup.c
arch/s390/kernel/smp.c
arch/s390/kernel/topology.c
arch/sh/mm/init.c
arch/sparc/kernel/prom_32.c
arch/sparc/mm/srmmu.c
arch/um/drivers/net_kern.c
arch/um/drivers/vector_kern.c
arch/um/kernel/load_file.c
arch/x86/coco/sev/core.c
arch/x86/kernel/acpi/boot.c
arch/x86/kernel/apic/io_apic.c
arch/x86/kernel/e820.c
arch/x86/platform/olpc/olpc_dt.c
arch/x86/xen/p2m.c
arch/xtensa/mm/kasan_init.c
drivers/clk/ti/clk.c
drivers/macintosh/smu.c
drivers/of/fdt.c
drivers/of/unittest.c
include/linux/memblock.h
init/main.c
kernel/power/snapshot.c
lib/cpumask.c
mm/kmsan/shadow.c
mm/memblock.c
mm/numa.c
mm/percpu.c
mm/sparse.c