Skip to content
  • Paul Burton's avatar
    MIPS: Add ksig argument to rseq_{signal_deliver,handle_notify_resume} · 662d855c
    Paul Burton authored
    Commit 784e0300 ("rseq: Avoid infinite recursion when delivering
    SIGSEGV") added a new ksig argument to the rseq_signal_deliver() &
    rseq_handle_notify_resume() functions, and was merged in v4.18-rc2.
    Meanwhile MIPS support for restartable sequences was also merged in
    v4.18-rc2 with commit 9ea141ad ("MIPS: Add support for restartable
    sequences"), and therefore didn't get updated for the API change.
    
    This results in build failures like the following:
    
        CC      arch/mips/kernel/signal.o
      arch/mips/kernel/signal.c: In function 'handle_signal':
      arch/mips/kernel/signal.c:804:22: error: passing argument 1 of
        'rseq_signal_deliver' from incompatible pointer type
        [-Werror=incompatible-pointer-types]
        rseq_signal_deliver(regs);
                            ^~~~
      In file included from ./include/linux/context_tracking.h:5,
                       from arch/mips/kernel/signal.c:12:
      ./include/linux/sched.h:1811:56: note: expected 'struct ksignal *' but
        argument is of type 'struct pt_regs *'
        static inline void rseq_signal_deliver(struct ksignal *ksig,
                                               ~~~~~~~~~~~~~~~~^~~~
      arch/mips/kernel/signal.c:804:2: error: too few arguments to function
        'rseq_signal_deliver'
        rseq_signal_deliver(regs);
        ^~~~~~~~~~~~~~~~~~~
    
    Fix this by adding the ksig argument as was done for other architectures
    in commit 784e0300
    
     ("rseq: Avoid infinite recursion when delivering
    SIGSEGV").
    
    Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
    Acked-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Patchwork: https://patchwork.linux-mips.org/patch/19603/
    Cc: James Hogan <jhogan@kernel.org>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Boqun Feng <boqun.feng@gmail.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    662d855c