На самом деле все просто, в памяти ядра (обычно) просто есть запись таблицы страниц с битом, специфичным для архитектуры, который говорит: «эта запись таблицы страниц действительна только тогда, когда процессор находится в режиме ядра».
Чтоremap_pfn_range делает, это создает другую запись таблицы страниц, с другим виртуальным адресом для той же страницы физической памяти, у которой не установлен этот бит.
Обычно это плохая идея, кстати: -)