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: Petr Vandrovec <petr@vandrovec.name> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
bb29dd8433
commit
8ef3295530
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue