Saturday, September 10, 2005

sys_call_table not exported in 2.6 kernel

I spent half of my day today trying to implement a system call using a Linux kernel module (LKM). Basically I was going to add a new function pointer to the "sys_call_table" array. I had declared "sys_call_table" as extern variable in my KM, however whenever I tried loading the KM I was getting an "unknown symbol" error. On researching a bit I found out that the "sys_call_table" is no more exported in 2.6 kernel :-( this was done to enable loading of only GPLed modules in Linux kernel...

How can I dynamically add a new system call? I think I will implement a filesystem to communicate the information that I needed from the kernel. Something new to learn...

0 Comments:

Post a Comment

<< Home