]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: check that SysReserve returns aligned memory
authorRuss Cox <rsc@golang.org>
Fri, 11 Feb 2011 19:32:34 +0000 (14:32 -0500)
committerRuss Cox <rsc@golang.org>
Fri, 11 Feb 2011 19:32:34 +0000 (14:32 -0500)
R=iant, iant2
CC=golang-dev
https://golang.org/cl/4180043

src/pkg/runtime/malloc.goc

index 18652d71a6c380617d2cd7f1efb47a4e4db58594..70b85d68d77c6de7c45bd1b10fb3eda66cf38c46 100644 (file)
@@ -297,6 +297,9 @@ runtime·mallocinit(void)
                if(p == nil)
                        runtime·throw("runtime: cannot reserve arena virtual address space");
        }
+       if((uintptr)p & (((uintptr)1<<PageShift)-1))
+               runtime·throw("runtime: SysReserve returned unaligned address");
+
        runtime·mheap.bitmap = p;
        runtime·mheap.arena_start = p + bitmap_size;
        runtime·mheap.arena_used = runtime·mheap.arena_start;