Can't use kexec-tools for preserve-context kexec 'call'?
Baoquan He
bhe at redhat.com
Wed Dec 11 19:02:06 PST 2024
Hi David,
On 12/09/24 at 02:07pm, David Woodhouse wrote:
> In https://git.kernel.org/torvalds/c/07fa619f2a40c there is a test
> program which uses kexec to invoke a 4-instruction 'executable' which
> merely writes a byte to a serial port and returns.
>
> It just loads a single kexec segment containing those four
> instructions.
>
> Should I have been able to do that using kexec-tools? I couldn't work
> out how.
>
> And even once it's loaded, 'kexec -f -e' does manage to invoke it, but
> then reports 'No such file or directory' after the reboot() system call
> returns success. Strace shows:
May I know why you are testing preserve-context feature recently? I
noticed you have raised an issue inside kernel and worked out a draft
patch, while you did't tell what use case or scenario preserve-context
is used in. Asking this because you could be the 1st one to test it and
report issues on preserve-context as far as I know these years.
If there's newly found scenario preserve-context is needed, that's a
good thing. Otherwise we may consider to put it in DEPRECATED list in
kernel config so that we can finally take it off from kernel in several
years, like this people won't meet it and need take time to study what
it is and why it doesn't work as it was declared. What do you think?
Thanks
Baoquan
>
> reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC[ 143.979879] Freezing user space processes
> [ 143.981493] Freezing user space processes completed (elapsed 0.000 seconds)
> [ 143.982148] OOM killer disabled.
> [ 143.999573] Disabling non-boot CPUs ...
> [ 144.017504] smpboot: CPU 1 is now offline
> [ 144.018298] crash hp: kexec_trylock() failed, kdump image may be inaccurate
> B[ 144.034246] Enabling non-boot CPUs ...
> [ 144.034666] crash hp: kexec_trylock() failed, kdump image may be inaccurate
> [ 144.035396] smpboot: Booting Node 0 Processor 1 APIC 0x1
> [ 144.037406] CPU1 is up
> [ 144.042020] virtio_blk virtio1: 2/0/0 default/read/poll queues
> [ 144.046702] OOM killer enabled.
> [ 144.047368] Restarting tasks ... done.
> ) = 0
> write(2, "kexec failed: No such file or di"..., 40kexec failed: No such file or directory
> ) = 40
> exit_group(-1) = ?
> +++ exited with 255 +++
>
>
>
>
>
More information about the kexec
mailing list