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.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to