Date: Fri, 12 Aug 2005 22:43:50 GMT From: Bruce Evans <bde@FreeBSD.org> To: arundel@h3c.de, bde@FreeBSD.org, freebsd-i386@FreeBSD.org Subject: Re: i386/84842: i386_set_ioperm(2) timing issue Message-ID: <200508122243.j7CMhoUQ061433@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508122243.j7CMhoUQ061433>