diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-05-30 13:02:46 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-05-30 13:19:19 -0700 |
commit | c355a2a78d6ebdfdb645221275affb9136b4c667 (patch) | |
tree | 33e6ceb178ae6d82c630c5b34e216bc468276295 /compiler/driver | |
parent | b7f02280f7f56ae94fe7f01e161be0b725b6e4a9 (diff) | |
download | android_art-c355a2a78d6ebdfdb645221275affb9136b4c667.tar.gz android_art-c355a2a78d6ebdfdb645221275affb9136b4c667.tar.bz2 android_art-c355a2a78d6ebdfdb645221275affb9136b4c667.zip |
Fix race condition in MemMap::MapAnonymous.
Previously we were using MAP_FIXED which introduced a serious race
condition if MAP_32BIT was set since it would possibly overwrite
an existing map at the address which we determined was free with
msync. There was a window of time after we had msynced a page where
another thread could map something at that page. The new method
avoids using MAP_FIXED and unmaps allocations which succeed but
aren't in the low 4GB when MAP_32BIT is set.
Bug: 15338094
Bug: 14974497
Change-Id: I57f00baf4143e9fa17fb1d4c2be04b30705a2bfd
Diffstat (limited to 'compiler/driver')
0 files changed, 0 insertions, 0 deletions