summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2015-02-04 13:05:50 +0100
committerSimon Glass <sjg@chromium.org>2015-02-12 10:35:29 -0700
commit2c8571703a3aacfb09defc35c42c6250a6746d58 (patch)
tree722128503083a94658d4e1cea23d06c4ffc93111 /common
parenta3e757a5d295329b504123f0995b35cf694c7613 (diff)
downloadblackbird-obmc-uboot-2c8571703a3aacfb09defc35c42c6250a6746d58.tar.gz
blackbird-obmc-uboot-2c8571703a3aacfb09defc35c42c6250a6746d58.zip
malloc_simple: Return NULL on malloc failure rather then calling panic()
All callers of malloc should already do error checking, and may even be able to continue without the alloc succeeding. Moreover, common/malloc_simple.c is the only user of .rodata.str1.1 in common/built-in.o when building the SPL, triggering this gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54303 Causing .rodata to grow with e.g. 0xc21 bytes, nullifying all benefits of using malloc_simple in the first place. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common')
-rw-r--r--common/malloc_simple.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/common/malloc_simple.c b/common/malloc_simple.c
index afdacff80d..64ae0365af 100644
--- a/common/malloc_simple.c
+++ b/common/malloc_simple.c
@@ -19,7 +19,7 @@ void *malloc_simple(size_t bytes)
new_ptr = gd->malloc_ptr + bytes;
if (new_ptr > gd->malloc_limit)
- panic("Out of pre-reloc memory");
+ return NULL;
ptr = map_sysmem(gd->malloc_base + gd->malloc_ptr, bytes);
gd->malloc_ptr = ALIGN(new_ptr, sizeof(new_ptr));
return ptr;
OpenPOWER on IntegriCloud