NFSv4.x: Fix a refcount leak in nfs_callback_up_net
authorTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 29 Aug 2016 15:15:36 +0000 (11:15 -0400)
committerWilly Tarreau <w@1wt.eu>
Fri, 10 Feb 2017 10:03:28 +0000 (11:03 +0100)
commit 98b0f80c2396224bbbed81792b526e6c72ba9efa upstream.

On error, the callers expect us to return without bumping
nn->cb_users[].

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
fs/nfs/callback.c

index e05c96ebb27da226ac74d80c39a6834fafa62843..57d3b5ef22a01a1cedb668c124452da066ecae40 100644 (file)
@@ -302,6 +302,7 @@ static int nfs_callback_up_net(int minorversion, struct svc_serv *serv, struct n
 err_socks:
        svc_rpcb_cleanup(serv, net);
 err_bind:
+       nn->cb_users[minorversion]--;
        dprintk("NFS: Couldn't create callback socket: err = %d; "
                        "net = %p\n", ret, net);
        return ret;