lkml.org 
[lkml]   [2018]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCHv4 10/19] arm64: don't restore GPRs when context tracking
    Date
    Now that syscalls are invoked with pt_regs, we no longer need to ensure
    that the argument regsiters are live in the entry assembly, and it's
    fine to not restore them after context_tracking_user_exit() has
    corrupted them.

    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    ---
    arch/arm64/kernel/entry.S | 12 +-----------
    1 file changed, 1 insertion(+), 11 deletions(-)

    diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
    index 156c4e3fd1a4..c41b84d06644 100644
    --- a/arch/arm64/kernel/entry.S
    +++ b/arch/arm64/kernel/entry.S
    @@ -41,19 +41,9 @@
    * Context tracking subsystem. Used to instrument transitions
    * between user and kernel mode.
    */
    - .macro ct_user_exit, syscall = 0
    + .macro ct_user_exit
    #ifdef CONFIG_CONTEXT_TRACKING
    bl context_tracking_user_exit
    - .if \syscall == 1
    - /*
    - * Save/restore needed during syscalls. Restore syscall arguments from
    - * the values already saved on stack during kernel_entry.
    - */
    - ldp x0, x1, [sp]
    - ldp x2, x3, [sp, #S_X2]
    - ldp x4, x5, [sp, #S_X4]
    - ldp x6, x7, [sp, #S_X6]
    - .endif
    #endif
    .endm

    --
    2.11.0
    \
     
     \ /
      Last update: 2018-07-02 13:09    [W:4.467 / U:0.240 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site