Согласно комментариям @ RbMm , эта информация хранится в PTE (запись таблицы страниц). Кажется, есть бит, который определяет, предоставляется ли доступ из пользовательского режима.
Это подтверждается статьей о ЛАРН онлайн , в которой говорится
Имя бита: доступ пользователя
Кажется, сама структура не является частью символов Microsoft
0:000> dt ntdll!_page*
ntdll!_PAGED_LOOKASIDE_LIST
ntdll!_PAGEFAULT_HISTORY
0:000> dt ntdll!page*
0:000> dt ntdll!*pte*
00007fff324fe910 ntdll!RtlpTestHookInitialize
PTE тесно поддерживаются процессором (MMU, блок управления памятью, в частности). Вот почему мы находим дополнительную информацию в OSDev , которая гласит
U, бит «Пользователь / Супервизор», управляет доступом к странице на основе уровня привилегий. Если бит установлен, то страница может быть доступна всем; однако, если бит не установлен, только супервизор может получить к нему доступ.
В некоторых файлах утечки SDK бит выглядит как
unsigned __int64 Owner : 1;
Поскольку PTE поддерживается процессором, мы должны найти похожие вещи в Linux. И вуаля, я вижу этот ТАК ответ , который также имеет бит:
#define _PAGE_USER 0x004
, что в точности соответствует информации OSDev.