intercept-page-fault-handler
intercept-page-fault-handler copied to clipboard
Error building module
Hi, after few attempts trying to build the linux module, i'm encountering this error.
Build Output :
make -C /usr/src/linux-headers-4.15.0-118-generic M=/home/dopecoder/Projects/intercept-page-fault-handler modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-118-generic'
CC [M] /home/dopecoder/Projects/intercept-page-fault-handler/my_page_fault.o
LD [M] /home/dopecoder/Projects/intercept-page-fault-handler/intercept.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: "addr_adjust_exception_frame" [/home/dopecoder/Projects/intercept-page-fault-handler/intercept.ko] undefined!
LD [M] /home/dopecoder/Projects/intercept-page-fault-handler/intercept.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-118-generic'
insmod error
insmod: ERROR: could not insert module intercept.ko: Unknown symbol in module
dmesg output :
[19522.442261] intercept: Unknown symbol addr_adjust_exception_frame (err 0)
Env :
GCC Version : v7.5.0
Linux Kernel : v4.15.0
Is this issue related to linux kernel version? I even tried lower kernel versions upto v4.0 without any fruit.
Because I see that adjust_exception_frame
function pointer is removed from struct pv_irq_ops
from Kernel v4.14 onwards.
The assembler just doesn't seem to pickup addr_adjust_exception_frame
Hello, The code was written 7 years ago. The kernel changed quite a lot since then.
Hi, Thank you for reaching back. If this is an obsolete way of intercepting the page fault handler, I would like to know what would be the right way to do it with the newer kernel versions. Would Kprobe be a fair option(If its possible)?