Problem solved!

    The recent work on the vkernel which enabled preemptive thread
    switching introduced a race condition in go_user() between the 
    determination of the FP state and the call to vmspace_ctl().

    The FP state could wind up getting changed by a preemptive thread
    switch and result in corruption of the FP state in the virtual
    user process when vmspace_ctl() was finally called.

                                        -Matt
                                        Matthew Dillon 
                                        <[email protected]>

Reply via email to