3

根据Linux Kernel 的文档

bprm_check_security: 这个钩子调解了开始搜索二进制处理程序的时间点。它允许检查bprm->cred->security在前面creds_for_exec调用中设置的值。argvlist 和 envplist在bprm. 这个钩子可能在一个execve. bprm包含linux_binprm结构。

然而,argvenvp(例如bprm->mm->arg_start)的值实际上是NULL在这一点上。这是因为这些值的设置是在钩子之后setup_arg_pages调用的。此外,该结构仍然指向旧进程,因此它不能用于获取这些数据。current

所以我的问题是:文档是不正确的,还是有另一种方法可以可靠地获取参数?


旁注:我知道这篇文章已经提出了一个非常相似的问题,但我认为这不是重复的,因为这篇文章询问了一种从 argv 获取的方法bprm_check_security,而我认为这可能是不可能的,因此我要求确认该问题来自文档。此外,该帖子没有给出正确答案。

4

0 回答 0