Date: Thu, 16 Aug 2001 07:59:04 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: "David O'Brien" <obrien@freebsd.org> Cc: current@freebsd.org Subject: RE: mutex Giant not owned Message-ID: <XFMail.010816075904.jhb@FreeBSD.org> In-Reply-To: <20010815193517.A8445@dragon.nuxi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 16-Aug-01 David O'Brien wrote:
># uname -a
> FreeBSD phuong.nuxi.com 5.0-CURRENT FreeBSD 5.0-CURRENT #12: Sun Jul 15
> 19:07:45 PDT 2001
> rootk@phuong.nuxi.com:/files/Current/sys/alpha/compile/DS20 alpha
Looks like a trapsignal() in trap() is being called w/o Giant. I'll look at it.
Try this:
Index: trap.c
===================================================================
RCS file: /usr/cvs/src/sys/alpha/alpha/trap.c,v
retrieving revision 1.73
diff -u -r1.73 trap.c
--- trap.c 2001/08/10 22:53:25 1.73
+++ trap.c 2001/08/16 04:29:40
@@ -611,14 +611,15 @@
framep->tf_regs[FRAME_TRAPARG_A0] = a0;
framep->tf_regs[FRAME_TRAPARG_A1] = a1;
framep->tf_regs[FRAME_TRAPARG_A2] = a2;
+ mtx_lock(&Giant);
trapsignal(p, i, ucode);
out:
if (user) {
framep->tf_regs[FRAME_SP] = alpha_pal_rdusp();
userret(p, framep, sticks);
- if (mtx_owned(&Giant))
- mtx_unlock(&Giant);
}
+ if (mtx_owned(&Giant))
+ mtx_unlock(&Giant);
return;
dopanic:
--
John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010816075904.jhb>
