lkml.org 
[lkml]   [2019]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 32/66] xtensa: fix initialization of pt_regs::syscall in start_thread
    Date
    [ Upstream commit 2663147dc7465cb29040a05cc4286fdd839978b5 ]

    New pt_regs should indicate that there's no syscall, not that there's
    syscall #0. While at it wrap macro body in do/while and parenthesize
    macro arguments.

    Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/xtensa/include/asm/processor.h | 21 ++++++++++++---------
    1 file changed, 12 insertions(+), 9 deletions(-)

    diff --git a/arch/xtensa/include/asm/processor.h b/arch/xtensa/include/asm/processor.h
    index 677bc76c1d707..6e709fb562831 100644
    --- a/arch/xtensa/include/asm/processor.h
    +++ b/arch/xtensa/include/asm/processor.h
    @@ -194,15 +194,18 @@ struct thread_struct {

    /* Clearing a0 terminates the backtrace. */
    #define start_thread(regs, new_pc, new_sp) \
    - memset(regs, 0, sizeof(*regs)); \
    - regs->pc = new_pc; \
    - regs->ps = USER_PS_VALUE; \
    - regs->areg[1] = new_sp; \
    - regs->areg[0] = 0; \
    - regs->wmask = 1; \
    - regs->depc = 0; \
    - regs->windowbase = 0; \
    - regs->windowstart = 1;
    + do { \
    + memset((regs), 0, sizeof(*(regs))); \
    + (regs)->pc = (new_pc); \
    + (regs)->ps = USER_PS_VALUE; \
    + (regs)->areg[1] = (new_sp); \
    + (regs)->areg[0] = 0; \
    + (regs)->wmask = 1; \
    + (regs)->depc = 0; \
    + (regs)->windowbase = 0; \
    + (regs)->windowstart = 1; \
    + (regs)->syscall = NO_SYSCALL; \
    + } while (0)

    /* Forward declaration */
    struct task_struct;
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-05-09 21:05    [W:4.473 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site