From owner-freebsd-sparc64@FreeBSD.ORG Fri Oct 24 12:30:33 2003 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2FB7116A4B3 for ; Fri, 24 Oct 2003 12:30:32 -0700 (PDT) Received: from mail.gmx.net (mail.gmx.de [213.165.64.20]) by mx1.FreeBSD.org (Postfix) with SMTP id A9C2143FCB for ; Fri, 24 Oct 2003 12:30:30 -0700 (PDT) (envelope-from tmoestl@gmx.net) Received: (qmail 21397 invoked by uid 65534); 24 Oct 2003 19:30:29 -0000 Received: from p508E73D2.dip.t-dialin.net (EHLO timesink.dyndns.org) (80.142.115.210) by mail.gmx.net (mp026) with SMTP; 24 Oct 2003 21:30:29 +0200 X-Authenticated: #5374206 Received: by galatea (Postfix, from userid 1001) id DAA1EED; Fri, 24 Oct 2003 21:31:57 +0200 (CEST) Date: Fri, 24 Oct 2003 21:31:57 +0200 From: Thomas Moestl To: Alex Deiter Message-ID: <20031024193157.GA2834@timesink.dyndns.org> Mail-Followup-To: Alex Deiter , Kris Kennaway , freebsd-sparc64@freebsd.org, current@freebsd.org References: <034001c39962$c8056f70$b901320a@komi.mts.ru> <20031023190138.GA84526@rot13.obsecurity.org> <004d01c399ec$fefe5c00$b901320a@komi.mts.ru> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="DocE+STaALJfprDB" Content-Disposition: inline In-Reply-To: <004d01c399ec$fefe5c00$b901320a@komi.mts.ru> User-Agent: Mutt/1.4.1i cc: current@freebsd.org cc: freebsd-sparc64@freebsd.org cc: Kris Kennaway Subject: Re: panic: trap: fast data access mmu miss X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Oct 2003 19:30:33 -0000 --DocE+STaALJfprDB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, 2003/10/24 at 09:09:25 +0400, Alex Deiter wrote: > panic: trap: fast data access mmu miss > cpuid = 0; > Debugger("panic") > Stopped at Debugger+0x1c: ta %xcc, 1 > db> tr > panic() at panic+0x174 > trap() at trap+0x394 > -- fast data access mmu miss tar=0 %o7=0xc018b820 -- > quotactl() at quotactl+0x98 > syscall() at syscall+0x308 > -- syscall (148, FreeBSD ELF64, quotactl) %o7=0x1e3044 -- > userland() at 0x41187e88 > user trace: trap %o7=0x1e3044 > pc 0x41187e88, sp 0x7fdffffe221 > pc 0x15149c, sp 0x7fdffffe321 > pc 0x151818, sp 0x7fdffffe871 > pc 0x1c771c, sp 0x7fdffffe931 > pc 0x1a6938, sp 0x7fdffffea01 > pc 0x1b3904, sp 0x7fdffffec81 > pc 0x1d987c, sp 0x7fdffffedc1 > pc 0x1d99c0, sp 0x7fdffffeec1 > pc 0x1da06c, sp 0x7fdffffefa1 > pc 0x1db99c, sp 0x7fdfffff071 > pc 0x451ea8, sp 0x7fdfffff161 > pc 0x133560, sp 0x7fdfffff3f1 > pc 0x405d3f94, sp 0x7fdfffff4b1 > done I believe that the attached patch should fix that; the panic is not sparc64-specific, and should occur on all file systems that do not define a vop_getwritemount method. - Thomas -- Thomas Moestl http://www.tu-bs.de/~y0015675/ http://people.FreeBSD.org/~tmm/ PGP fingerprint: 1C97 A604 2BD0 E492 51D0 9C0F 1FE6 4F1D 419C 776C --DocE+STaALJfprDB Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="quotactl.diff" Index: vfs_syscalls.c =================================================================== RCS file: /vol/ncvs/src/sys/kern/vfs_syscalls.c,v retrieving revision 1.331 diff -u -r1.331 vfs_syscalls.c --- vfs_syscalls.c 21 Aug 2003 13:53:01 -0000 1.331 +++ vfs_syscalls.c 24 Oct 2003 19:08:29 -0000 @@ -189,7 +189,7 @@ caddr_t arg; } */ *uap; { - struct mount *mp; + struct mount *mp, *wmp; int error; struct nameidata nd; @@ -199,12 +199,13 @@ if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); - error = vn_start_write(nd.ni_vp, &mp, V_WAIT | PCATCH); + error = vn_start_write(nd.ni_vp, &wmp, V_WAIT | PCATCH); + mp = nd.ni_vp->v_mount; vrele(nd.ni_vp); if (error) return (error); error = VFS_QUOTACTL(mp, uap->cmd, uap->uid, uap->arg, td); - vn_finished_write(mp); + vn_finished_write(wmp); return (error); } --DocE+STaALJfprDB--