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: -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2118#note_23135