[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tyndur-devel] [PATCH 1/2] kernel2: Bei Stacktraces nicht ins Leere greifen



! kernel2: Bei einem kaputten Stack passiert es leicht, dass ein Page
  Fault nach dem anderen auftritt, weil wir nicht aufpassen. Eine
  Prüfung, ob die Adresse auch wirklich gemappt ist, sollte dem Abhilfe
  schaffen.

Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
 src/kernel2/src/arch/i386/debug.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/kernel2/src/arch/i386/debug.c b/src/kernel2/src/arch/i386/debug.c
index 34d3d5a..4b29c93 100644
--- a/src/kernel2/src/arch/i386/debug.c
+++ b/src/kernel2/src/arch/i386/debug.c
@@ -175,6 +175,11 @@ void stack_backtrace(uint32_t start_ebp, uint32_t start_eip)
         }
       #endif
 
+        if (!mmc_resolve(&mmc_current_context(), stack_frame->ebp)) {
+            kprintf(" (nicht gemappt)\n");
+            break;
+        }
+
         kprintf("\n");
     }
 }
-- 
1.6.0.2