diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 64d700d8f3..40c0ed83e8 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2800,6 +2800,10 @@ static int do_fork(CPUState *env, unsigned int flags, abi_ulong newsp, sigset_t sigmask; #endif + /* Emulate vfork() with fork() */ + if (flags & CLONE_VFORK) + flags &= ~(CLONE_VFORK | CLONE_VM); + if (flags & CLONE_VM) { #if defined(USE_NPTL) new_thread_info info;