diff options
author | peter <peter@FreeBSD.org> | 1999-12-11 10:21:34 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1999-12-11 10:21:34 +0000 |
commit | a9e62f9902f21861f553647dab07e745ca6e2b41 (patch) | |
tree | aeec71b40afcc75f02496a5be5ff112c48096838 /sys/fs | |
parent | 2f2990e953cdb9c6adc40039edc1ba06d8fa7188 (diff) | |
download | FreeBSD-src-a9e62f9902f21861f553647dab07e745ca6e2b41.zip FreeBSD-src-a9e62f9902f21861f553647dab07e745ca6e2b41.tar.gz |
Don't simulate a pseudo address-space beyond VM_MAXUSER_ADDRESS that
maps onto the upages. We used to use this extensively, particularly
for ps and gdb. Both of these have been "fixed". ps gets the p_stats
via eproc along with all the other stats, and gdb uses the regs, fpregs
etc files.
Once apon a time the UPAGES were mapped here, but that changed back
in January '96. This essentially kills my revisions 1.16 and 1.17.
The 2-page "hole" above the stack can be reclaimed now.
Diffstat (limited to 'sys/fs')
-rw-r--r-- | sys/fs/procfs/procfs_mem.c | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/sys/fs/procfs/procfs_mem.c b/sys/fs/procfs/procfs_mem.c index 8b785bf..ebfe53b 100644 --- a/sys/fs/procfs/procfs_mem.c +++ b/sys/fs/procfs/procfs_mem.c @@ -128,46 +128,6 @@ procfs_rwmem(curp, p, uio) */ len = min(PAGE_SIZE - page_offset, uio->uio_resid); - if (uva >= VM_MAXUSER_ADDRESS) { - vm_offset_t tkva; - - if (writing || - uva >= VM_MAXUSER_ADDRESS + UPAGES * PAGE_SIZE || - (ptrace_read_u_check(p, - uva - (vm_offset_t) VM_MAXUSER_ADDRESS, - (size_t) len) && - !procfs_kmemaccess(curp))) { - error = 0; - break; - } - - /* we are reading the "U area", force it into core */ - PHOLD(p); - - /* sanity check */ - if (!(p->p_flag & P_INMEM)) { - /* aiee! */ - PRELE(p); - error = EFAULT; - break; - } - - /* populate the ptrace/procfs area */ - p->p_addr->u_kproc.kp_proc = *p; - fill_eproc (p, &p->p_addr->u_kproc.kp_eproc); - - /* locate the in-core address */ - tkva = (uintptr_t)p->p_addr + uva - VM_MAXUSER_ADDRESS; - - /* transfer it */ - error = uiomove((caddr_t)tkva, len, uio); - - /* let the pages go */ - PRELE(p); - - continue; - } - /* * Fault the page on behalf of the process */ |