Re: [PATCH] riscv: Check that vdso does not contain any dynamic relocations

From: Vladimir Isaev
Date: Thu Mar 28 2024 - 03:40:32 EST


Hi Alexandre,

26.03.2024 14:38, Alexandre Ghiti wrote:
>
> Like other architectures, use the common cmd_vdso_check to make sure of
> that.
>
> Signed-off-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>
> ---
> arch/riscv/kernel/vdso/Makefile | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile
> index 9b517fe1b8a8..dd4877f25928 100644
> --- a/arch/riscv/kernel/vdso/Makefile
> +++ b/arch/riscv/kernel/vdso/Makefile
> @@ -49,7 +49,7 @@ $(obj)/vdso.o: $(obj)/vdso.so
>
> # link rule for the .so file, .lds has to be first
> $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
> - $(call if_changed,vdsold)
> + $(call if_changed,vdsold_and_check)
> LDFLAGS_vdso.so.dbg = -shared -S -soname=linux-vdso.so.1 \
> --build-id=sha1 --hash-style=both --eh-frame-hdr
>
> @@ -69,7 +69,8 @@ include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
> # actual build commands
> # The DSO images are built using a special linker script
> # Make sure only to export the intended __vdso_xxx symbol offsets.
> -quiet_cmd_vdsold = VDSOLD $@
> - cmd_vdsold = $(LD) $(ld_flags) -T $(filter-out FORCE,$^) -o $@.tmp && \
> +quiet_cmd_vdsold_and_check = VDSOLD $@
> + cmd_vdsold_and_check = $(LD) $(ld_flags) -T $(filter-out FORCE,$^) -o $@.tmp && \
> $(OBJCOPY) $(patsubst %, -G __vdso_%, $(vdso-syms)) $@.tmp $@ && \
> - rm $@.tmp
> + rm $@.tmp && \
> + $(cmd_vdso_check)

For some reason I thought that this check is in the common vdso code and just missed hwprobe relocation...

Tested-by: Vladimir Isaev <vladimir.isaev@xxxxxxxxxxxxx>

> --
> 2.39.2
>

Thank you,
Vladimir Isaev