Здравствуйте, vitka, Вы писали:
V>Всё правильно, т.к. remap_page_range чистит память.
Я изменил код:
int RC = remap_page_range(vma->vm_start,
__pa(KBuffer),
size,
vma->>vm_page_prot);
for(i = 0; i < 256; i++) KBuffer[i] = 55;
return RC;
Теперь remap_page_range не может повлиять на содержимое буфера, но результат тот же.
Как быть?
Я пробовал вообще выносить весь код выделения, отображение и инициализации памяти в функцию probe (она вызывается при загрузке драйвера, когда подключается устройство до вызова мной mmap). А в DrvMmap только возвращал значение возращённое remap_page_range. Но результаты те же.