Comment 3 for bug 244443

Revision history for this message
Daniel J Blueman (danielblueman) wrote :

void rpcb_getport_async(struct rpc_task *task)
{
        struct rpc_clnt *clnt = task->tk_client;
        int bind_version;
        struct rpc_xprt *xprt = task->tk_xprt;
        struct rpc_clnt *rpcb_clnt;
        static struct rpcbind_args *map;
        struct rpc_task *child;
        struct sockaddr addr;
        int status;
        struct rpcb_info *info;

        dprintk("RPC: %5u %s(%s, %u, %u, %d)\n",
                task->tk_pid, __FUNCTION__,
                clnt->cl_server, clnt->cl_prog, clnt->cl_vers, xprt->prot);

        /* Autobind on cloned rpc clients is discouraged */
        BUG_ON(clnt->cl_parent != clnt); <------

Indeed, we're hitting the same issue as we used to in LP#224750, so it looks like there is more than one case which needs addressing.

Related links:
http://www.linuxhq.com/kernel/v2.6/25-rc9/net/sunrpc/rpcb_clnt.c
http://kerneltrap.org/mailarchive/linux-nfs/2007/12/10/487250
http://lists.debian.org/debian-kernel/2008/04/msg00409.html