lkml.org 
[lkml]   [2020]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.14 088/108] openrisc: Fix issue with argument clobbering for clone/fork
    Date
    From: Stafford Horne <shorne@gmail.com>

    [ Upstream commit 6bd140e14d9aaa734ec37985b8b20a96c0ece948 ]

    Working on the OpenRISC glibc port I found that sometimes clone was
    working strange. That the tls data argument sent in r7 was always
    wrong. Further investigation revealed that the arguments were getting
    clobbered in the entry code. This patch removes the code that writes to
    the argument registers. This was likely due to some old code hanging
    around.

    This patch fixes this up for clone and fork. This fork clobber is
    harmless but also useless so remove.

    Signed-off-by: Stafford Horne <shorne@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/openrisc/kernel/entry.S | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/arch/openrisc/kernel/entry.S b/arch/openrisc/kernel/entry.S
    index 1107d34e45bf..0fdfa7142f4b 100644
    --- a/arch/openrisc/kernel/entry.S
    +++ b/arch/openrisc/kernel/entry.S
    @@ -1102,13 +1102,13 @@ ENTRY(__sys_clone)
    l.movhi r29,hi(sys_clone)
    l.ori r29,r29,lo(sys_clone)
    l.j _fork_save_extra_regs_and_call
    - l.addi r7,r1,0
    + l.nop

    ENTRY(__sys_fork)
    l.movhi r29,hi(sys_fork)
    l.ori r29,r29,lo(sys_fork)
    l.j _fork_save_extra_regs_and_call
    - l.addi r3,r1,0
    + l.nop

    ENTRY(sys_rt_sigreturn)
    l.jal _sys_rt_sigreturn
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-06-18 03:37    [W:2.349 / U:0.780 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site