call_usermodehelper出错

模块的代码是:

static int hello_init(void)
{
   printk(KERN_INFO "hello module init\n");
   char *cmdArgv[] = {"/usr/local/bin/mysudo","kdialog","--msgbox","Loading kernel module!",NULL};
   char *cmdEnvp[] = {NULL};

   return call_usermodehelper(cmdArgv[0],cmdArgv,cmdEnvp,UMH_WAIT_PROC);
}
static void hello_exit(void)
{
   printk(KERN_INFO "hello module exit\n");
}
module_init(hello_init);
module_exit(hello_exit);

/usr/local/bin/mysudo的代码是:

#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
int main(int argc,char **argv)
{
   if(argc<2)
   return -1;
   setuid(1000);
   setenv("HOME","/home/gentoo",1);
   argv++;
   return execvp(argv[0],argv);
}

用户名gentoo(id=1000),经测试,sudo mysudo kdialog --msgbox "fg"正常工作,su之后再mysudo kdialog --msgbox "fg"也能显示。
但加载内核模块并不能显示。dmesg显示如下:

[ 8415.582346] do_init_module: 'hello'->init suspiciously returned 256, it should follow 0/-E convention
do_init_module: loading module anyway...
[ 8415.582364] CPU: 1 PID: 28816 Comm: insmod Tainted: G        W  O 3.11.1 #1
[ 8415.582371] Hardware name: ASUSTeK Computer Inc.         K42N/K42N, BIOS K42N.214 03/11/2011
[ 8415.582377]  0000000000000000 ffffffff81348931 ffffffffa00e6000 ffffffff8106e014
[ 8415.582386]  ffffffff8106b765 0000000000000440 ffffc9000000c9d0 ffff880096418288
[ 8415.582393]  ffffffff00000006 ffff88010af73e60 ffffffffa00e6018 ffffc90000000001
[ 8415.582401] Call Trace:
[ 8415.582416]  [<ffffffff81348931>] ? dump_stack+0x41/0x51
[ 8415.582430]  [<ffffffff8106e014>] ? load_module+0x1a48/0x1cbc
[ 8415.582439]  [<ffffffff8106b765>] ? show_initstate+0x3f/0x3f
[ 8415.582451]  [<ffffffff8106e36a>] ? SyS_finit_module+0x4e/0x62
[ 8415.582460]  [<ffffffff8134c516>] ? system_call_fastpath+0x1a/0x1f

为何出错呢?