[Skiboot] [PATCH 1/2] fast-reboot: don't back up old vectors upon fast reboot

Nicholas Piggin npiggin at gmail.com
Mon Dec 9 21:49:08 AEDT 2019


Initial boot already saved original exception vectors to old_vectors,
copying again upon fast reboot will overwrite old_vectors with some
arbitrary vectors set up by the current OS.

Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
---
 core/init.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/core/init.c b/core/init.c
index 339462e5d..1725639f8 100644
--- a/core/init.c
+++ b/core/init.c
@@ -858,11 +858,6 @@ void copy_sreset_vector_fast_reboot(void)
 
 void copy_exception_vectors(void)
 {
-	/* Backup previous vectors as this could contain a kernel
-	 * image.
-	 */
-	memcpy_null(old_vectors, NULL, EXCEPTION_VECTORS_END);
-
 	/* Copy from 0x100 to EXCEPTION_VECTORS_END, avoid below 0x100 as
 	 * this is the boot flag used by CPUs still potentially entering
 	 * skiboot.
@@ -1020,6 +1015,11 @@ void __noreturn __nomcount main_cpu_entry(const void *fdt)
 	 */
 	clear_console();
 
+	/* Backup previous vectors as this could contain a kernel
+	 * image.
+	 */
+	memcpy_null(old_vectors, NULL, EXCEPTION_VECTORS_END);
+
 	/*
 	 * Some boot firmwares enter OPAL with MSR[ME]=1, as they presumably
 	 * handle machine checks until we take over. As we overwrite the
-- 
2.23.0



More information about the Skiboot mailing list