【发布时间】:2018-06-08 06:08:48
【问题描述】:
想象这样一种情况:我将从系统调用中获取一个位于用户空间的函数指针,然后内核模块回调该函数。 (此功能在用户空间中运行很重要) kenel 模块会看到与用户空间应用程序相同的内存地址(获取的函数指针)吗? (我的意思是用户的虚拟地址空间或线性地址空间)
【问题讨论】:
-
有可能,神圣的安全漏洞,蝙蝠侠!
-
@user3344003 我认为不会,如果内核在调用用户空间函数之前更改了特权级别。
-
那将是一个巨大的安全漏洞。
-
这正是信号处理程序的操作方式,是的,这是可能的,尽管这是一项非常重要的任务。更常用的方法是通过 netlink 套接字与用户空间进行交互,这正是为此目的而存在的。
标签: linux-kernel operating-system system-calls kernel-module protected-mode