summaryrefslogtreecommitdiffstats
path: root/sys/fs/procfs
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1994-10-18 04:40:41 +0000
committerdg <dg@FreeBSD.org>1994-10-18 04:40:41 +0000
commit3826d4d70eb8482713a54815afd8b14894800dc3 (patch)
treef0a6905e50c54893b88f390c62845cd33e28cc8b /sys/fs/procfs
parent56d17bcedee6d323e22d7de8670296390499c6b5 (diff)
downloadFreeBSD-src-3826d4d70eb8482713a54815afd8b14894800dc3.zip
FreeBSD-src-3826d4d70eb8482713a54815afd8b14894800dc3.tar.gz
Fixed bug I just introduced that would have allowed a user to clobber
his kernel stack.
Diffstat (limited to 'sys/fs/procfs')
-rw-r--r--sys/fs/procfs/procfs_mem.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/fs/procfs/procfs_mem.c b/sys/fs/procfs/procfs_mem.c
index 65cde1f..3b94a99 100644
--- a/sys/fs/procfs/procfs_mem.c
+++ b/sys/fs/procfs/procfs_mem.c
@@ -37,7 +37,7 @@
*
* @(#)procfs_mem.c 8.4 (Berkeley) 1/21/94
*
- * $Id: procfs_mem.c,v 1.3 1994/09/15 19:47:47 bde Exp $
+ * $Id: procfs_mem.c,v 1.4 1994/10/18 04:26:53 davidg Exp $
*/
/*
@@ -86,9 +86,11 @@ procfs_rwmem(p, uio)
int fix_prot;
uva = (vm_offset_t) uio->uio_offset;
- if (uva >= VM_MAXUSER_ADDRESS + UPAGES * PAGE_SIZE) {
- error = 0;
- break;
+ if (uva >= VM_MAXUSER_ADDRESS) {
+ if (writing || (uva >= (VM_MAXUSER_ADDRESS + UPAGES * PAGE_SIZE))) {
+ error = 0;
+ break;
+ }
}
/*
OpenPOWER on IntegriCloud