diff options
author | Will Deacon <will.deacon@arm.com> | 2018-02-20 14:16:29 +0000 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2018-03-06 18:52:22 +0000 |
commit | 2c9120f3a86a809518ece1787d76ae07dd01e01b (patch) | |
tree | 3d4a4cd0c4454122dc14d5f1a2feb1fd66619074 /arch/arm64/kernel/armv8_deprecated.c | |
parent | e0f6429dc1c0aeac8439e16a0c8e2539f401190f (diff) |
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>
Diffstat (limited to 'arch/arm64/kernel/armv8_deprecated.c')
-rw-r--r-- | arch/arm64/kernel/armv8_deprecated.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c index 68450e954d47..6e47fc3ab549 100644 --- a/arch/arm64/kernel/armv8_deprecated.c +++ b/arch/arm64/kernel/armv8_deprecated.c @@ -429,7 +429,7 @@ ret: fault: pr_debug("SWP{B} emulation: access caused memory abort!\n"); - arm64_notify_segfault(regs, address); + arm64_notify_segfault(address); return 0; } |