summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2008-09-21 18:01:34 +0000
committeralc <alc@FreeBSD.org>2008-09-21 18:01:34 +0000
commit409b7f1ce025a8a8dbd698dae2fb9901beb427da (patch)
tree6607a529cf1ad5d1b5289fdd0a898cd4d67fc900 /sys/vm
parentcb1985818d7401b18c3e74e6ef8d091d2d5e7e1e (diff)
downloadFreeBSD-src-409b7f1ce025a8a8dbd698dae2fb9901beb427da.zip
FreeBSD-src-409b7f1ce025a8a8dbd698dae2fb9901beb427da.tar.gz
Prevent an integer overflow in vm_pageout_page_stats() on machines with a
large number of physical pages. PR: 126158 Submitted by: Dmitry Tejblum MFC after: 3 days
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_pageout.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index de17632..49abe42 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -1280,7 +1280,8 @@ vm_pageout_page_stats()
pcount = cnt.v_active_count;
fullintervalcount += vm_pageout_stats_interval;
if (fullintervalcount < vm_pageout_full_stats_interval) {
- tpcount = (vm_pageout_stats_max * cnt.v_active_count) / cnt.v_page_count;
+ tpcount = (int64_t)vm_pageout_stats_max * cnt.v_active_count /
+ cnt.v_page_count;
if (pcount > tpcount)
pcount = tpcount;
} else {
OpenPOWER on IntegriCloud