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).