code, "Bad address", is very similar to a SIGBUS
being delivered. On the surface, it means that some memory address
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).