Patch "riscv: hwprobe: do not produce frtace relocation" has been added to the 6.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    riscv: hwprobe: do not produce frtace relocation

to the 6.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     riscv-hwprobe-do-not-produce-frtace-relocation.patch
and it can be found in the queue-6.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit f0cb64532dc375910c53c762ed1ced93a5094bd8
Author: Vladimir Isaev <vladimir.isaev@xxxxxxxxxxxxx>
Date:   Wed Mar 13 10:35:46 2024 +0300

    riscv: hwprobe: do not produce frtace relocation
    
    [ Upstream commit ad14f7ca9f0d9fdf73d1fd61aaf8248d46ffc849 ]
    
    Such relocation causes crash of android linker similar to one
    described in commit e05d57dcb8c7
    ("riscv: Fixup __vdso_gettimeofday broke dynamic ftrace").
    
    Looks like this relocation is added by CONFIG_DYNAMIC_FTRACE which is
    disabled in the default android kernel.
    
    Before:
    
    readelf -rW arch/riscv/kernel/vdso/vdso.so:
    
    Relocation section '.rela.dyn' at offset 0xd00 contains 1 entry:
        Offset             Info             Type
    0000000000000d20  0000000000000003 R_RISCV_RELATIVE
    
    objdump:
    0000000000000c86 <__vdso_riscv_hwprobe@@LINUX_4.15>:
     c86:   0001                    nop
     c88:   0001                    nop
     c8a:   0001                    nop
     c8c:   0001                    nop
     c8e:   e211                    bnez    a2,c92 <__vdso_riscv_hwprobe...
    
    After:
    readelf -rW arch/riscv/kernel/vdso/vdso.so:
    
    There are no relocations in this file.
    
    objdump:
    0000000000000c86 <__vdso_riscv_hwprobe@@LINUX_4.15>:
     c86:   e211                    bnez    a2,c8a <__vdso_riscv_hwprobe...
     c88:   c6b9                    beqz    a3,cd6 <__vdso_riscv_hwprobe...
     c8a:   e739                    bnez    a4,cd8 <__vdso_riscv_hwprobe...
     c8c:   ffffd797                auipc   a5,0xffffd
    
    Also disable SCS since it also should not be available in vdso.
    
    Fixes: aa5af0aa90ba ("RISC-V: Add hwprobe vDSO function and data")
    Signed-off-by: Roman Artemev <roman.artemev@xxxxxxxxxxxxx>
    Signed-off-by: Vladimir Isaev <vladimir.isaev@xxxxxxxxxxxxx>
    Reviewed-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>
    Reviewed-by: Guo Ren <guoren@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240313085843.17661-1-vladimir.isaev@xxxxxxxxxxxxx
    Signed-off-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile
index 9b517fe1b8a8e..272c431ac5b9f 100644
--- a/arch/riscv/kernel/vdso/Makefile
+++ b/arch/riscv/kernel/vdso/Makefile
@@ -37,6 +37,7 @@ endif
 
 # Disable -pg to prevent insert call site
 CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) $(CC_FLAGS_SCS)
+CFLAGS_REMOVE_hwprobe.o = $(CC_FLAGS_FTRACE) $(CC_FLAGS_SCS)
 
 # Disable profiling and instrumentation for VDSO code
 GCOV_PROFILE := n




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux