Re: [PATCH] nfsd: validate the nfsd_serv pointer before calling svc_wake_up

NeilBrown
2025-01-29T21:13:45Z

On Wed, 29 Jan 2025, cel@kernel.org wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
>
> On Sat, 25 Jan 2025 20:13:18 -0500, Jeff Layton wrote:
> > 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.
> >
> > [...]
>
> Applied to nfsd-testing, thanks!
>
> Test experience should demonstrate whether more strict memory
> ordering semantics are needed.

No it won't. The need for READ_ONCE is theoretical, not - in this case
- practical.

“Program testing can be used to show the presence of bugs, but never to show their absence!”
― Edsger W. Dijkstra

NeilBrown

>
> [1/1] nfsd: validate the nfsd_serv pointer before calling svc_wake_up
> commit: 363683ced1718d66ad54e1bdf52d41d544f783b2
>
> --
> Chuck Lever
>
>