Я запугивал простой монитор, который печатает путь к исполняемому файлу, поэтому я подключил системный вызов execve, но проблема заключалась в том, что параметр имени файла содержал только имя файла, а не весь путь. В любом случае, я скопировал параметр envp и напечатал каждую строку в нем, но результат был просто LS_ C, поэтому мне интересно, где системный вызов execve получает путь от этого - мой код:
static asmlinkage long our_execl(const char __user * filename,
const char __user * const __user * argv,
const char __user * const __user * envp) {
copy_from_user(mid,envp,sizeof(envp));
printk("okdotk:%d\n",sizeof(envp));
for(i=0;i<sizeof(envp);i++)
{
strncpy_from_user(env, mid[i], sizeof(mid[i]));
env[255]='\0';
printk("%s\n",env);
reset_envp(sizeof(env));
}
вернуть original_call (имя файла, argv, envp)}