#include #include #define __KERNEL_SYSCALLS__ static int errno __attribute__((unused)); #include #ifdef _syscall3 int kernel_execve (const char *filename, char *const argv[], char *const envp[]) __attribute__((__weak__)); int kernel_execve (const char *filename, char *const argv[], char *const envp[]) { mm_segment_t fs = get_fs(); int ret; WARN_ON(segment_eq(fs, USER_DS)); ret = execve(filename, (char **)argv, (char **)envp); if (ret) ret = -errno; return ret; } #endif