Skip site navigation (1)Skip section navigation (2)
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>