Re: [PATCH v2 19/21] treewide: add checks for the return value of memblock_alloc*()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 21, 2019 at 10:04:06AM +0200, Mike Rapoport wrote:
Add check for the return value of memblock_alloc*() functions and call
panic() in case of error.
The panic message repeats the one used by panicing memblock allocators with
adjustment of parameters to include only relevant ones.

The replacement was mostly automated with semantic patches like the one
below with manual massaging of format strings.

@@
expression ptr, size, align;
@@
ptr = memblock_alloc(size, align);
+ if (!ptr)
+ 	panic("%s: Failed to allocate %lu bytes align=0x%lx\n", __func__,
size, align);

Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxx>
Reviewed-by: Guo Ren <ren_guo@xxxxxxxxx>             # c-sky
Acked-by: Paul Burton <paul.burton@xxxxxxxx>	     # MIPS
Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> # s390
Reviewed-by: Juergen Gross <jgross@xxxxxxxx>         # Xen
---
 arch/alpha/kernel/core_cia.c              |  3 +++
 arch/alpha/kernel/core_marvel.c           |  6 ++++++
 arch/alpha/kernel/pci-noop.c              | 13 +++++++++++--
 arch/alpha/kernel/pci.c                   | 11 ++++++++++-
 arch/alpha/kernel/pci_iommu.c             | 12 ++++++++++++
 arch/arc/mm/highmem.c                     |  4 ++++
 arch/arm/kernel/setup.c                   |  6 ++++++
 arch/arm/mm/mmu.c                         | 14 +++++++++++++-
 arch/arm64/kernel/setup.c                 |  8 +++++---
 arch/arm64/mm/kasan_init.c                | 10 ++++++++++
 arch/c6x/mm/dma-coherent.c                |  4 ++++
 arch/c6x/mm/init.c                        |  3 +++
 arch/csky/mm/highmem.c                    |  5 +++++
 arch/h8300/mm/init.c                      |  3 +++
 arch/m68k/atari/stram.c                   |  4 ++++
 arch/m68k/mm/init.c                       |  3 +++
 arch/m68k/mm/mcfmmu.c                     |  6 ++++++
 arch/m68k/mm/motorola.c                   |  9 +++++++++
 arch/m68k/mm/sun3mmu.c                    |  6 ++++++
 arch/m68k/sun3/sun3dvma.c                 |  3 +++
 arch/microblaze/mm/init.c                 |  8 ++++++--
 arch/mips/cavium-octeon/dma-octeon.c      |  3 +++
 arch/mips/kernel/setup.c                  |  3 +++
 arch/mips/kernel/traps.c                  |  3 +++
 arch/mips/mm/init.c                       |  5 +++++
 arch/nds32/mm/init.c                      | 12 ++++++++++++
 arch/openrisc/mm/ioremap.c                |  8 ++++++--
 arch/powerpc/kernel/dt_cpu_ftrs.c         |  5 +++++
 arch/powerpc/kernel/pci_32.c              |  3 +++
 arch/powerpc/kernel/setup-common.c        |  3 +++
 arch/powerpc/kernel/setup_64.c            |  4 ++++
 arch/powerpc/lib/alloc.c                  |  3 +++
 arch/powerpc/mm/hash_utils_64.c           |  3 +++
 arch/powerpc/mm/mmu_context_nohash.c      |  9 +++++++++
 arch/powerpc/mm/pgtable-book3e.c          | 12 ++++++++++--
 arch/powerpc/mm/pgtable-book3s64.c        |  3 +++
 arch/powerpc/mm/pgtable-radix.c           |  9 ++++++++-
 arch/powerpc/mm/ppc_mmu_32.c              |  3 +++
 arch/powerpc/platforms/pasemi/iommu.c     |  3 +++
 arch/powerpc/platforms/powermac/nvram.c   |  3 +++
 arch/powerpc/platforms/powernv/opal.c     |  3 +++
 arch/powerpc/platforms/powernv/pci-ioda.c |  8 ++++++++
 arch/powerpc/platforms/ps3/setup.c        |  3 +++
 arch/powerpc/sysdev/msi_bitmap.c          |  3 +++
 arch/s390/kernel/setup.c                  | 13 +++++++++++++
 arch/s390/kernel/smp.c                    |  5 ++++-
 arch/s390/kernel/topology.c               |  6 ++++++
 arch/s390/numa/mode_emu.c                 |  3 +++
 arch/s390/numa/numa.c                     |  6 +++++-
 arch/sh/mm/init.c                         |  6 ++++++
 arch/sh/mm/numa.c                         |  4 ++++
 arch/um/drivers/net_kern.c                |  3 +++
 arch/um/drivers/vector_kern.c             |  3 +++
 arch/um/kernel/initrd.c                   |  2 ++
 arch/um/kernel/mem.c                      | 16 ++++++++++++++++
 arch/unicore32/kernel/setup.c             |  4 ++++
 arch/unicore32/mm/mmu.c                   | 15 +++++++++++++--
 arch/x86/kernel/acpi/boot.c               |  3 +++
 arch/x86/kernel/apic/io_apic.c            |  5 +++++
 arch/x86/kernel/e820.c                    |  3 +++
 arch/x86/platform/olpc/olpc_dt.c          |  3 +++
 arch/x86/xen/p2m.c                        | 11 +++++++++--
 arch/xtensa/mm/kasan_init.c               |  4 ++++
 arch/xtensa/mm/mmu.c                      |  3 +++
 drivers/clk/ti/clk.c                      |  3 +++
 drivers/macintosh/smu.c                   |  3 +++
 drivers/of/fdt.c                          |  8 +++++++-
 drivers/of/unittest.c                     |  8 +++++++-

Acked-by: Rob Herring <robh@xxxxxxxxxx>

 drivers/xen/swiotlb-xen.c                 |  7 +++++--
 kernel/power/snapshot.c                   |  3 +++
 lib/cpumask.c                             |  3 +++
 mm/kasan/init.c                           | 10 ++++++++--
 mm/sparse.c                               | 19 +++++++++++++++++--
 73 files changed, 409 insertions(+), 28 deletions(-)



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux