diff options
author | Jiri Bohac <jbohac@suse.cz> | 2024-01-16 18:14:31 +0100 |
---|---|---|
committer | Simon Horman <horms@kernel.org> | 2024-01-25 16:54:50 +0000 |
commit | 94fbe64fb22d61726ca0c0996987574b6c783c19 (patch) | |
tree | 98e8b3ccac73caa72a4735292bb31a7ca09d38c8 /kexec/kexec.8 | |
parent | 21ea4569856aecf7467b6a2035a10ca89e8f7789 (diff) | |
download | kexec-tools-94fbe64fb22d61726ca0c0996987574b6c783c19.tar.gz |
kexec: don't use kexec_file_load on XEN
Since commit 29fe5067ed07 ("kexec: make -a the default")
kexec tries the kexec_file_load syscall first and only falls back to kexec_load on
selected error codes.
This effectively breaks kexec on XEN, unless -c is pecified to force the kexec_load
syscall.
The XEN-specific functions (xen_kexec_load / xen_kexec_unload) are only called
from my_load / k_unload, i.e. the kexec_load code path.
With -p (panic kernel) kexec_file_load on XEN fails with -EADDRNOTAVAIL (crash
kernel reservation is ignored by the kernel on XEN), which is not in the list
of return codes that cause the fallback to kexec_file.
Without -p kexec_file_load actualy leads to a kernel oops on v6.4.0
(needs to be dubugged separately).
Signed-off-by: Jiri Bohac <jbohac@suse.cz>
Fixes: 29fe5067ed07 ("kexec: make -a the default")
Signed-off-by: Simon Horman <horms@kernel.org>
Diffstat (limited to 'kexec/kexec.8')
-rw-r--r-- | kexec/kexec.8 | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kexec/kexec.8 b/kexec/kexec.8 index b969cea6..9e995fea 100644 --- a/kexec/kexec.8 +++ b/kexec/kexec.8 @@ -162,6 +162,7 @@ Specify that the new kernel is of this .TP .BI \-s\ (\-\-kexec-file-syscall) Specify that the new KEXEC_FILE_LOAD syscall should be used exclusively. +Ignored on XEN. .TP .BI \-c\ (\-\-kexec-syscall) Specify that the old KEXEC_LOAD syscall should be used exclusively. |