Como mapear um buffer de kernel do Linux para o espaço do usuário?
Digamos que o buffer seja alocado usando um esquema baseado em páginas. Uma maneira de implementar o mmap seria usar remap_pfn_range, mas o LDD3 diz que isso não funciona para a memória convencional. Parece que podemos resolver isso marcando a (s) página (s) reservada (s) usando SetPageReserved para que ela fique bloqueada na memória. Mas nem toda a memória do kernel já não pode ser trocada, ou seja, já reservada? Por que a necessidade de definir o bit reservado explicitamente?
Isso tem algo a ver com páginas alocadas de HIGH_MEM?