Speakers
Juan Yescas
(Google)
Kalesh Singh
(Google)
Description
The transition to a 16kB base page size creates a significant compatibility issue for legacy ELFs built with 4kB segment alignment. This misalignment can place Read-Execute (RX) and Read-Write (RW) segments within a single page, which would require insecure RWX mappings. While recompiling is the ideal fix, it is often impossible for apps that depend on unmaintained, closed-source third-party libraries. Consequently, these applications fail to load, presenting an open ecosystem challenge that requires a robust compatibility solution.
This talk presents an in-depth analysis of this problem and explores the design space for potential solutions. It will discuss:
- The ELF segment vs. page permission conflict.
- The feasibility of a compatibility layer within the user-space dynamic loader.
- Key hurdles: performance, security risks, and ELF layout stability.
- Trade-offs of various dynamic remapping strategies.
Primary authors
Juan Yescas
(Google)
Kalesh Singh
(Google)