summaryrefslogtreecommitdiffstats
path: root/fs/lockd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2008-11-20 21:36:17 +0100
committerJ. Bruce Fields <bfields@citi.umich.edu>2008-11-24 17:12:48 +0100
commit2c5e76158fcea6e3b9536a74efa7b5e2e846d374 (patch)
treedca1fcd75e3091b9ffe14b5461714fed1542dbba /fs/lockd
parentFix nfsd truncation of readdir results (diff)
downloadlinux-2c5e76158fcea6e3b9536a74efa7b5e2e846d374.tar.xz
linux-2c5e76158fcea6e3b9536a74efa7b5e2e846d374.zip
nfsd: clean up grace period on early exit
If nfsd was shut down before the grace period ended, we could end up with a freed object still on grace_list. Thanks to Jeff Moyer for reporting the resulting list corruption warnings. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Tested-by: Jeff Moyer <jmoyer@redhat.com>
Diffstat (limited to 'fs/lockd')
-rw-r--r--fs/lockd/svc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index c631a83931ce..56b076736b56 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -181,6 +181,7 @@ lockd(void *vrqstp)
}
flush_signals(current);
cancel_delayed_work_sync(&grace_period_end);
+ locks_end_grace(&lockd_manager);
if (nlmsvc_ops)
nlmsvc_invalidate_all();
nlm_shutdown_hosts();