我正在编写一个需要更改任务页面权限的内核模块。通常,该任务只会调用 mprotect 并设置权限。据我了解,Linux 内核有sys_mprotect
,它执行实际的系统调用。
我的 Linux 内核模块有可能调用sys_mprotect
吗?我似乎找不到允许这样做的内核 API。
我正在编写一个需要更改任务页面权限的内核模块。通常,该任务只会调用 mprotect 并设置权限。据我了解,Linux 内核有sys_mprotect
,它执行实际的系统调用。
我的 Linux 内核模块有可能调用sys_mprotect
吗?我似乎找不到允许这样做的内核 API。
我sys_mprotect
发现可以使用.kallsyms_lookup_name
实现某些页面权限更改的另一种方法是直接调用内核 API,例如pte_wrprotect
,这将清除 PTE 的写入权限。