[PATCH v2 6/7] kexec, kstate: save kstate data before kexec'ing

Andrey Ryabinin arbn at yandex-team.com
Mon Mar 10 05:03:17 PDT 2025


Call kstate_save_state() to serialize all the required data
into the kstate data stream.

Signed-off-by: Andrey Ryabinin <arbn at yandex-team.com>
---
 kernel/kexec_core.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index 5d001b7a9e44..7dcdaee14bfa 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -1017,11 +1017,14 @@ int kernel_kexec(void)
 		error = -EINVAL;
 		goto Unlock;
 	}
+	error = kstate_save_state();
+	if (error)
+		goto Unlock;
 
 	if (kexec_late_load(kexec_image)) {
 		error = kexec_file_load_segments(kexec_image);
 		if (error)
-			goto Unlock;
+			goto Free_kstate;
 	}
 
 #ifdef CONFIG_KEXEC_JUMP
@@ -1104,6 +1107,8 @@ int kernel_kexec(void)
 	}
 #endif
 
+ Free_kstate:
+	free_kstate_stream();
  Unlock:
 	kexec_unlock();
 	return error;
-- 
2.45.3




More information about the kexec mailing list