- 论坛徽章:
- 0
|
请教一个关于call_usermodehelper()的问题,我怎么试都是返回-2,我的应用程序test,放在/bin/test下,在/bin目录下执行./test是没有问题,但是通过内核执行时就出现返回值-2,在内核时执行如下代码,可是一直没有办法执行到test,这是为什么啊!!?谢谢大家!!
void test_call_usermode(void)
{
int iRet;
char *argv[2], *envp[3];
/* set up a minimal environment */
iRet = 0;
envp[iRet++] = "HOME=/";
envp[iRet++] = "PATH=/sbin:/usr/sbin:/bin:/usr/bin";
envp[iRet] = NULL;
/* set up the argument list */
iRet = 0;
argv[iRet++] = "/bin/test";
argv[iRet] = NULL;
/* call ifconfig to configure the virtual network interface */
iRet = call_usermodehelper(argv[0], argv, envp, 0);
//iRet = kernel_execve(argv[0], argv, envp);
printk("ifconfig %s %s returned %d\n", argv[1], argv[2], iRet);
} |
|