Re: [PATCH v6 18/20] selftests/liveupdate: Add kexec-based selftest for session lifecycle
From: Pasha Tatashin
Date: Mon Nov 17 2025 - 20:11:36 EST
On Mon, Nov 17, 2025 at 7:06 PM David Matlack <dmatlack@xxxxxxxxxx> wrote:
>
> On 2025-11-15 06:34 PM, Pasha Tatashin wrote:
>
> > +/* Stage 1: Executed before the kexec reboot. */
> > +static void run_stage_1(int luo_fd)
> > +{
> > + int session_fd;
> > +
> > + ksft_print_msg("[STAGE 1] Starting pre-kexec setup...\n");
> > +
> > + ksft_print_msg("[STAGE 1] Creating state file for next stage (2)...\n");
> > + create_state_file(luo_fd, STATE_SESSION_NAME, STATE_MEMFD_TOKEN, 2);
> > +
> > + ksft_print_msg("[STAGE 1] Creating session '%s' and preserving memfd...\n",
> > + TEST_SESSION_NAME);
> > + session_fd = luo_create_session(luo_fd, TEST_SESSION_NAME);
> > + if (session_fd < 0)
> > + fail_exit("luo_create_session for '%s'", TEST_SESSION_NAME);
> > +
> > + if (create_and_preserve_memfd(session_fd, TEST_MEMFD_TOKEN,
> > + TEST_MEMFD_DATA) < 0) {
> > + fail_exit("create_and_preserve_memfd for token %#x",
> > + TEST_MEMFD_TOKEN);
> > + }
> > +
> > + ksft_print_msg("[STAGE 1] Executing kexec...\n");
> > + if (system(KEXEC_SCRIPT) != 0)
> > + fail_exit("kexec script failed");
> > + exit(EXIT_FAILURE);
>
> Can we separate the kexec from the test and allow the user/automation to
> trigger it however is appropriate for their system? The current
> do_kexec.sh script does not do any sort of graceful shutdown, and I bet
> everyone will have different ways of initiating kexec on their systems.
Yes, this is a good idea, I am going to do what you suggested:
1. provide stage as argument.
2. allow user to do kexec command
Thank you,
Pasha