Date: Tue, 24 Mar 2009 20:04:38 +0200 From: Jaakko Heinonen <jh@saunalahti.fi> To: Matthew West <mwest@l.zeeb.org> Cc: 7ogcg7g02@sneakemail.com, freebsd-current@freebsd.org Subject: Re: panic: Bad link elm, nfsd related? Message-ID: <20090324180437.GA952@a91-153-125-115.elisa-laajakaista.fi> In-Reply-To: <20090323140820.GA37093@zeeb.org> References: <20090323140820.GA37093@zeeb.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2009-03-23, Matthew West wrote:
> After 1-2 weeks, the system will panic with the following:
>
> ----------
> panic: Bad link elm 0xffffff0011febc00 next->prev != elm
It looks like an attempt to remove xprt twice from tail queue due to
race. Does this patch make any difference?
%%%
Index: sys/rpc/svc.c
===================================================================
--- sys/rpc/svc.c (revision 189918)
+++ sys/rpc/svc.c (working copy)
@@ -296,8 +296,10 @@ xprt_unregister_locked(SVCXPRT *xprt)
TAILQ_REMOVE(&pool->sp_active, xprt, xp_alink);
xprt->xp_active = FALSE;
}
- TAILQ_REMOVE(&pool->sp_xlist, xprt, xp_link);
- xprt->xp_registered = FALSE;
+ if (xprt->xp_registered) {
+ TAILQ_REMOVE(&pool->sp_xlist, xprt, xp_link);
+ xprt->xp_registered = FALSE;
+ }
}
void
%%%
This was also reported by Edward Fisk (Cc'd) in PR 132068.
--
Jaakko
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090324180437.GA952>
