From owner-cvs-all Sun May 20 11: 5:50 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 35A5A37B424; Sun, 20 May 2001 11:05:45 -0700 (PDT) (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f4KI5jL16942; Sun, 20 May 2001 11:05:45 -0700 (PDT) (envelope-from bde) Message-Id: <200105201805.f4KI5jL16942@freefall.freebsd.org> From: Bruce Evans Date: Sun, 20 May 2001 11:05:45 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/isa npx.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG bde 2001/05/20 11:05:44 PDT Modified files: sys/i386/isa npx.c Log: Use a critical region to protect almost everything in npxinit(). npxinit() didn't have the usual race because it doesn't save to curpcb, but it may have had a worse form of it since it uses the npx when it doesn't "own" it. I'm not sure if locking prevented this. npxinit() is normally caled with the proc lock but not sched_lock. Use a critical region to protect pushing of curproc's npx state to curpcb in npxexit(). Not doing so was harmless since it at worst saved a wrong state to a dieing pcb. Revision Changes Path 1.99 +7 -1 src/sys/i386/isa/npx.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message