On Mon Feb 6 19:31:10 2023 +0000, Alexandre Julliard wrote:
Actually it's very different from vDSO.
Oh, it looked actually very similar to how `gettimeofday()` is implemented in Linux.
The KUSER_SHARED_DATA structure is a single page (4096 bytes) in memory that is mapped at a fixed, hardcoded address in both kernel and user side of VAS. KUSER_SHARED_DATA is mapped into every process and provides a quick mechanism to obtain frequently needed global data (interrupt time, version, debugger state, processor extensions, etc.) from the kernel without involving user-kernel mode switching using system calls or interrupts
from https://msrc-blog.microsoft.com/2022/04/05/randomizing-the-kuser_shared_data...
On that page, there's even some discussion at _what_ will break and how to move it out.
TLDR: you cannot :disappointed: