]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
nfsd: validate the nfsd_serv pointer before calling svc_wake_up
authorJeff Layton <jlayton@kernel.org>
Sun, 26 Jan 2025 01:13:18 +0000 (20:13 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Feb 2025 13:01:14 +0000 (14:01 +0100)
commita88ca5d6d9652fd34b4c9d8bfcf8d40d8e9acb96
tree854cd113b2005ba719fb58b578afe175b174409c
parentcedfbb92cf97a6bff3d25633001d9c44442ee854
nfsd: validate the nfsd_serv pointer before calling svc_wake_up

commit b9382e29ca538b879645899ce45d652a304e2ed2 upstream.

nfsd_file_dispose_list_delayed can be called from the filecache
laundrette, which is shut down after the nfsd threads are shut down and
the nfsd_serv pointer is cleared. If nn->nfsd_serv is NULL then there
are no threads to wake.

Ensure that the nn->nfsd_serv pointer is non-NULL before calling
svc_wake_up in nfsd_file_dispose_list_delayed. This is safe since the
svc_serv is not freed until after the filecache laundrette is cancelled.

Reported-by: Salvatore Bonaccorso <carnil@debian.org>
Closes: https://bugs.debian.org/1093734
Fixes: ffb402596147 ("nfsd: Don't leave work of closing files to a work queue")
Cc: stable@vger.kernel.org
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: NeilBrown <neilb@suse.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/filecache.c