Linux kernel 编写访问内核变量的系统调用

Linux kernel 编写访问内核变量的系统调用,linux-kernel,system-calls,Linux Kernel,System Calls,我有自己的内核模块,它有一个外部整数变量: extern int i=0; 我想写一个系统调用(在一个单独的文件中),它对我执行以下操作: i=i+1; 但是,由于i是在内核模块文件中声明的,而不是在系统调用中声明的,因此它无法正确编译。我知道问题不在其他地方,因为当系统调用只包含printk语句或类似的自包含语句时,“工作”很好。如何将内核模块文件中的变量链接到系统调用文件?通常,内核代码被编译为内核模块,因为不想修改内核本身。但在任何情况下,您都需要修改内核代码以添加系统调用。因此,将变

我有自己的内核模块,它有一个外部整数变量:

extern int i=0;
我想写一个系统调用(在一个单独的文件中),它对我执行以下操作:

i=i+1;

但是,由于i是在内核模块文件中声明的,而不是在系统调用中声明的,因此它无法正确编译。我知道问题不在其他地方,因为当系统调用只包含
printk
语句或类似的自包含语句时,“工作”很好。如何将内核模块文件中的变量链接到系统调用文件?

通常,内核代码被编译为内核模块,因为不想修改内核本身。但在任何情况下,您都需要修改内核代码以添加系统调用。因此,将变量添加到处理系统调用的代码中更简单、更好。会很有帮助的。