2007-11-01 Roland McGrath <roland@redhat.com>
* syscall.c (get_scno) [ARM]: Check TCB_WAITEXECVE.
Reported by Bernhard Fischer <rep.dot.nop@gmail.com>.
diff --git a/syscall.c b/syscall.c
index 1ee6ce1..ba17645 100644
--- a/syscall.c
+++ b/syscall.c
@@ -1046,6 +1046,14 @@
* We only need to grab the syscall number on syscall entry.
*/
if (regs.ARM_ip == 0) {
+ if (!(tcp->flags & TCB_INSYSCALL)) {
+ /* Check if we return from execve. */
+ if (tcp->flags & TCB_WAITEXECVE) {
+ tcp->flags &= ~TCB_WAITEXECVE;
+ return 0;
+ }
+ }
+
/*
* Note: we only deal with only 32-bit CPUs here.
*/