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>