dillon 2008/05/08 23:35:12 PDT
DragonFly src repository
Modified files:
sys/sys thread.h
sys/platform/pc32/i386 bcopy.s genassym.c
sys/platform/pc32/isa npx.c
Log:
Fix a nasty memory corruption issue which can occur due to the kernel bcopy's
use of the FP unit. If the destination address faults the NPX code can
lose track of the fact that the kernel was using the FP unit. When the
fault is resolved the kernel bcopy resumes with corrupted FP registers.
The most common situation where this could occur is with pipes, and generally
only when the system is paging heavily and causing multiple processes to
fault in the kernel FP bcopy code.
Revision Changes Path
1.92 +1 -0 src/sys/sys/thread.h
1.10 +2 -0 src/sys/platform/pc32/i386/bcopy.s
1.58 +2 -0 src/sys/platform/pc32/i386/genassym.c
1.48 +5 -1 src/sys/platform/pc32/isa/npx.c
http://www.dragonflybsd.org/cvsweb/src/sys/sys/thread.h.diff?r1=1.91&r2=1.92&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/i386/bcopy.s.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/i386/genassym.c.diff?r1=1.57&r2=1.58&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/isa/npx.c.diff?r1=1.47&r2=1.48&f=u