Module Name: src Committed By: hannken Date: Wed Jan 17 10:20:12 UTC 2024
Modified Files: src/sys/miscfs/procfs: procfs.h procfs_subr.c procfs_vfsops.c Log Message: Using the exechook to revoke procfs nodes is racy and may deadlock: one thread runs doexechooks() -> procfs_revoke_vnodes() and wants to suspend the file system for vgone(), while another thread runs a forced unmount, has the file system suspended, tries to disestablish the exechook and waits for doexechooks() to complete. Establish/disestablish the exechook on module load/unload instead mount/unmount and use the hashmap to access all procfs nodes for this pid. May fix PR kern/57775 ""panic: unmount: dangling vnode" while umounting procfs" To generate a diff of this commit: cvs rdiff -u -r1.83 -r1.84 src/sys/miscfs/procfs/procfs.h cvs rdiff -u -r1.116 -r1.117 src/sys/miscfs/procfs/procfs_subr.c cvs rdiff -u -r1.112 -r1.113 src/sys/miscfs/procfs/procfs_vfsops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.