linux-nfs / nfsd

Linux kernel source tree
Other
0 stars 0 forks source link

Service/transport shutdown should be ordered #34

Open chucklever opened 7 months ago

chucklever commented 7 months ago

This was bugzilla.linux-nfs.org 409

[Chuck Lever 2023-05-19 14:58:34 UTC] I expected that service shutdown should unregister with the portmapper, close service listeners so no new connections can be established, then close the children last. The current code appears to close transports in no order, then unregister.

Note that if a socket listener happens to be closed first, that frees the svc_sock that might be relied upon by children sockets (eg, in svc_tcp_listen_data_ready, but that has been fixed). Pinning the svc_xprt won't help since that does not prevent release of socket-specific memory.