+ <li>bionic: avoid adding an extra guard page to the main thread's pthread_internal_t since it serves no purpose (the stack is in a dedicated mapping from the kernel and the stack guard is immediately before pthread_internal_t) and it causes a crash for incorrect anti-tampering code shared across many banking apps which reads /proc/self/maps to find the main thread's thread-local data including pthread_internal_t based on mapping name and then tries to access the internal libc data stored in an entirely internal libc format without checking if there's a guard page (these anti-tampering checks serve no valid security purpose, cause these apps to break on major Android releases and hinder OS security hardening due to compatibility issues with their incorrect code)</li>
0 commit comments