Mark (deleted) maps as unreadable.

When running thread stress, or doing lots of local unwinds, ART
creates a lot of ashmem segments that exist and then are removed.
The problem is that the map caching for local unwinds is built on
the assumption that maps don't get deleted that often. Unfortunately,
these transient maps can cause crashes when, eventually, an unwind
tries to read from an address in a transient map.

To fix this, mark any map that ends in (deleted) that is not executable
and is not a shared library as unreadable.

Bug: 26807329
Change-Id: If06fe224c3b6f72776c96ce3e939cc755a2bf731
1 file changed