Date: Fri, 24 Oct 2003 21:31:57 +0200 From: Thomas Moestl <t.moestl@tu-bs.de> To: Alex Deiter <tiamat@komi.mts.ru> Cc: Kris Kennaway <kris@obsecurity.org> Subject: Re: panic: trap: fast data access mmu miss Message-ID: <20031024193157.GA2834@timesink.dyndns.org> In-Reply-To: <004d01c399ec$fefe5c00$b901320a@komi.mts.ru> References: <034001c39962$c8056f70$b901320a@komi.mts.ru> <20031023190138.GA84526@rot13.obsecurity.org> <004d01c399ec$fefe5c00$b901320a@komi.mts.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
--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 <t.moestl@tu-bs.de> http://www.tu-bs.de/~y0015675/ <tmm@FreeBSD.org> 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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031024193157.GA2834>