]> Cypherpunks repositories - gostls13.git/commit
runtime: check the correct sanity condition in the page allocator
authorMichael Anthony Knyszek <mknyszek@google.com>
Sat, 28 Mar 2020 16:11:15 +0000 (16:11 +0000)
committerMichael Knyszek <mknyszek@google.com>
Mon, 30 Mar 2020 14:30:38 +0000 (14:30 +0000)
commit89e13c88e4f9f3a3eea7bf105e5af475727a4c33
tree2ba78b593c50a514f920985cb66f60d9750fcad6
parent0b7c202e98949b530f7f4011efd454164356ba69
runtime: check the correct sanity condition in the page allocator

Currently there are a few sanity checks in the page allocator which
should fail immediately but because it's a check for a negative number
on a uint, it's actually dead-code.

If there's a bug in the page allocator which would cause the sanity
check to fail, this could cause memory corruption by returning an
invalid address (more precisely, one might either see a segfault, or
span overlap).

This change fixes these sanity checks to check the correct condition.

Fixes #38130.

Change-Id: Ia19786cece783d39f26df24dec8788833a6a3f21
Reviewed-on: https://go-review.googlesource.com/c/go/+/226297
Reviewed-by: Giovanni Bajo <rasky@develer.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/runtime/mpagealloc.go
src/runtime/mpagecache.go