This patchset aims to tighten up the locking rules around stateids to ensure that knfsd does not reuse stateids that have already been closed or invalidated. The aim is to ensure we enforce the RFC5661 and RFC7530 rules concerning stateid initialisation and updates. v2: - Add a fix for when nfs4_get_vfs_file() fails in nfsd4_process_open2() - Add a fix for byte range lock creation Note that byte range locks are not completely fixed. The remaining task of ensuring that locks don't conflict with CLOSE has been left as an exercise for the reviewer. Trond Myklebust (7): nfsd: Fix stateid races between OPEN and CLOSE nfsd: Fix another OPEN stateid race nfsd: CLOSE SHOULD return the invalid special stateid for NFSv4.x (x>0) nfsd: Ensure we don't recognise lock stateids after freeing them nfsd: Fix race in lock stateid creation nfsd: Ensure we check stateid validity in the seqid operation checks nfsd: Fix races with check_stateid_generation() fs/nfsd/nfs4state.c | 254 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 166 insertions(+), 88 deletions(-) -- 2.13.6 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html