Re: BUG at net/sunrpc/svc_xprt.c:921

From: J. Bruce Fields
Date: Thu Jan 17 2013 - 08:53:20 EST


On Thu, Jan 17, 2013 at 08:11:52AM -0500, Mark Lord wrote:
> On 13-01-14 11:17 AM, Mark Lord wrote:
> >
> > Here's the code with the BUG() at net/sunrpc/svc_xprt.c line 921:
> >
> > /*
> > * Remove a dead transport
> > */
> > static void svc_delete_xprt(struct svc_xprt *xprt)
> > {
> > struct svc_serv *serv = xprt->xpt_server;
> > struct svc_deferred_req *dr;
> >
> > /* Only do this once */
> > if (test_and_set_bit(XPT_DEAD, &xprt->xpt_flags))
> > BUG();
>
>
> Shouldn't there also be a return statement after the BUG() line,
> inside the if-stmt ?

BUG() kills the thread that calls it, so it never returns, and a
following statement wouldn't be executed--I may not understand your
question.

--b.

>
> I mean, the comment says "only do this once", but it actually
> appears to end up doing it twice, despite the test.
>
> ??
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/