From owner-freebsd-i386@FreeBSD.ORG Fri Aug 12 22:43:51 2005 Return-Path: X-Original-To: freebsd-i386@hub.freebsd.org Delivered-To: freebsd-i386@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F145D16A420; Fri, 12 Aug 2005 22:43:50 +0000 (GMT) (envelope-from bde@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA56843D55; Fri, 12 Aug 2005 22:43:50 +0000 (GMT) (envelope-from bde@FreeBSD.org) Received: from freefall.freebsd.org (bde@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j7CMhojq061437; Fri, 12 Aug 2005 22:43:50 GMT (envelope-from bde@freefall.freebsd.org) Received: (from bde@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j7CMhoUQ061433; Fri, 12 Aug 2005 22:43:50 GMT (envelope-from bde) Date: Fri, 12 Aug 2005 22:43:50 GMT From: Bruce Evans Message-Id: <200508122243.j7CMhoUQ061433@freefall.freebsd.org> To: arundel@h3c.de, bde@FreeBSD.org, freebsd-i386@FreeBSD.org Cc: Subject: Re: i386/84842: i386_set_ioperm(2) timing issue X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Aug 2005 22:43:51 -0000 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