From: Uros Bizjak <ubizjak@gmail.com>
To: "David Woodhouse" <dwmw2@infradead.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Ingo Molnar" <mingo@redhat.com>,
"Borislav Petkov" <bp@alien8.de>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
"Eric Biederman" <ebiederm@xmission.com>,
"David Woodhouse" <dwmw@amazon.co.uk>,
"Sourabh Jain" <sourabhjain@linux.ibm.com>,
"Hari Bathini" <hbathini@linux.ibm.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Baoquan He" <bhe@redhat.com>, "Yuntao Wang" <ytcoode@gmail.com>,
"David Kaplan" <david.kaplan@amd.com>,
"Tao Liu" <ltao@redhat.com>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
"Kai Huang" <kai.huang@intel.com>,
"Ard Biesheuvel" <ardb@kernel.org>,
"Josh Poimboeuf" <jpoimboe@kernel.org>,
"Breno Leitao" <leitao@debian.org>,
"Wei Yang" <richard.weiyang@gmail.com>,
"Rong Xu" <xur@google.com>,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
linux-kernel@vger.kernel.org, kexec@lists.infradead.org,
"Simon Horman" <horms@kernel.org>,
"Dave Young" <dyoung@redhat.com>,
"Peter Zijlstra" <peterz@infradead.org>,
bsz@amazon.de, nathan@kernel.org
Subject: Re: [PATCH 2/9] x86/kexec: Ensure preserve_context flag is set on return to kernel
Date: Tue, 17 Dec 2024 17:38:04 +0100 [thread overview]
Message-ID: <05bde41f-9f2a-18e9-05ef-c5b29a66caf8@gmail.com> (raw)
In-Reply-To: <20241216233704.3208607-3-dwmw2@infradead.org>
On 17. 12. 24 00:24, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
>
> The swap_pages function will only actually *swap*, as its name implies,
> if the preserve_context flag in the %r11 register is non-zero. On the
> way back from a ::preserve_context kexec, ensure that the %r11 register
> is non-zero so that the pages get swapped back.
>
> Fixes: 9e5683e2d0b5 ("x86/kexec: Only swap pages for ::preserve_context mode")
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
> arch/x86/kernel/relocate_kernel_64.S | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/x86/kernel/relocate_kernel_64.S b/arch/x86/kernel/relocate_kernel_64.S
> index 9bd601dd8659..1a52e4339c1d 100644
> --- a/arch/x86/kernel/relocate_kernel_64.S
> +++ b/arch/x86/kernel/relocate_kernel_64.S
> @@ -220,6 +220,7 @@ SYM_CODE_START_LOCAL_NOALIGN(identity_mapped)
> movq kexec_pa_table_page(%rip), %rax
> movq %rax, %cr3
> lea PAGE_SIZE(%r8), %rsp
> + movq $1, %r11 /* Ensure preserve_context flag is set */
You can save a byte here by using "movl $1, %r11d".
> call swap_pages
> movq kexec_va_control_page(%rip), %rax
> addq $(virtual_mapped - relocate_kernel), %rax
Uros.
next prev parent reply other threads:[~2024-12-17 16:43 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-16 23:24 [PATCH 0/9] x86/kexec: Fixes for tip/x86/boot David Woodhouse
2024-12-16 23:24 ` [PATCH 1/9] x86/kexec: Disable global pages before writing to control page David Woodhouse
2024-12-17 12:25 ` Kirill A. Shutemov
2024-12-17 12:39 ` David Woodhouse
2024-12-17 14:51 ` Dave Hansen
2024-12-17 14:56 ` [EXTERNAL] " David Woodhouse
2024-12-17 15:06 ` Dave Hansen
2024-12-16 23:24 ` [PATCH 2/9] x86/kexec: Ensure preserve_context flag is set on return to kernel David Woodhouse
2024-12-17 16:38 ` Uros Bizjak [this message]
2025-01-03 10:14 ` David Woodhouse
2024-12-16 23:24 ` [PATCH 3/9] x86/kexec: Use correct swap page in swap_pages function David Woodhouse
2024-12-16 23:24 ` [PATCH 4/9] x86/kexec: Fix stack and handling of re-entry point for ::preserve_context David Woodhouse
2024-12-16 23:24 ` [PATCH 5/9] x86/kexec: Fix location of relocate_kernel with -ffunction-sections David Woodhouse
2024-12-16 23:24 ` [PATCH 6/9] x86/kexec: Mark machine_kexec() with __nocfi David Woodhouse
2024-12-16 23:24 ` [PATCH 7/9] kexec_core: Add and update comments regarding the KEXEC_JUMP flow David Woodhouse
2025-01-03 9:24 ` Dave Young
2025-01-03 10:14 ` David Woodhouse
2024-12-16 23:24 ` [PATCH 8/9] x86/kexec: Cope with relocate_kernel() not being at the start of the page David Woodhouse
2024-12-17 8:47 ` Ard Biesheuvel
2024-12-17 9:17 ` David Woodhouse
2024-12-17 9:25 ` Ard Biesheuvel
2024-12-17 9:36 ` David Woodhouse
2025-01-03 10:10 ` David Woodhouse
2025-01-06 16:09 ` Ard Biesheuvel
2025-01-06 16:13 ` David Woodhouse
2025-01-06 16:27 ` Ard Biesheuvel
2024-12-16 23:24 ` [PATCH 9/9] x86/kexec: Use typedef for relocate_kernel_fn function prototype David Woodhouse
2024-12-17 8:49 ` Ard Biesheuvel
2024-12-17 9:21 ` David Woodhouse
2024-12-17 9:29 ` Ard Biesheuvel
2024-12-17 9:42 ` David Woodhouse
2024-12-17 9:54 ` Ard Biesheuvel
2024-12-17 10:06 ` David Woodhouse
2024-12-17 10:14 ` Ard Biesheuvel
2024-12-17 10:47 ` David Woodhouse
2024-12-17 10:29 ` David Woodhouse
2024-12-26 8:38 ` [PATCH 0/9] x86/kexec: Fixes for tip/x86/boot David Woodhouse
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=05bde41f-9f2a-18e9-05ef-c5b29a66caf8@gmail.com \
--to=ubizjak@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=ardb@kernel.org \
--cc=bhe@redhat.com \
--cc=bp@alien8.de \
--cc=bsz@amazon.de \
--cc=dave.hansen@linux.intel.com \
--cc=david.kaplan@amd.com \
--cc=dwmw2@infradead.org \
--cc=dwmw@amazon.co.uk \
--cc=dyoung@redhat.com \
--cc=ebiederm@xmission.com \
--cc=hbathini@linux.ibm.com \
--cc=horms@kernel.org \
--cc=hpa@zytor.com \
--cc=jpoimboe@kernel.org \
--cc=kai.huang@intel.com \
--cc=kexec@lists.infradead.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=leitao@debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ltao@redhat.com \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=nathan@kernel.org \
--cc=peterz@infradead.org \
--cc=richard.weiyang@gmail.com \
--cc=sourabhjain@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=thomas.weissschuh@linutronix.de \
--cc=tzimmermann@suse.de \
--cc=x86@kernel.org \
--cc=xur@google.com \
--cc=ytcoode@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.