mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 03:50:24 +09:00
nfsd: don't destroy global nfs4_file table in per-net shutdown
[ Upstream commit4102db175b] The nfs4_file table is global, so shutting it down when a containerized nfsd is shut down is wrong and can lead to double-frees. Tear down the nfs4_file_rhltable in nfs4_state_shutdown instead of nfs4_state_shutdown_net. Fixes:d47b295e8d("NFSD: Use rhashtable for managing nfs4_file objects") Link: https://bugzilla.redhat.com/show_bug.cgi?id=2169017 Reported-by: JianHong Yin <jiyin@redhat.com> Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f3ea5ec83d
commit
56587affe2
@@ -8212,7 +8212,6 @@ nfs4_state_shutdown_net(struct net *net)
|
||||
|
||||
nfsd4_client_tracking_exit(net);
|
||||
nfs4_state_destroy_net(net);
|
||||
rhltable_destroy(&nfs4_file_rhltable);
|
||||
#ifdef CONFIG_NFSD_V4_2_INTER_SSC
|
||||
nfsd4_ssc_shutdown_umount(nn);
|
||||
#endif
|
||||
@@ -8222,6 +8221,7 @@ void
|
||||
nfs4_state_shutdown(void)
|
||||
{
|
||||
nfsd4_destroy_callback_queue();
|
||||
rhltable_destroy(&nfs4_file_rhltable);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user