• A
    core: Fix user return notifier on fork() · 8e7cac79
    Avi Kivity 提交于
    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: NAvi Kivity <avi@redhat.com>
    LKML-Reference: <1259505288-16559-1-git-send-email-avi@redhat.com>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    8e7cac79
fork.c 42.3 KB