bprm_check_security
: 这个钩子调解了开始搜索二进制处理程序的时间点。它允许检查bprm->cred->security
在前面creds_for_exec
调用中设置的值。argv
list 和envp
list在bprm
. 这个钩子可能在一个execve
.bprm
包含linux_binprm
结构。
然而,argv
和envp
(例如bprm->mm->arg_start
)的值实际上是NULL
在这一点上。这是因为这些值的设置是在钩子之后setup_arg_pages
调用的。此外,该结构仍然指向旧进程,因此它不能用于获取这些数据。current
所以我的问题是:文档是不正确的,还是有另一种方法可以可靠地获取参数?
旁注:我知道这篇文章已经提出了一个非常相似的问题,但我认为这不是重复的,因为这篇文章询问了一种从 argv 获取的方法bprm_check_security
,而我认为这可能是不可能的,因此我要求确认该问题来自文档。此外,该帖子没有给出正确答案。