Date: Sun, 7 Oct 2001 12:37:14 -0700 (PDT) From: Dag-Erling Smorgrav <des@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/fs/procfs procfs_vnops.c Message-ID: <200110071937.f97JbE014482@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
des 2001/10/07 12:37:14 PDT
Modified files:
sys/fs/procfs procfs_vnops.c
Log:
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.
Revision Changes Path
1.103 +4 -2 src/sys/fs/procfs/procfs_vnops.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110071937.f97JbE014482>
