[PATCH v5 1/4] arm64: vdso: put ELF related sections in the linker script

Vincenzo Frascino vincenzo.frascino at arm.com
Tue May 10 03:39:19 PDT 2022


Hi Joey,

On 5/10/22 10:58, Joey Gouly wrote:
> Use macros from vmlinux.lds.h to explicitly name sections that are included
> in the VDSO output.
> 
> Signed-off-by: Joey Gouly <joey.gouly at arm.com>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will at kernel.org>
> Cc: Masahiro Yamada <masahiroy at kernel.org>
> Cc: Vincenzo Frascino <vincenzo.frascino at arm.com>
> Cc: Kees Cook <keescook at chromium.org>
> Reviewed-by: Kees Cook <keescook at chromium.org>
> Reviewed-by: Vincenzo Frascino <vincenzo.frascino at arm.com>

As a general rule, when you make a consistent change to a patch that was
previously reviewed you should drop the "Reviewed-by:" tag as an indication that
the patch needs to be reviewed again.

> ---
>  arch/arm64/kernel/vdso/vdso.lds.S | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/arch/arm64/kernel/vdso/vdso.lds.S b/arch/arm64/kernel/vdso/vdso.lds.S
> index a5e61e09ea92..1cd85258c079 100644
> --- a/arch/arm64/kernel/vdso/vdso.lds.S
> +++ b/arch/arm64/kernel/vdso/vdso.lds.S
> @@ -11,6 +11,7 @@
>  #include <linux/const.h>
>  #include <asm/page.h>
>  #include <asm/vdso.h>
> +#include <asm-generic/vmlinux.lds.h>
>  
>  OUTPUT_FORMAT("elf64-littleaarch64", "elf64-bigaarch64", "elf64-littleaarch64")
>  OUTPUT_ARCH(aarch64)
> @@ -49,11 +50,26 @@ SECTIONS
>  
>  	.dynamic	: { *(.dynamic) }		:text	:dynamic
>  
> +	.rela.dyn	: ALIGN(8) { *(.rela .rela*) }
> +
> +	.plt		: {
> +		*(.plt)
> +		*(.plt.*)
> +		*(.iplt)
> +		*(.igot .igot.plt)
> +	}
> +
> +	.got		: { *(.got) }
> +	.got.plt	: { *(.got.plt) }
> +

The vDSO library does not contain absolute relocations. Is there any specific
reason why these sections are not part of ".rodata"?

Please refer to: lib/vdso/Makefile

Note: A similar comment applies to vdso32.

>  	.rodata		: { *(.rodata*) }		:text
>  
>  	_end = .;
>  	PROVIDE(end = .);
>  
> +	DWARF_DEBUG
> +	ELF_DETAILS
> +
>  	/DISCARD/	: {
>  		*(.data .data.* .gnu.linkonce.d.* .sdata*)
>  		*(.bss .sbss .dynbss .dynsbss)

-- 
Regards,
Vincenzo



More information about the linux-arm-kernel mailing list