* [PATCH 1/2] powerpc: use kernel endianness in MSR in 32-bit signal handler
@ 2021-01-03 1:34 Will Springer
0 siblings, 0 replies; only message in thread
From: Will Springer @ 2021-01-03 1:34 UTC (permalink / raw)
To: linuxppc-dev; +Cc: eerykitty, daniel
From: Joseph J Allen <eerykitty@gmail.com>
This mirrors the behavior in handle_rt_signal32, to obey kernel endianness
rather than assume a 32-bit process is big-endian. Without this change,
any 32-bit little-endian process will SIGILL immediately upon handling a
signal.
Signed-off-by: Joseph J Allen <eerykitty@gmail.com>
Signed-off-by: Will Springer <skirmisher@protonmail.com>
---
arch/powerpc/kernel/signal_32.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index 934cbdf6dd10..75ee918a120a 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -929,8 +929,9 @@ int handle_signal32(struct ksignal *ksig, sigset_t *oldset,
regs->gpr[3] = ksig->sig;
regs->gpr[4] = (unsigned long) sc;
regs->nip = (unsigned long)ksig->ka.sa.sa_handler;
- /* enter the signal handler in big-endian mode */
+ /* enter the signal handler in native-endian mode */
regs->msr &= ~MSR_LE;
+ regs->msr |= (MSR_KERNEL & MSR_LE);
return 0;
failed:
--
2.29.2
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-01-03 1:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-03 1:34 [PATCH 1/2] powerpc: use kernel endianness in MSR in 32-bit signal handler Will Springer
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.