On Tue, Apr 09, 2024 at 12:36:21PM +0200, Petr Vorel wrote:
On Tue, Apr 09, 2024 at 08:42:22AM +0200, Petr Vorel wrote:
Hi all,
5.15-stable review patch. If anyone has any objections, please let me know.
From: Jeff Layton jlayton@kernel.org
[ Upstream commit d3aefd2b29ff5ffdeb5c06a7d3191a027a18cdb8 ]
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 Link: https://lore.kernel.org/ltp/Y1%2FP8gDAcWC%2F+VR3@pevik/ Signed-off-by: Jeff Layton jlayton@kernel.org Signed-off-by: Chuck Lever chuck.lever@oracle.com
fs/nfsd/filecache.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c index 0b19eb015c6c8..024adcbe67e95 100644 --- a/fs/nfsd/filecache.c +++ b/fs/nfsd/filecache.c @@ -892,9 +892,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);
I don't know the context (whether the fix is needed for 5.15 and older), but patch does not apply because nfsd_file_unhash_and_dispose() was introduced in ce502f81ba88 ("NFSD: Convert the filecache to use rhashtable") in v6.0-rc1. It was actually renamed from nfsd_file_unhash_and_release_locked() in that commit. Also the context changed - nfsd_file_unhash_and_dispose() was introduced in the commit which is supposed to be fixed in this commit, one would say that this fix is not needed in older kernels (5.15, 5.10 and 5.4; 4.19 has completely different code). But that's a question for Jeff or Chuck.
This is part of a very large backport of nfsd patches to 5.15 to resolve a lot of reported issues, so that might be why it looks odd here. It does seem to compile and boot ok for me, so maybe it's not an issue here as you aren't seeing the other patches in this series?
Hi Greg,
I'm sorry, I should realize that one of the 462 previous patches might have changed the context. If it compiles and boots as whole it should be ok. I'm sorry for the noise.
No noise at all, reviews are good!