From: Greg KH <gregkh@linuxfoundation.org>
To: NeilBrown <neilb@suse.com>
Cc: Anna.Schumaker@Netapp.com, stable@vger.kernel.org
Subject: Re: FAILED: patch "[PATCH] NFS: revalidate "." etc correctly on "open"." failed to apply to 3.18-stable tree
Date: Mon, 4 Dec 2017 13:17:28 +0100 [thread overview]
Message-ID: <20171204121728.GG18589@kroah.com> (raw)
In-Reply-To: <874lpdyh1w.fsf@notabene.neil.brown.name>
On Wed, Nov 29, 2017 at 01:06:35PM +1100, NeilBrown wrote:
>
> Subject: [PATCH] NFS: revalidate "." etc correctly on "open".
>
> commit b688741cb06695312f18b730653d6611e1bad28d upstream.
>
> For correct close-to-open semantics, NFS must validate
> the change attribute of a directory (or file) on open.
>
> Since commit ecf3d1f1aa74 ("vfs: kill FS_REVAL_DOT by adding a
> d_weak_revalidate dentry op"), open() of "." or a path ending ".." is
> not revalidated reliably (except when that direct is a mount point).
>
> Prior to that commit, "." was revalidated using nfs_lookup_revalidate()
> which checks the LOOKUP_OPEN flag and forces revalidation if the flag is
> set.
> Since that commit, nfs_weak_revalidate() is used for NFSv3 (which
> ignores the flags) and nothing is used for NFSv4.
>
> This is fixed by using nfs_lookup_verify_inode() in
> nfs_weak_revalidate(). This does the revalidation exactly when needed.
> Also, add a definition of .d_weak_revalidate for NFSv4.
>
> The incorrect behavior is easily demonstrated by running "echo *" in
> some non-mountpoint NFS directory while watching network traffic.
> Without this patch, "echo *" sometimes doesn't produce any traffic.
> With the patch it always does.
>
> Fixes: ecf3d1f1aa74 ("vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op")
> cc: stable@vger.kernel.org (3.9+)
> Signed-off-by: NeilBrown <neilb@suse.com>
> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
> ---
> fs/nfs/dir.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> This version applies to 3.18.y 4.4.y and 4.9.y
Thanks for the backport, now applied.
greg k-h
prev parent reply other threads:[~2017-12-04 12:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-27 15:20 FAILED: patch "[PATCH] NFS: revalidate "." etc correctly on "open"." failed to apply to 3.18-stable tree gregkh
2017-11-29 2:06 ` NeilBrown
2017-12-04 12:17 ` Greg KH [this message]
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=20171204121728.GG18589@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=Anna.Schumaker@Netapp.com \
--cc=neilb@suse.com \
--cc=stable@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.