NFS: Fix uninitialized rpc_wait_queue
Michael Sterrett reports a NULL pointer dereference on NFSv3 mounts when
CONFIG_NFS_V4 is not set because the NFS UOC rpc_wait_queue has not been
initialized. Move the initialization of the queue out of the CONFIG_NFS_V4
conditional setion.
Fixes: 7d6ddf88c4
("NFS: Add an iocounter wait function for async RPC tasks")
Cc: stable@vger.kernel.org # 4.11+
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
cdb2e53fd6
commit
68ebf8fe3b
|
@ -218,7 +218,6 @@ static void nfs_cb_idr_remove_locked(struct nfs_client *clp)
|
|||
static void pnfs_init_server(struct nfs_server *server)
|
||||
{
|
||||
rpc_init_wait_queue(&server->roc_rpcwaitq, "pNFS ROC");
|
||||
rpc_init_wait_queue(&server->uoc_rpcwaitq, "NFS UOC");
|
||||
}
|
||||
|
||||
#else
|
||||
|
@ -888,6 +887,7 @@ struct nfs_server *nfs_alloc_server(void)
|
|||
ida_init(&server->openowner_id);
|
||||
ida_init(&server->lockowner_id);
|
||||
pnfs_init_server(server);
|
||||
rpc_init_wait_queue(&server->uoc_rpcwaitq, "NFS UOC");
|
||||
|
||||
return server;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue