kernel_execve如何使用?

1 view
Skip to first unread message

root

unread,
Jul 21, 2008, 8:00:41 AM7/21/08
to Linux-...@zh-kernel.org
大家好:
这个函数是内核里用了创建用户空间进程的,在 /proc/kallsyms 中可以找到该符
号。
但在模块中调用后报错:
insmod: error inserting 'kuser.ko': -1 Unknown symbol in module
Unknown symbol kernel_execv
不是所有在/proc/kallsyms中的符号都直接可以在内核中使用吗?
请大家指教

我的代码如下:
===============================
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/syscalls.h>

MODULE_LICENSE("GPL");

extern int kernel_execve(const char *filename, char *const argv[], char
*const envp[]);

int enter_module(void)
{
const char *filename="hello";
kernel_execve(filename,NULL,NULL);

return 0;
}

void leave_module(void)
{
printk("bye\n");
}

module_init(enter_module);
module_exit(leave_module);
================================

谢谢

_______________________________________________
Linux 内核开发中文邮件列表
Linux-...@zh-kernel.org
http://zh-kernel.org/mailman/listinfo/linux-kernel
Linux 内核开发中文社区: http://zh-kernel.org

root

unread,
Jul 21, 2008, 7:59:06 AM7/21/08
to Linux-...@zh-kernel.org

Chen Gong

unread,
Jul 24, 2008, 5:27:39 AM7/24/08
to qinche...@sict.ac.cn, Linux-...@zh-kernel.org
你可以到/boot下查查你当前的systemp.map文件,
是否导出了这个接口
Reply all
Reply to author
Forward
0 new messages