intercept-page-fault-handler icon indicating copy to clipboard operation
intercept-page-fault-handler copied to clipboard

Error building module

Open dopecoder opened this issue 4 years ago • 2 comments

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

dopecoder avatar Oct 11 '20 10:10 dopecoder

Hello, The code was written 7 years ago. The kernel changed quite a lot since then.

RichardUSTC avatar Oct 12 '20 01:10 RichardUSTC

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)?

dopecoder avatar Oct 20 '20 18:10 dopecoder