[PATCH] x86: move .altinstr_replacement past _einittext

Jan Beulich posted 1 patch 2 years, 10 months ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/759595e2-808a-46c0-7a93-fadecfeb991b@suse.com
[PATCH] x86: move .altinstr_replacement past _einittext
Posted by Jan Beulich 2 years, 10 months ago
This section's contents do not represent part of actual hypervisor text,
so shouldn't be included in what is_kernel_inittext() or (while still
booting) is_active_kernel_text() report "true" for. Keep them in
.init.text though, as there's no real reason to have a separate section
for this in the final binary.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -185,13 +185,13 @@ SECTIONS
 #endif
        _sinittext = .;
        *(.init.text)
+       _einittext = .;
        /*
         * Here are the replacement instructions. The linker sticks them
         * as binary blobs. The .altinstructions has enough data to get
         * the address and the length of them to patch the kernel safely.
         */
        *(.altinstr_replacement)
-       _einittext = .;
 
 #ifdef EFI /* EFI wants to merge all of .init.*  ELF doesn't. */
        . = ALIGN(SMP_CACHE_BYTES);


Re: [PATCH] x86: move .altinstr_replacement past _einittext
Posted by Andrew Cooper 2 years, 10 months ago
On 14/06/2021 14:53, Jan Beulich wrote:
> This section's contents do not represent part of actual hypervisor text,
> so shouldn't be included in what is_kernel_inittext() or (while still
> booting) is_active_kernel_text() report "true" for. Keep them in
> .init.text though, as there's no real reason to have a separate section
> for this in the final binary.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>