summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/amd64/trap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/arch/amd64/amd64/trap.c b/sys/arch/amd64/amd64/trap.c
index c57b5d2..37efad4 100644
--- a/sys/arch/amd64/amd64/trap.c
+++ b/sys/arch/amd64/amd64/trap.c
@@ -127,6 +127,7 @@ static void
trap_user(struct trapframe *tf)
{
struct proc *td = this_td();
+ uintptr_t fault_addr;
sigset_t sigset;
sigemptyset(&sigset);
@@ -148,6 +149,9 @@ trap_user(struct trapframe *tf)
break;
}
+ fault_addr = pf_faultaddr();
+ proc_coredump(td, fault_addr);
+
/*
* Send the signal then flush the signal queue right
* away as these types of events are critical.