I asked H. Peter Anvin (one of the Linux x86 maintainers) to review the FPU code. This was done on IRC so I'll summarise:
1. oss_fp_check() has no need to use kernel_fpu_begin() and kernel_fpu_end(). But it should use the CPU features API (see arch/x86/include/asm/cpufeature.h). 2. oss_fp_save() and oss_fp_restore() *must not* modify cr0 or cr4 directly. kernel_fpu_begin() and kernel_fpu_end() take care of the necessary CR changes. However the WARNING in this bug shows that vmix FPU usage is fundamentally unsafe - it calls these functions from an IRQ handler, and it is not always possible to use the FPU then without corrupting the state of the current task. Please disable CONFIG_OSS_VMIX_FLOAT. Ben. -- Ben Hutchings Never attribute to conspiracy what can adequately be explained by stupidity.
signature.asc
Description: This is a digitally signed message part