nfs: check hostname in nfs_get_client
We reference cl_hostname in many places. Add a check to make sure it exists. Signed-off-by: Peng Tao <tao.peng@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Родитель
a363e32e94
Коммит
31434f496a
|
@ -482,8 +482,13 @@ nfs_get_client(const struct nfs_client_initdata *cl_init,
|
||||||
struct nfs_net *nn = net_generic(cl_init->net, nfs_net_id);
|
struct nfs_net *nn = net_generic(cl_init->net, nfs_net_id);
|
||||||
const struct nfs_rpc_ops *rpc_ops = cl_init->nfs_mod->rpc_ops;
|
const struct nfs_rpc_ops *rpc_ops = cl_init->nfs_mod->rpc_ops;
|
||||||
|
|
||||||
|
if (cl_init->hostname == NULL) {
|
||||||
|
WARN_ON(1);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
dprintk("--> nfs_get_client(%s,v%u)\n",
|
dprintk("--> nfs_get_client(%s,v%u)\n",
|
||||||
cl_init->hostname ?: "", rpc_ops->version);
|
cl_init->hostname, rpc_ops->version);
|
||||||
|
|
||||||
/* see if the client already exists */
|
/* see if the client already exists */
|
||||||
do {
|
do {
|
||||||
|
@ -510,7 +515,7 @@ nfs_get_client(const struct nfs_client_initdata *cl_init,
|
||||||
} while (!IS_ERR(new));
|
} while (!IS_ERR(new));
|
||||||
|
|
||||||
dprintk("<-- nfs_get_client() Failed to find %s (%ld)\n",
|
dprintk("<-- nfs_get_client() Failed to find %s (%ld)\n",
|
||||||
cl_init->hostname ?: "", PTR_ERR(new));
|
cl_init->hostname, PTR_ERR(new));
|
||||||
return new;
|
return new;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(nfs_get_client);
|
EXPORT_SYMBOL_GPL(nfs_get_client);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче