DragonFly BSD
DragonFly commits List (threaded) for 2009-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: DragonFly_RELEASE_2_4 vkernel - Fix FP corruption from preemptive thread switch


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 2 Oct 2009 16:01:00 -0700 (PDT)

commit 5febe8f5748ea5923d6465791c344a3a6138dee4
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Fri Oct 2 15:53:17 2009 -0700

    vkernel - Fix FP corruption from preemptive thread switch
    
    * Recent work on the vkernel enabled preemptive interrupt thread switching.
      This introduced a race where the floating point state could change
      out from under the vkernel's go_user() function, causing the FP state
      in the virtual user process to become corrupt.
    
    * Fixed by introducing a critical section which essentially defers any
      preemptive thread switches inside go_user().
    
    Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
    Test-cases-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>

Summary of changes:
 sys/platform/vkernel/i386/trap.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5febe8f5748ea5923d6465791c344a3a6138dee4


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]