]> git.ipfire.org Git - thirdparty/qemu.git/blobdiff - linux-user/hppa/signal.c
linux-user/hppa: Force all code addresses to PRIV_USER
[thirdparty/qemu.git] / linux-user / hppa / signal.c
index 682ba25922e48a6ecf2b3f77b98b635b2cf8b9b2..f6f094c9609e84dc50e6ff293a2f8de80e802d3f 100644 (file)
@@ -101,7 +101,9 @@ static void restore_sigcontext(CPUArchState *env, struct target_sigcontext *sc)
     cpu_hppa_loaded_fr0(env);
 
     __get_user(env->iaoq_f, &sc->sc_iaoq[0]);
+    env->iaoq_f |= PRIV_USER;
     __get_user(env->iaoq_b, &sc->sc_iaoq[1]);
+    env->iaoq_b |= PRIV_USER;
     __get_user(env->cr[CR_SAR], &sc->sc_sar);
 }
 
@@ -162,8 +164,8 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,
         unlock_user(fdesc, haddr, 0);
         haddr = dest;
     }
-    env->iaoq_f = haddr;
-    env->iaoq_b = haddr + 4;
+    env->iaoq_f = haddr | PRIV_USER;
+    env->iaoq_b = env->iaoq_f + 4;
     env->psw_n = 0;
     return;