Kostik Belousov wrote:
On Tue, May 26, 2009 at 09:39:09PM +0000, Stacey Son wrote:
Author: sson
Date: Tue May 26 21:39:09 2009
New Revision: 192859
URL: http://svn.freebsd.org/changeset/base/192859
Log:
Add the ksyms(4) pseudo driver. The ksyms driver allows a process to
get a quick snapshot of the kernel's symbol table including the symbols
from any loaded modules (the symbols are all merged into one symbol
table). Unlike like other implementations, this ksyms driver maps
memory in the process memory space to store the snapshot at the time
/dev/ksyms is opened. It also checks to see if the process has already
a snapshot open and won't allow it to open /dev/ksyms it again until it
closes first. This prevents kernel and process memory from being
exhausted. Note that /dev/ksyms is used by the lockstat(1) command.
Reviewed by: gallatin kib (freebsd-arch)
Approved by: gnn (mentor)
What is the reason to have ksyms_unmap() ?
ksyms_unmap() is used to free the mapping of the memory when /dev/ksyms
is closed or if the driver fails to create the symbol table snapshot.
Why do you think that checking
for the present mapping of the freed region is neccessary ?
ksyms_unmap() does check to make sure the memory region is mapped since
it is possible that the process could have unmap it or changed its
protection before calling close(). I haven't looked at vm_map_delete()
closely but maybe it make makes this check as well. If so, this check
might be redundant.
-stacey.
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"