diff options
author | Brian Feldman <green@FreeBSD.org> | 2004-03-14 15:57:45 +0000 |
---|---|---|
committer | Brian Feldman <green@FreeBSD.org> | 2004-03-14 15:57:45 +0000 |
commit | 6fedf947751526ee3a82cea9148b0488274c9ee6 (patch) | |
tree | 7475a244fdc1242ce72ad9a053734abbab36c37a /sys | |
parent | bcfe6d8b26de2a5eaa8d67796a557891603b887e (diff) | |
download | src-6fedf947751526ee3a82cea9148b0488274c9ee6.tar.gz src-6fedf947751526ee3a82cea9148b0488274c9ee6.zip |
When taking event callbacks (like process_exit) out from under Giant, those
which do not lock Giant themselves will be exposed. Unbreak pfs_exit().
Notes
Notes:
svn path=/head/; revision=126975
Diffstat (limited to 'sys')
-rw-r--r-- | sys/fs/pseudofs/pseudofs_vncache.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/fs/pseudofs/pseudofs_vncache.c b/sys/fs/pseudofs/pseudofs_vncache.c index 31b60e19e9cb..49258ab963fa 100644 --- a/sys/fs/pseudofs/pseudofs_vncache.c +++ b/sys/fs/pseudofs/pseudofs_vncache.c @@ -222,6 +222,7 @@ pfs_exit(void *arg, struct proc *p) { struct pfs_vdata *pvd, *prev; + mtx_lock(&Giant); mtx_lock(&pfs_vncache_mutex); /* * The double loop is necessary because vgone() indirectly @@ -239,6 +240,7 @@ pfs_exit(void *arg, struct proc *p) break; } mtx_unlock(&pfs_vncache_mutex); + mtx_unlock(&Giant); } /* |