summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authorluoqi <luoqi@FreeBSD.org>1999-02-19 19:14:48 +0000
committerluoqi <luoqi@FreeBSD.org>1999-02-19 19:14:48 +0000
commite0559c2622dd5910cbc4e00c4cf297fddf071801 (patch)
treef5c87565c07a9e872932b450c33c4564b3d41ef5 /sys/vm
parentfd3fec48014ad97346e4c5f1f527574d04ab0496 (diff)
downloadFreeBSD-src-e0559c2622dd5910cbc4e00c4cf297fddf071801.zip
FreeBSD-src-e0559c2622dd5910cbc4e00c4cf297fddf071801.tar.gz
Eliminate a possible numerical overflow.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_pageout.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 9181635..5f1b56d 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -1422,8 +1422,7 @@ vm_daemon()
*/
for (p = allproc.lh_first; p != 0; p = p->p_list.le_next) {
- quad_t limit;
- vm_offset_t size;
+ vm_pindex_t limit, size;
/*
* if this is a system process or if we have already
@@ -1442,8 +1441,9 @@ vm_daemon()
/*
* get a limit
*/
- limit = qmin(p->p_rlimit[RLIMIT_RSS].rlim_cur,
- p->p_rlimit[RLIMIT_RSS].rlim_max);
+ limit = OFF_TO_IDX(
+ qmin(p->p_rlimit[RLIMIT_RSS].rlim_cur,
+ p->p_rlimit[RLIMIT_RSS].rlim_max));
/*
* let processes that are swapped out really be
@@ -1453,10 +1453,10 @@ vm_daemon()
if ((p->p_flag & P_INMEM) == 0)
limit = 0; /* XXX */
- size = vmspace_resident_count(p->p_vmspace) * PAGE_SIZE;
+ size = vmspace_resident_count(p->p_vmspace);
if (limit >= 0 && size >= limit) {
- vm_pageout_map_deactivate_pages(&p->p_vmspace->vm_map,
- (vm_pindex_t)(limit >> PAGE_SHIFT) );
+ vm_pageout_map_deactivate_pages(
+ &p->p_vmspace->vm_map, limit);
}
}
}
OpenPOWER on IntegriCloud