diff options
Diffstat (limited to 'arch/x86/um/stub_segv.c')
-rw-r--r-- | arch/x86/um/stub_segv.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/x86/um/stub_segv.c b/arch/x86/um/stub_segv.c new file mode 100644 index 000000000..f7eefba03 --- /dev/null +++ b/arch/x86/um/stub_segv.c @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2004 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) + * Licensed under the GPL + */ + +#include <sysdep/stub.h> +#include <sysdep/faultinfo.h> +#include <sysdep/mcontext.h> +#include <sys/ucontext.h> + +void __attribute__ ((__section__ (".__syscall_stub"))) +stub_segv_handler(int sig, siginfo_t *info, void *p) +{ + struct faultinfo *f = get_stub_page(); + ucontext_t *uc = p; + + GET_FAULTINFO_FROM_MC(*f, &uc->uc_mcontext); + trap_myself(); +} + |