diff options
author | des <des@FreeBSD.org> | 2001-10-07 19:37:13 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2001-10-07 19:37:13 +0000 |
commit | 532068abe23ddf7ecfe0958faa3a7146281daba0 (patch) | |
tree | cf33e36b2e948346ad7c5f6bb35be7808f30f56b /sys/fs/procfs/procfs_ctl.c | |
parent | aadf7f21917a27a29284be548ff0f19df50b9c37 (diff) | |
download | FreeBSD-src-532068abe23ddf7ecfe0958faa3a7146281daba0.zip FreeBSD-src-532068abe23ddf7ecfe0958faa3a7146281daba0.tar.gz |
In procfs_readdir(), when the directory being read was a process directory,
the target process was being held locked during the uiomove() call. If the
process calling readdir() was the same as the target process (for instance
'ls /proc/curproc/'), and uiomove() caused a page fault, the result would
be a proc lock recursion. I have no idea how long this has been broken -
possibly ever since pfind() was changed to lock the process it returns.
Also replace the one and only call to procfs_findtextvp() with a direct
test of td->td_proc->p_textvp.
Diffstat (limited to 'sys/fs/procfs/procfs_ctl.c')
0 files changed, 0 insertions, 0 deletions