Hi, I'm doing research about rootkits and I have received a lot of warnings like`
"BUG: unable to handle kernel paging request at [addr]"
when I tried to attach my own function to sys_call_table[__NR_read]
, for example.
In kernels <=2.6.25, function change_page_attr()
helped with changing page attributes of a certain address. However, in new kernels >=2.6.28, this function is deprecated and is replaced with set_memory_*
functions, related to PAT.
The Linux kernel documentation is not clear about PAT functions usage; I have used set_memory_wc()
& set_memory_uc()
to change the sys_call_table
permissions but I continue receiving the same BUG. That functions I guess are replacing the old change_page_attr()
.
I saw one example in i915 module, and I have used functions in same way, but the BUG continues.
Any help about it? Am I handling in wrong way kernel addresses?