提交 8ef32955 编写于 作者: P Petr Vandrovec 提交者: Anna Schumaker

NFS: Ignore connections that have cl_rpcclient uninitialized

cl_rpcclient starts as ERR_PTR(-EINVAL), and connections like that
are floating freely through the system.  Most places check whether
pointer is valid before dereferencing it, but newly added code
in nfs_match_client does not.

Which causes crashes when more than one NFS mount point is present.
Signed-off-by: NPetr Vandrovec <petr@vandrovec.name>
Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
上级 bb29dd84
...@@ -314,7 +314,8 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat ...@@ -314,7 +314,8 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat
/* Match the full socket address */ /* Match the full socket address */
if (!rpc_cmp_addr_port(sap, clap)) if (!rpc_cmp_addr_port(sap, clap))
/* Match all xprt_switch full socket addresses */ /* Match all xprt_switch full socket addresses */
if (!rpc_clnt_xprt_switch_has_addr(clp->cl_rpcclient, if (IS_ERR(clp->cl_rpcclient) ||
!rpc_clnt_xprt_switch_has_addr(clp->cl_rpcclient,
sap)) sap))
continue; continue;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册