This happens when you call a kernel syscall, and provide it with a pointer that points outside your address space. Tsk Tsk. You should check your pointers are properly initialised.
If you get this after doing a fork(2) followed by an execl(3) or execlp(3), make sure you remembered to NULL-terminate the list of arguments...
68 pages link to EFAULT: