Linux NFS development
 help / color / mirror / Atom feed
From: Trond Myklebust <trond.myklebust@primarydata.com>
To: bfields@fieldses.org
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH v2 0/7] Tighten up locking around stateids in knfsd
Date: Fri,  3 Nov 2017 08:00:09 -0400	[thread overview]
Message-ID: <20171103120016.6200-1-trond.myklebust@primarydata.com> (raw)

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


             reply	other threads:[~2017-11-03 12:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-03 12:00 Trond Myklebust [this message]
2017-11-03 12:00 ` [PATCH v2 1/7] nfsd: Fix stateid races between OPEN and CLOSE Trond Myklebust
2017-11-03 12:00   ` [PATCH v2 2/7] nfsd: Fix another OPEN stateid race Trond Myklebust
2017-11-03 12:00     ` [PATCH v2 3/7] nfsd: CLOSE SHOULD return the invalid special stateid for NFSv4.x (x>0) Trond Myklebust
2017-11-03 12:00       ` [PATCH v2 4/7] nfsd: Ensure we don't recognise lock stateids after freeing them Trond Myklebust
2017-11-03 12:00         ` [PATCH v2 5/7] nfsd: Fix race in lock stateid creation Trond Myklebust
2017-11-03 12:00           ` [PATCH v2 6/7] nfsd: Ensure we check stateid validity in the seqid operation checks Trond Myklebust
2017-11-03 12:00             ` [PATCH v2 7/7] nfsd: Fix races with check_stateid_generation() Trond Myklebust
2017-11-07 21:37           ` [PATCH v2 5/7] nfsd: Fix race in lock stateid creation J. Bruce Fields
2017-11-07 20:06 ` [PATCH v2 0/7] Tighten up locking around stateids in knfsd J. Bruce Fields
2017-11-07 20:47   ` J. Bruce Fields
2017-11-07 21:55     ` J. Bruce Fields

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171103120016.6200-1-trond.myklebust@primarydata.com \
    --to=trond.myklebust@primarydata.com \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox