summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Bugaev <bugaevc@gmail.com>2021-05-06 15:56:29 +0300
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-05-06 23:59:46 +0200
commit9dfc92959856e660c73c1b4d92d4b1e5e3f98b76 (patch)
tree5e3c2e72674b0ea188f1d7ff9446736c5b83c16f
parent7b3815d91a49672864ad3cb2515eba01320d8360 (diff)
libpager: Store pagemapsize as vm_size_t
On a 64-bit system, there can be a lot more pages than a 32-bit int can fit. Message-Id: <20210506125631.79117-5-bugaevc@gmail.com>
-rw-r--r--libpager/pagemap.c2
-rw-r--r--libpager/priv.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/libpager/pagemap.c b/libpager/pagemap.c
index 963f6567..63c5f44d 100644
--- a/libpager/pagemap.c
+++ b/libpager/pagemap.c
@@ -29,7 +29,7 @@ _pager_pagemap_resize (struct pager *p, vm_address_t off)
if (p->pagemapsize < off)
{
void *newaddr;
- int newsize = round_page (off);
+ vm_size_t newsize = round_page (off);
newaddr = mmap (0, newsize * sizeof (*p->pagemap),
PROT_READ|PROT_WRITE, MAP_ANON, 0, 0);
diff --git a/libpager/priv.h b/libpager/priv.h
index 5d6a07e6..89af52ba 100644
--- a/libpager/priv.h
+++ b/libpager/priv.h
@@ -66,7 +66,7 @@ struct pager
#endif
short *pagemap;
- int pagemapsize; /* number of elements in PAGEMAP */
+ vm_size_t pagemapsize; /* number of elements in PAGEMAP */
};
struct lock_request