]> Cypherpunks repositories - gostls13.git/commit
runtime: fix stackFromSystem returning memory
authorAustin Clements <austin@google.com>
Thu, 18 May 2017 17:59:00 +0000 (13:59 -0400)
committerAustin Clements <austin@google.com>
Tue, 23 May 2017 20:11:07 +0000 (20:11 +0000)
commit8a1c5b2e486be7a2df7667582a1b8cd53c8c7745
tree7eacd4aad10644d12d8638bc10807de5214cc7c7
parente16944da0e9485db83014e9377860c80cd20f363
runtime: fix stackFromSystem returning memory

The stackFromSystem debug mode has two problems:

1) It rounds the stack allocation to _PageSize. If the physical page
size is >8K, this can cause unmapping the memory later to either
under-unmap or over-unmap.

2) It doesn't return the rounded-up allocation size to its caller, so
when we later unmap the memory, we may pass the wrong length.

Fix these problems by rounding the size up to the physical page size
and putting that rounded-up size in the returned stack bounds.

Fixes #17289.

Change-Id: I6b854af3b06bb16e3750798397bb5e2a722ec1cb
Reviewed-on: https://go-review.googlesource.com/43636
Reviewed-by: Keith Randall <khr@golang.org>
src/runtime/stack.go