summaryrefslogtreecommitdiffstats
path: root/sys/fs/procfs/procfs_map.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/fs/procfs/procfs_map.c')
-rw-r--r--sys/fs/procfs/procfs_map.c37
1 files changed, 13 insertions, 24 deletions
diff --git a/sys/fs/procfs/procfs_map.c b/sys/fs/procfs/procfs_map.c
index 945639a..cae1fc4 100644
--- a/sys/fs/procfs/procfs_map.c
+++ b/sys/fs/procfs/procfs_map.c
@@ -44,8 +44,9 @@
#include <sys/lock.h>
#include <sys/mutex.h>
#include <sys/proc.h>
-#include <sys/vnode.h>
+#include <sys/uio.h>
+#include <fs/pseudofs/pseudofs.h>
#include <fs/procfs/procfs.h>
#include <vm/vm.h>
@@ -68,11 +69,7 @@
* can try a bigger buffer.
*/
int
-procfs_domap(curp, p, pfs, uio)
- struct proc *curp;
- struct proc *p;
- struct pfsnode *pfs;
- struct uio *uio;
+procfs_doprocmap(PFS_FILL_ARGS)
{
int len;
int error;
@@ -90,7 +87,7 @@ procfs_domap(curp, p, pfs, uio)
return (0);
error = 0;
- if (map != &curproc->p_vmspace->vm_map)
+ if (map != &curthread->td_proc->p_vmspace->vm_map)
vm_map_lock_read(map);
for (entry = map->header.next;
((uio->uio_resid > 0) && (entry != &map->header));
@@ -118,23 +115,22 @@ procfs_domap(curp, p, pfs, uio)
addr += PAGE_SIZE;
}
- for( lobj = tobj = obj; tobj; tobj = tobj->backing_object)
+ for (lobj = tobj = obj; tobj; tobj = tobj->backing_object)
lobj = tobj;
if (lobj) {
switch(lobj->type) {
-
-default:
-case OBJT_DEFAULT:
+ default:
+ case OBJT_DEFAULT:
type = "default";
break;
-case OBJT_VNODE:
+ case OBJT_VNODE:
type = "vnode";
break;
-case OBJT_SWAP:
+ case OBJT_SWAP:
type = "swap";
break;
-case OBJT_DEVICE:
+ case OBJT_DEVICE:
type = "device";
break;
}
@@ -148,13 +144,12 @@ case OBJT_DEVICE:
ref_count = 0;
shadow_count = 0;
}
-
/*
* format:
* start, end, resident, private resident, cow, access, type.
*/
- snprintf(mebuffer, sizeof(mebuffer),
+ snprintf(mebuffer, sizeof mebuffer,
"0x%lx 0x%lx %d %d %p %s%s%s %d %d 0x%x %s %s %s\n",
(u_long)entry->start, (u_long)entry->end,
resident, privateresident, obj,
@@ -175,14 +170,8 @@ case OBJT_DEVICE:
if (error)
break;
}
- if (map != &curproc->p_vmspace->vm_map)
+ if (map != &curthread->td_proc->p_vmspace->vm_map)
vm_map_unlock_read(map);
- return error;
-}
-
-int
-procfs_validmap(struct thread *td)
-{
- return ((td->td_proc->p_flag & P_SYSTEM) == 0);
+ return (error);
}
OpenPOWER on IntegriCloud