public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH 1/1] sandbox: fix sandbox_reset()
@ 2021-05-12 16:38 Heinrich Schuchardt
  2021-05-12 17:53 ` Vincent Stehlé
  2021-05-15 15:20 ` Simon Glass
  0 siblings, 2 replies; 4+ messages in thread
From: Heinrich Schuchardt @ 2021-05-12 16:38 UTC (permalink / raw)
  To: u-boot

state_uninit() and dm_uninit() are mutually exclusive:

state_uninit() prints via drivers. So it cannot be executed after
dm_uninit().

dm_uninit() requires memory. So it cannot be executed after state_uninit()
which releases all memory.

Just skip dm_uninit() when resetting the sandbox. We will wake up in a new
process and allocate new memory. So this cleanup is not required. We don't
do it in sandbox_exit() either.

This avoids a segmentation error when efi_reset_system_boottime() is
invoked by a UEFI application.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 arch/sandbox/cpu/start.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c
index e87365e800..4ffd97ccbc 100644
--- a/arch/sandbox/cpu/start.c
+++ b/arch/sandbox/cpu/start.c
@@ -425,9 +425,6 @@ void sandbox_reset(void)
 	if (state_uninit())
 		os_exit(2);

-	if (dm_uninit())
-		os_exit(2);
-
 	/* Restart U-Boot */
 	os_relaunch(os_argv);
 }
--
2.30.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-07-04 20:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-12 16:38 [PATCH 1/1] sandbox: fix sandbox_reset() Heinrich Schuchardt
2021-05-12 17:53 ` Vincent Stehlé
2021-05-15 15:20 ` Simon Glass
2021-07-04 20:15   ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox