是否可以从内核模块调用 sys_mprotect

Is it possible to call sys_mprotect from a kernel module

我正在编写一个需要更改任务页面权限的内核模块。通常,该任务只会调用 mprotect 并设置权限。据我了解 Linux 内核有 sys_mprotect,它执行实际的系统调用。

有没有可能我的Linux内核模块调用了sys_mprotect?我似乎找不到允许这样做的内核 API。

我发现可以在内核模块中调用 sys_mprotect,如 here 所述,使用 kallsyms_lookup_name

实现某些页面权限更改的另一种方法是直接调用内核 API,例如 pte_wrprotect,这将清除 PTE 的写入权限。