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)
committerSasha Levin <alexander.levin@verizon.com>
Thu, 15 Sep 2016 22:54:06 +0000 (18:54 -0400)
[ Upstream commit 98b0f80c2396224bbbed81792b526e6c72ba9efa ]

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

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: stable@vger.kernel.org # v3.7+
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
fs/nfs/callback.c

index 351be9205bf889bd48bf6b1f39b195899e5ab141..3b8cdb8298c4882885eaa946dba9e48b3fa98533 100644 (file)
@@ -303,6 +303,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;