i386/84842: i386_set_ioperm(2) timing issue
Bruce Evans
bde at FreeBSD.org
Fri Aug 12 22:43:51 GMT 2005
Synopsis: i386_set_ioperm(2) timing issue
State-Changed-From-To: open->analyzed
State-Changed-By: bde
State-Changed-When: Fri Aug 12 22:33:10 GMT 2005
State-Changed-Why:
The problem seems to be that the TSS is not loaded by the syscall. The
i/o permissions bitmap is in the TSS and I think think the TSS must be
reloaded for the new bitmap to be seen. The TSS is reloaded on the next
context switch but doesn't seem to be loaded anywhere else in normal
execution (it is also loaded at boot time and for vm86 BIOS calls and
returns).
Try adding an ltr(gsel_tss) near the end of i386_set_ioperm().
http://www.freebsd.org/cgi/query-pr.cgi?pr=84842
More information about the freebsd-i386
mailing list