Patch "NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success." has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success.
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
nfsv4.1-nfs4_fl_prepare_ds-must-be-careful-about-reporting-success.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
cfd278c280f997cf2fe4662e0acab0fe465f637bMon Sep 17 00:00:00 2001
From: NeilBrown <[email protected]>
Date: Mon, 19 Dec 2016 11:19:31 +1100
Subject: NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success.
From: NeilBrown <[email protected]>
commit cfd278c280f997cf2fe4662e0acab0fe465f637b upstream.
Various places assume that if nfs4_fl_prepare_ds() turns a non-NULL 'ds', then ds->ds_clp will also be non-NULL.
This is not necessasrily true in the case when the process received a fatal signal while nfs4_pnfs_ds_connect is waiting in nfs4_wait_ds_connect().
In that case ->ds_clp may not be set, and the devid may not recently have been marked unavailable.
So add a test for ds_clp == NULL and return NULL in that case.
--- fs/nfs/filelayout/filelayoutdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
fs/nfs/filelayout/filelayoutdev.c +2 -1
@@ -283,7 +283,8 @@ nfs4_fl_prepare_ds(struct pnfs_layout_se s->nfs_client->cl_rpcclient->cl_auth->au_flavor); out_test_devid: -if (filelayout_test_devid_unavailable (devid)) +if (ret->ds_clp ==NULL || +filelayout_test_devid_unavailable (devid)) ret =NULL ; out:return ret;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/nfsv4.1-nfs4_fl_prepare_ds-must-be-careful-about-reporting-success.patch