On Thu, 28 Jan, at 12:07:33PM, Ard Biesheuvel wrote: > The EFI stub is typically built into the decompressor (x86, ARM) so none > of its symbols are annotated as __init. However, on arm64, the stub is > linked into the kernel proper, and the code is __init annotated at the > section level by prepending all names of SHF_ALLOC sections with '.init'. > > This results in section names like .init.rodata.str1.8 (for string literals) > and .init.bss (which is tiny), both of which can be moved into the .init.data > output section. > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > --- > arch/arm64/kernel/vmlinux.lds.S | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S > index e3928f578891..cbf4db440e9c 100644 > --- a/arch/arm64/kernel/vmlinux.lds.S > +++ b/arch/arm64/kernel/vmlinux.lds.S > @@ -134,6 +134,7 @@ SECTIONS > CON_INITCALL > SECURITY_INITCALL > INIT_RAM_FS > + *(.init.rodata.* .init.bss) /* from the EFI stub */ > } > .exit.data : { > ARM_EXIT_KEEP(EXIT_DATA) FWIW, Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html