On Fri, Jul 18, 2025 at 11:26:14AM +1000, NeilBrown wrote: > If two calls to nfsd_open_local_fh() race and both successfully call > nfsd_file_acquire_local(), they will both get an extra reference to the > net to accompany the file reference stored in *pnf. > > One of them will fail to store (using xchg()) the file reference in > *pnf and will drop that reference but WONT drop the accompanying > reference to the net. This leak means that when the nfs server is shut > down it will hang in nfsd_shutdown_net() waiting for > &nn->nfsd_net_free_done. > > This patch adds the missing nfsd_net_put(). > > Reported-by: Mike Snitzer <snitzer@xxxxxxxxxx> > Fixes: e6f7e1487ab5 ("nfs_localio: simplify interface to nfsd for getting nfsd_file") > Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Tested-by: Mike Snitzer <snitzer@xxxxxxxxxx> Reviewed-by: Mike Snitzer <snitzer@xxxxxxxxxx> Looks really solid now, thanks! Mike