Map SVM regions at a sane offset on arm64 42/9342/2
authorBrian Brooks <brian.brooks@arm.com>
Wed, 8 Nov 2017 03:28:42 +0000 (21:28 -0600)
committerDamjan Marion <dmarion.lists@gmail.com>
Fri, 10 Nov 2017 22:26:10 +0000 (22:26 +0000)
Mapping shared virtual memory at 0x30000000, which appears to be derived
from x86-32, turns out to be too close to the heap on arm64 systems. The
symptoms of memory corruption were random and included crashes in the
Python runtime and what appeared to be corruption of malloc's internal
mutex. Thanks to Gabriel Ganne for pointing out that disabling ASLR seemed
to mitigate the situation.

This patch maps SVM regions at an offset from the arm64 kernel constant
TASK_UNMAPPED_BASE and also assumes a 48-bit VA (for Ubuntu).

Change-Id: I642e5fe83344ab9b5c66c93e0cf1575c17251f3b
Signed-off-by: Brian Brooks <brian.brooks@arm.com>

No differences found