bootstage: Avoid conflicts between stash/unstash
authorSimon Glass <sjg@chromium.org>
Mon, 21 Oct 2019 23:26:49 +0000 (17:26 -0600)
committerSimon Glass <sjg@chromium.org>
Sun, 27 Oct 2019 16:56:51 +0000 (10:56 -0600)
commit65b2d96f4c5e3f9084bc04cf5a5d7fc7a2285a72
tree4be404e23883cac805c67e93a176a7ef512facdd
parented54bdaf88758854905b5d8ca5036a078b9ef168
bootstage: Avoid conflicts between stash/unstash

At present there is a single shared address for bootstage data in both
TPL and SPL. If SPL unstashs TPL bootstage info and then stashes it again
to pass it to U-Boot, the new stash overwrites the strings of the old
stash.

Fix this by duplicating the strings into the malloc() region. This should
be a small code. Fix the header-file order at the same time.

This problem doesn't happen at the next stage (SPL->U-Boot) since U-Boot
relocates the boostage data.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/bootstage.c