我在execve系统调用中看到了这种类型:
asmlinkage long sys_execve(const char __user *filename,
const char __user *const __user *argv,
const char __user *const __user *envp);
do_execve(struct filename *filename,
const char __user *const __user *__argv,
const char __user *const __user *__envp)
的含义是什么?
const char __user *const __user *
答案 0 :(得分:1)
在阅读file_operations
方法列表时,您会注意到许多参数包括string __user
。该注释是一种文档形式,请注意指针是用户空间地址,不能直接使用
取消引用。对于常规编译,__user
无效,但是可以由
外部检查软件来发现用户空间地址的滥用。