]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Teach DDB how to unwind across a kernel stack overflow.
authorjhb <jhb@FreeBSD.org>
Fri, 23 Dec 2016 03:27:11 +0000 (03:27 +0000)
committerjhb <jhb@FreeBSD.org>
Fri, 23 Dec 2016 03:27:11 +0000 (03:27 +0000)
commitca113df5a3f9ef777cceda2ad3054dc466caed72
tree402dcfecfbf0cf9ebbf90d52ca450f31f2138663
parent28fe9d8da42f87e1eca72618ffb142fbedf3d36c
Teach DDB how to unwind across a kernel stack overflow.

Kernel stack overflows in MIPS call panic() directly from an assembly
handler after storing the interrupted context's registers in a
trapframe.  Rather than inferring the location of ra, sp, and pc from
the instruction stream, recognize the pc of a kernel stack overflow
and pull the registers from the trapframe.

Sponsored by: DARPA / AFRL
sys/mips/include/trap.h
sys/mips/mips/db_trace.c
sys/mips/mips/exception.S