All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: Chuck Lever III <chuck.lever@oracle.com>
Cc: Jeff Layton <jlayton@kernel.org>,
	Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v2] nfsd: fix net-namespace logic in __nfsd_file_cache_purge
Date: Mon, 31 Oct 2022 19:45:00 +0100	[thread overview]
Message-ID: <Y2AXrMEim07Y0LLY@pevik> (raw)
In-Reply-To: <BCEEEF05-11E3-4E31-BDE1-DDCA65A5AB6F@oracle.com>



> > On Oct 31, 2022, at 11:49 AM, Jeff Layton <jlayton@kernel.org> wrote:

> > If the namespace doesn't match the one in "net", then we'll continue,
> > but that doesn't cause another rhashtable_walk_next call, so it will
> > loop infinitely.

> > Fixes: ce502f81ba88 ("NFSD: Convert the filecache to use rhashtable")
> > Reported-by: Petr Vorel <pvorel@suse.cz>
> > Signed-off-by: Jeff Layton <jlayton@kernel.org>
> > ---
> > fs/nfsd/filecache.c | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)

> Thank you! Applied and pushed to for-rc. I'll send a PR in a few days.

Thanks for a quick action!

What a shame you didn't put link to the report, which contains reproducer.
https://lore.kernel.org/ltp/Y1%2FP8gDAcWC%2F+VR3@pevik/

Kind regards,
Petr

> > The v1 patch applies cleanly to v6.0, but not to Chuck's for-next
> > branch. This one should be suitable there.
> > diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c
> > index 98c6b5f51bc8..4a8aa7cd8354 100644
> > --- a/fs/nfsd/filecache.c
> > +++ b/fs/nfsd/filecache.c
> > @@ -890,9 +890,8 @@ __nfsd_file_cache_purge(struct net *net)

> > 		nf = rhashtable_walk_next(&iter);
> > 		while (!IS_ERR_OR_NULL(nf)) {
> > -			if (net && nf->nf_net != net)
> > -				continue;
> > -			nfsd_file_unhash_and_dispose(nf, &dispose);
> > +			if (!net || nf->nf_net == net)
> > +				nfsd_file_unhash_and_dispose(nf, &dispose);
> > 			nf = rhashtable_walk_next(&iter);
> > 		}

> > -- 
> > 2.38.1

  reply	other threads:[~2022-10-31 18:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-31 15:49 [PATCH v2] nfsd: fix net-namespace logic in __nfsd_file_cache_purge Jeff Layton
2022-10-31 17:10 ` Chuck Lever III
2022-10-31 18:45   ` Petr Vorel [this message]
2022-10-31 18:46     ` Jeff Layton
2022-10-31 18:47       ` Chuck Lever III
2022-10-31 19:05         ` Petr Vorel
2022-11-04 21:21 ` Petr Vorel
2022-11-09 15:53   ` [PATCH v2] nfsd: fix net-namespace logic in __nfsd_file_cache_purge #forregzbot Thorsten Leemhuis

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=Y2AXrMEim07Y0LLY@pevik \
    --to=pvorel@suse.cz \
    --cc=chuck.lever@oracle.com \
    --cc=jlayton@kernel.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 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.