[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 05/15] linux-user/s390x: Fix trace in restore_regs
From: |
Richard Henderson |
Subject: |
[PATCH v2 05/15] linux-user/s390x: Fix trace in restore_regs |
Date: |
Wed, 28 Apr 2021 12:33:58 -0700 |
Directly reading sc->regs.psw.addr misses the bswap
that may be performed by __get_user.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
linux-user/s390x/signal.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c
index e455a9818d..dcc6f7bc02 100644
--- a/linux-user/s390x/signal.c
+++ b/linux-user/s390x/signal.c
@@ -232,16 +232,17 @@ give_sigsegv:
static void restore_sigregs(CPUS390XState *env, target_sigregs *sc)
{
+ target_ulong prev_addr;
int i;
for (i = 0; i < 16; i++) {
__get_user(env->regs[i], &sc->regs.gprs[i]);
}
+ prev_addr = env->psw.addr;
__get_user(env->psw.mask, &sc->regs.psw.mask);
- trace_user_s390x_restore_sigregs(env, (unsigned long
long)sc->regs.psw.addr,
- (unsigned long long)env->psw.addr);
__get_user(env->psw.addr, &sc->regs.psw.addr);
+ trace_user_s390x_restore_sigregs(env, env->psw.addr, prev_addr);
for (i = 0; i < 16; i++) {
__get_user(env->aregs[i], &sc->regs.acrs[i]);
--
2.25.1
- [PATCH v2 00/15] linux-user/s390x: some signal fixes, Richard Henderson, 2021/04/28
- [PATCH v2 01/15] linux-user/s390x: Fix sigframe types, Richard Henderson, 2021/04/28
- [PATCH v2 02/15] linux-user/s390x: Use uint16_t for signal retcode, Richard Henderson, 2021/04/28
- [PATCH v2 03/15] linux-user/s390x: Remove PSW_ADDR_AMODE, Richard Henderson, 2021/04/28
- [PATCH v2 04/15] linux-user/s390x: Remove restore_sigregs return value, Richard Henderson, 2021/04/28
- [PATCH v2 05/15] linux-user/s390x: Fix trace in restore_regs,
Richard Henderson <=
- [PATCH v2 06/15] linux-user/s390x: Fix sigcontext sregs value, Richard Henderson, 2021/04/28
- [PATCH v2 07/15] linux-user/s390x: Use tswap_sigset in setup_rt_frame, Richard Henderson, 2021/04/28
- [PATCH v2 10/15] linux-user/s390x: Set psw.mask properly for the signal handler, Richard Henderson, 2021/04/28
- [PATCH v2 08/15] linux-user/s390x: Tidy save_sigregs, Richard Henderson, 2021/04/28
- [PATCH v2 09/15] linux-user/s390x: Clean up single-use gotos in signal.c, Richard Henderson, 2021/04/28