From 1427ba31264b4f06ec7971612e5b406c5b57efd6 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 1 Jun 2014 06:54:55 +0200 Subject: pc64: fix for unsigned comparsion of (top - base) >= size the rounding of base can make it above top, so have to use signed comparsion. --- sys/src/9/pc64/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/src/9/pc64/main.c b/sys/src/9/pc64/main.c index 47b5e1c85..f0ef162bc 100644 --- a/sys/src/9/pc64/main.c +++ b/sys/src/9/pc64/main.c @@ -278,7 +278,7 @@ preallocpages(void) pm = &palloc.mem[i]; base = ROUND(pm->base, PGLSZ(1)); top = pm->base + (uvlong)pm->npage * BY2PG; - if((base + size) <= VMAPSIZE && (top - base) >= size){ + if((base + size) <= VMAPSIZE && (vlong)(top - base) >= size){ va = base + VMAP; pmap(m->pml4, base | PTEGLOBAL|PTEWRITE|PTEVALID, va, size); palloc.pages = (Page*)va; -- cgit v1.2.3