Invoke binary from kernel space

hemanth nandish hemanthluvsfifa at
Thu Apr 23 15:53:45 EDT 2020


I came across the function: call_usermodehelper
This can be used to invoke exec a binary from the kernel space.
It ultimately calls:

Which internally does:
retval = do_execve <>(
getname_kernel <>(
sub_info->path <>),(const
char __user <> *const
__user <> *)sub_info->argv
<>,(const char __user
<> *const __user
<> *)sub_info->envp

This function works as expected and a new thread is spawned.
Now when I try to directly call do_execve within my module by passing the
required arguments, I am getting  -EFAULT error.
This is happening in this function:

count(argv, MAX_ARG_STRINGS)

What am I missing here?

Thank you
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Kernelnewbies mailing list