[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMj1kXGSjGr_yBC_9DiFu4k3JpDRPB+BPuKdNu2XeSWT2BSZvQ@mail.gmail.com>
Date: Thu, 22 Sep 2022 15:13:59 +0200
From: Ard Biesheuvel <ardb@...nel.org>
To: Chen Zhongjin <chenzhongjin@...wei.com>
Cc: linux-kernel@...r.kernel.org, linux-crypto@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, herbert@...dor.apana.org.au,
davem@...emloft.net, catalin.marinas@....com, will@...nel.org,
broonie@...nel.org, maz@...nel.org, mark.rutland@....com,
anshuman.khandual@....com
Subject: Re: [PATCH -next 1/3] arm64: efi-header: Mark efi header as data
On Thu, 22 Sept 2022 at 15:08, Chen Zhongjin <chenzhongjin@...wei.com> wrote:
>
> This file only contains a set of constants forming the efi header.
>
> Make the constants part of data symbols by wrapping them with
> SYM_DATA.
>
> Signed-off-by: Julien Thierry <jthierry@...hat.com>
> Signed-off-by: Chen Zhongjin <chenzhongjin@...wei.com>
> Reviewed-by: Mark Brown <broonie@...nel.org>
Why is this necessary? These are not emitted into a .text section, and
are not even covered by the kernel's mapping of memory. So the .L
prefixed labels are deliberate: it prevents the symbols from polluting
the symbol namespace with symbols pointing nowhere.
> ---
> arch/arm64/kernel/efi-header.S | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/kernel/efi-header.S b/arch/arm64/kernel/efi-header.S
> index 28d8a5dca5f1..3eacd27ab761 100644
> --- a/arch/arm64/kernel/efi-header.S
> +++ b/arch/arm64/kernel/efi-header.S
> @@ -28,6 +28,7 @@
> .macro __EFI_PE_HEADER
> #ifdef CONFIG_EFI
> .set .Lpe_header_offset, . - .L_head
> +SYM_DATA_START_LOCAL(arm64_efi_header)
> .long PE_MAGIC
> .short IMAGE_FILE_MACHINE_ARM64 // Machine
> .short .Lsection_count // NumberOfSections
> @@ -160,6 +161,7 @@
>
> .balign SEGMENT_ALIGN
> .Lefi_header_end:
> +SYM_DATA_END_LABEL(arm64_efi_header, SYM_L_LOCAL, efi_header_end)
> #else
> .set .Lpe_header_offset, 0x0
> #endif
> --
> 2.17.1
>
Powered by blists - more mailing lists