The code in SectionMemoryManager.cpp unnecessarily maps read-only data sections with the READ+EXECUTE flags. This is undesirable from a security stand-point. Moreover, on the Fuchsia platform, which is now very strict about mapping pages with the EXECUTE permission, this simply fails, because the section's pages were initially allocated with only the READ+WRITE flags. A more detailed description of the issue can be found in this public SwiftShader bug: https://issuetracker.google.com/issues/154586551 This patch just restrict the mapping to the READ flag for ROData sections. Code sections are still mapped with READ+EXECUTE as expected. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D78574
9.7 KiB
9.7 KiB