Centos-kernel-stream-9/lib/vdso
Prarit Bhargava 5ff5b677a2 vdso: Improve cmd_vdso_check to check all dynamic relocations
JIRA: https://issues.redhat.com/browse/RHEL-25415

Conflicts: Not worried about unsupported arches.  Minor drift issue in
last chunk with egrep vs grep -E.

commit aff69273af61f5d1c8fb401d6f19148d11629b41
Author: Fangrui Song <maskray@google.com>
Date:   Fri Mar 10 19:07:50 2023 +0000

    vdso: Improve cmd_vdso_check to check all dynamic relocations

    The actual intention is that no dynamic relocation exists in the VDSO. For
    this the VDSO build validates that the resulting .so file does not have any
    relocations which are specified via $(ARCH_REL_TYPE_ABS) per architecture,
    which is fragile as e.g. ARM64 lacks an entry for R_AARCH64_RELATIVE. Aside
    of that ARCH_REL_TYPE_ABS is a misnomer as it checks for relative
    relocations too.

    However, some GNU ld ports produce unneeded R_*_NONE relocation entries. If
    a port fails to determine the exact .rel[a].dyn size, the trailing zeros
    become R_*_NONE relocations. E.g. ld's powerpc port recently fixed
    https://sourceware.org/bugzilla/show_bug.cgi?id=29540). R_*_NONE are
    generally a no-op in the dynamic loaders. So just ignore them.

    Remove the ARCH_REL_TYPE_ABS defines and just validate that the resulting
    .so file does not contain any R_* relocation entries except R_*_NONE.

    Signed-off-by: Fangrui Song <maskray@google.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Tested-by: Vincenzo Frascino <vincenzo.frascino@arm.com> # for aarch64
    Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
    Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com> # for vDSO, aarch64
    Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
    Link: https://lore.kernel.org/r/20230310190750.3323802-1-maskray@google.com

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:43:00 -04:00
..
Kconfig
Makefile vdso: Improve cmd_vdso_check to check all dynamic relocations 2024-03-20 09:43:00 -04:00
gettimeofday.c