Commit c0dbe825 authored by Mike Rapoport's avatar Mike Rapoport Committed by Linus Torvalds

memblock: memblock_alloc_try_nid: don't panic

As all the memblock_alloc*() users are now checking the return value and
panic() in case of error, the panic() call can be removed from the core
memblock allocator, namely memblock_alloc_try_nid().

Link: http://lkml.kernel.org/r/1548057848-15136-21-git-send-email-rppt@linux.ibm.comSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Christophe Leroy <christophe.leroy@c-s.fr>
Cc: Christoph Hellwig <hch@lst.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Guan Xuetao <gxt@pku.edu.cn>
Cc: Guo Ren <guoren@kernel.org>
Cc: Guo Ren <ren_guo@c-sky.com>				[c-sky]
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Juergen Gross <jgross@suse.com>			[Xen]
Cc: Mark Salter <msalter@redhat.com>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Paul Burton <paul.burton@mips.com>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Rich Felker <dalias@libc.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Stafford Horne <shorne@gmail.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8a7f97b9
...@@ -1469,7 +1469,7 @@ void * __init memblock_alloc_try_nid_nopanic( ...@@ -1469,7 +1469,7 @@ void * __init memblock_alloc_try_nid_nopanic(
} }
/** /**
* memblock_alloc_try_nid - allocate boot memory block with panicking * memblock_alloc_try_nid - allocate boot memory block
* @size: size of memory block to be allocated in bytes * @size: size of memory block to be allocated in bytes
* @align: alignment of the region and block's size * @align: alignment of the region and block's size
* @min_addr: the lower bound of the memory region from where the allocation * @min_addr: the lower bound of the memory region from where the allocation
...@@ -1479,9 +1479,8 @@ void * __init memblock_alloc_try_nid_nopanic( ...@@ -1479,9 +1479,8 @@ void * __init memblock_alloc_try_nid_nopanic(
* allocate only from memory limited by memblock.current_limit value * allocate only from memory limited by memblock.current_limit value
* @nid: nid of the free area to find, %NUMA_NO_NODE for any node * @nid: nid of the free area to find, %NUMA_NO_NODE for any node
* *
* Public panicking version of memblock_alloc_try_nid_nopanic() * Public function, provides additional debug information (including caller
* which provides debug information (including caller info), if enabled, * info), if enabled. This function zeroes the allocated memory.
* and panics if the request can not be satisfied.
* *
* Return: * Return:
* Virtual address of allocated memory block on success, NULL on failure. * Virtual address of allocated memory block on success, NULL on failure.
...@@ -1498,14 +1497,10 @@ void * __init memblock_alloc_try_nid( ...@@ -1498,14 +1497,10 @@ void * __init memblock_alloc_try_nid(
&max_addr, (void *)_RET_IP_); &max_addr, (void *)_RET_IP_);
ptr = memblock_alloc_internal(size, align, ptr = memblock_alloc_internal(size, align,
min_addr, max_addr, nid); min_addr, max_addr, nid);
if (ptr) { if (ptr)
memset(ptr, 0, size); memset(ptr, 0, size);
return ptr;
}
panic("%s: Failed to allocate %llu bytes align=0x%llx nid=%d from=%pa max_addr=%pa\n", return ptr;
__func__, (u64)size, (u64)align, nid, &min_addr, &max_addr);
return NULL;
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment