diff options
author | Malahal Naineni <malahal@us.ibm.com> | 2011-09-20 17:27:14 -0700 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-10-20 18:44:04 -0500 |
commit | 940aab490215424a269f93d2eba2794fc8b3e269 (patch) | |
tree | 6dec5a3d9476fd3c409d7a73040e0eafb1eba756 | |
parent | b6ee8cd2642f6d822dd1a4ba62298b65ff99b72e (diff) | |
download | linux-3.10-940aab490215424a269f93d2eba2794fc8b3e269.tar.gz linux-3.10-940aab490215424a269f93d2eba2794fc8b3e269.tar.bz2 linux-3.10-940aab490215424a269f93d2eba2794fc8b3e269.zip |
Check validity of cl_rpcclient in nfs_server_list_show
As soon as the nfs_client gets created, its cl_rpcclient is set to
ERR_PTR(-EINVAL). The rpc client structure is allocated later. Check
if the client is ready before using the cl_rpcclient pointer.
Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r-- | fs/nfs/client.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c index b4e41dd4d0f..873bf00d51a 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -1868,6 +1868,10 @@ static int nfs_server_list_show(struct seq_file *m, void *v) /* display one transport per line on subsequent lines */ clp = list_entry(v, struct nfs_client, cl_share_link); + /* Check if the client is initialized */ + if (clp->cl_cons_state != NFS_CS_READY) + return 0; + seq_printf(m, "v%u %s %s %3d %s\n", clp->rpc_ops->version, rpc_peeraddr2str(clp->cl_rpcclient, RPC_DISPLAY_HEX_ADDR), |