svn commit: r354213 - head/sys/powerpc/aim

Leandro Lupori luporl at FreeBSD.org
Thu Oct 31 11:59:01 UTC 2019


Author: luporl
Date: Thu Oct 31 11:59:00 2019
New Revision: 354213
URL: https://svnweb.freebsd.org/changeset/base/354213

Log:
  [PPC64] Fix trapstk overflow
  
  In some scenarios, the 4K trapstk may overflow, corrupting tmpstk.
  
  This was observed during remote debugging, with the following steps:
  
  At remote host (R):
  - enter kdb during boot
  - switch to gdb backend
  
  At local host (L):
  - attach gdb to R
  - try to read an invalid memory position
  
  At R:
  - a DSI trap occurs and kdb restarts (all this occurs on trapstk)
  - while printing the stacktrace, trapstk overflows and corrupts tmpstk
  
  Reviewed by:	jhibbits
  Differential Revision:	https://reviews.freebsd.org/D22200

Modified:
  head/sys/powerpc/aim/locore64.S

Modified: head/sys/powerpc/aim/locore64.S
==============================================================================
--- head/sys/powerpc/aim/locore64.S	Thu Oct 31 11:31:13 2019	(r354212)
+++ head/sys/powerpc/aim/locore64.S	Thu Oct 31 11:59:00 2019	(r354213)
@@ -66,7 +66,7 @@ TOC_ENTRY(tmpstk)
 TOC_ENTRY(can_wakeup)
 
 #ifdef KDB
-#define TRAPSTKSZ       4096            /* 4k trap stack */
+#define TRAPSTKSZ       8192            /* 8k trap stack */
 GLOBAL(trapstk)
         .space        TRAPSTKSZ
 TOC_ENTRY(trapstk)


More information about the svn-src-head mailing list