20.08.2012 20:11, Myklebust, Trond пишет:
On Mon, 2012-08-20 at 17:43 +0400, Stanislav Kinsbursky wrote:
Put net reference we got in nfs_alloc_client() on error path.

Signed-off-by: Stanislav Kinsbursky <skinsbur...@parallels.com>
---
  fs/nfs/nfs4client.c |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
index cbcdfaf..b895629 100644
--- a/fs/nfs/nfs4client.c
+++ b/fs/nfs/nfs4client.c
@@ -74,6 +74,7 @@ struct nfs_client *nfs4_alloc_client(const struct 
nfs_client_initdata *cl_init)
        return clp;

  error:
+       put_net(clp->cl_net);
        kfree(clp);
        return ERR_PTR(err);
  }


No, that isn't anywhere near sufficient.

The correct thing to do here is to replace the kfree with a call to
nfs_free_client(), which will also clean up the allocation of
cl_hostname, put the module, etc.


Sure, you are right.

--
Best regards,
Stanislav Kinsbursky
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to