git: vkernel - Fix FP corruption from preemptive thread switch

看板DFBSD_commit作者時間16年前 (2009/10/03 07:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit eaaa6d6031b7b67f3b067023af0d99386a1d6d9b 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/eaaa6d6031b7b67f3b067023af0d99386a1d6d9b -- DragonFly BSD source repository
文章代碼(AID): #1AnerudZ (DFBSD_commit)