[U-Boot-Users] [PATCH: u-boot-fdt] Fix serious pointer bug with bootm and reserve map.
Jerry Van Baren
gvb.uboot at gmail.com
Fri Apr 20 05:42:23 CEST 2007
What was suppose to be a stack variable was declared as a pointer,
overwriting random memory.
Also moved the libfdt.a requirement into the main Makefile. That is
The U-Boot Way.
Signed-off-by: Gerald Van Baren <vanbaren at cideas.com>
---
Makefile | 1 +
board/mpc8360emds/config.mk | 5 -----
common/fdt_support.c | 4 ++--
3 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/Makefile b/Makefile
index 9a27bc2..94cda54 100644
--- a/Makefile
+++ b/Makefile
@@ -219,6 +219,7 @@ LIBS += $(shell if [ -d post/cpu/$(CPU) ]; then echo \
LIBS += $(shell if [ -d post/board/$(BOARDDIR) ]; then echo \
"post/board/$(BOARDDIR)/libpost$(BOARD).a"; fi)
LIBS += common/libcommon.a
+LIBS += libfdt/libfdt.a
LIBS += $(BOARDLIBS)
LIBS := $(addprefix $(obj),$(LIBS))
diff --git a/board/mpc8360emds/config.mk b/board/mpc8360emds/config.mk
index 5801a5f..9ace886 100644
--- a/board/mpc8360emds/config.mk
+++ b/board/mpc8360emds/config.mk
@@ -26,8 +26,3 @@
#
TEXT_BASE = 0xFE000000
-
-#
-# Additional board-specific libraries
-#
-BOARDLIBS = libfdt/libfdt.a
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 91b729f..69099c4 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -56,7 +56,7 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
}
if (initrd_start && initrd_end) {
- struct fdt_reserve_entry *re;
+ struct fdt_reserve_entry re;
int used;
int total;
int j;
@@ -77,7 +77,7 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
*/
for (j = 0; j < used; j++) {
err = fdt_get_reservemap(fdt, j, &re);
- if (re->address == initrd_start) {
+ if (re.address == initrd_start) {
break;
}
}
--
1.4.4.4
More information about the U-Boot
mailing list