]> Zhao Yanbai Git Server - minix.git/commitdiff
arm: protect state after signal handler 95/295/1
authorBen Gras <ben@minix3.org>
Tue, 5 Feb 2013 16:17:19 +0000 (17:17 +0100)
committerBen Gras <ben@minix3.org>
Tue, 5 Feb 2013 16:25:38 +0000 (17:25 +0100)
. set MF_CONTEXT_SET after signal handler state
  is set so it doesn't get clobbered by the kernel
  afterwards (i.e. by delivermsg()).

fixes at least test41.

Change-Id: I7e5e0e9311c8bbc1c0a9c7ca466ceddd9edfa03f

kernel/system/do_sigsend.c

index eeb13f6c77d420c7a482c9926e02d5de6940a925..6c6e9babe42039b0022aaf7abefddbd119a24bd2 100644 (file)
@@ -92,6 +92,7 @@ int do_sigsend(struct proc * caller, message * m_ptr)
   rp->p_reg.retreg = (reg_t) fr.sf_signo;
   rp->p_reg.r1 = (reg_t) fr.sf_code;
   rp->p_reg.r2 = (reg_t) fr.sf_scp;
+  rp->p_misc_flags |= MF_CONTEXT_SET;
 #endif
 
   /* Copy the sigframe structure to the user's stack. */