OSDN Git Service

arm64: signal: Make force_signal_inject more robust
authorWill Deacon <will.deacon@arm.com>
Tue, 20 Feb 2018 14:16:29 +0000 (14:16 +0000)
committerWill Deacon <will.deacon@arm.com>
Tue, 6 Mar 2018 18:52:22 +0000 (18:52 +0000)
commit2c9120f3a86a809518ece1787d76ae07dd01e01b
tree3d4a4cd0c4454122dc14d5f1a2feb1fd66619074
parente0f6429dc1c0aeac8439e16a0c8e2539f401190f
arm64: signal: Make force_signal_inject more robust

force_signal_inject is a little flakey:

  * It only knows about SIGILL and SIGSEGV, so can potentially deliver
    other signals based on a partially initialised siginfo_t

  * It sets si_addr to point at the PC for SIGSEGV

  * It always operates on current, so doesn't need the regs argument

This patch fixes these issues by always assigning the si_addr field to
the address parameter of the function and updates the callers (including
those that indirectly call via arm64_notify_segfault) accordingly.

Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/traps.h
arch/arm64/kernel/armv8_deprecated.c
arch/arm64/kernel/fpsimd.c
arch/arm64/kernel/traps.c