Re: Determining address which caused SEGV

Jamie Lokier (lkd@tantalophile.demon.co.uk)
Sat, 8 Jan 2000 00:10:57 +0000


Jeff Dike wrote:
> void user_segv_handler(int sig)
> {
> struct sigcontext_struct *sc;
> sc = (struct sigcontext_struct *) (&sig + 1);

You can just do this:

void user_segv_handler (int sig, struct sigcontext_struct context)
{
unsigned long fault_address = context.cr2;
// ...
}

-- Jamie

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/