All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: signal: don't force known signals to SIGKILL
@ 2018-04-16 15:45 Mark Rutland
  2018-04-17 14:46 ` Dave Martin
  2018-04-18 14:14 ` Catalin Marinas
  0 siblings, 2 replies; 6+ messages in thread
From: Mark Rutland @ 2018-04-16 15:45 UTC (permalink / raw)
  To: linux-arm-kernel

Since commit:

  a7e6f1ca90354a31 ("arm64: signal: Force SIGKILL for unknown signals in force_signal_inject")

... any signal which is not SIGKILL will be upgraded to a SIGKILL be
force_signal_inject(). This includes signals we do expect, such as
SIGILL triggered by do_undefinstr().

Fix the check to use a logical AND rather than a logical OR, permitting
signals whose layout is SIL_FAULT.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Fixes: a7e6f1ca90354a31 ("arm64: signal: Force SIGKILL for unknown signals in force_signal_inject")
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dave Martin <dave.martin@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
---
 arch/arm64/kernel/traps.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
index ba964da31a25..1cb2749a72bf 100644
--- a/arch/arm64/kernel/traps.c
+++ b/arch/arm64/kernel/traps.c
@@ -366,7 +366,7 @@ void force_signal_inject(int signal, int code, unsigned long address)
 	}
 
 	/* Force signals we don't understand to SIGKILL */
-	if (WARN_ON(signal != SIGKILL ||
+	if (WARN_ON(signal != SIGKILL &&
 		    siginfo_layout(signal, code) != SIL_FAULT)) {
 		signal = SIGKILL;
 	}
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-04-18 14:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-16 15:45 [PATCH] arm64: signal: don't force known signals to SIGKILL Mark Rutland
2018-04-17 14:46 ` Dave Martin
2018-04-18 11:36   ` Mark Rutland
2018-04-18 13:33     ` Dave Martin
2018-04-18 13:44       ` Mark Rutland
2018-04-18 14:14 ` Catalin Marinas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.