This
errno code, "Bad address", is very similar to a
SIGBUS or
SIGSEGV being delivered. On the surface, it means that some
memory address is
invalid or has the wrong
permissions. This can occur if you pass, say, a "bad"
pointer to a
system call which expects to read or write from the area.
What it really means is that during either setup or execution of a userland-to-kernel memory read or kernel-to-userland write, an attempt was made to read or write to a page of memory that was either unmapped or was not readable/writeable (by something which expected to read or write to it, respectively).