core: Fix user return notifier on fork()
authorAvi Kivity <avi@redhat.com>
Sun, 29 Nov 2009 14:34:48 +0000 (16:34 +0200)
committerIngo Molnar <mingo@elte.hu>
Sun, 29 Nov 2009 21:03:04 +0000 (22:03 +0100)
fork() clones all thread_info flags, including
TIF_USER_RETURN_NOTIFY; if the new task is first scheduled on a cpu
which doesn't have user return notifiers set, this causes user
return notifiers to trigger without any way of clearing itself.

This is easy to trigger with a forky workload on the host in
parallel with kvm, resulting in a cpu in an endless loop on the
verge of returning to userspace.

Fix by dropping the TIF_USER_RETURN_NOTIFY immediately after fork.

Signed-off-by: Avi Kivity <avi@redhat.com>
LKML-Reference: <1259505288-16559-1-git-send-email-avi@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

No differences found