Signed-off-by: Thomas Meyer <tho...@m3y3r.de>
---
arch/um/kernel/trap.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c
index 5915887..4e6fcb3 100644
--- a/arch/um/kernel/trap.c
+++ b/arch/um/kernel/trap.c
@@ -183,6 +183,16 @@ void fatal_sigsegv(void)
os_dump_core();
}
+/**
+ * segv_handler() - the SIGSEGV handler
+ * @sig: the signal number
+ * @unused_si: the signal info struct; unused in this handler
+ * @regs: the ptrace register information
+ *
+ * The handler first extracts the faultinfo from the UML ptrace regs
struct.
+ * If the userfault did not happen in an UML userspace process,
bad_segv is called.
+ * Otherwise the signal did happen in a cloned userspace process,
handle it.
+ */
void segv_handler(int sig, struct siginfo *unused_si, struct
uml_pt_regs *regs)
{
struct faultinfo * fi = UPT_FAULTINFO(regs);
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel