From 9e00d2a9a47d03b41e88407eb89395b870a104a5 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 19 Jan 2011 17:55:13 +0100 Subject: lib/util: fix rounding to page size in allocate_anonymous_shared() metze --- lib/util/util.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/util/util.c b/lib/util/util.c index 42beed4bcb..8928026e80 100644 --- a/lib/util/util.c +++ b/lib/util/util.c @@ -941,10 +941,14 @@ void *allocate_anonymous_shared(size_t bufsz) { void *buf; size_t pagesz = getpagesize(); + size_t pagecnt; + /* round up to full pages */ + pagecnt = bufsz / pagesz; if (bufsz % pagesz) { - bufsz = (bufsz + pagesz) % pagesz; /* round up to pagesz */ + pagecnt += 1; } + bufsz = pagesz * pagecnt; #ifdef MAP_ANON /* BSD */ -- cgit