Author: tfaber
Date: Sat May 5 08:49:45 2012
New Revision: 56503
URL:
http://svn.reactos.org/svn/reactos?rev=56503&view=rev
Log:
[NTOSKRNL]
- Give more useful debug output on BAD_POOL_HEADER bug checks
Modified:
trunk/reactos/ntoskrnl/mm/ARM3/expool.c
Modified: trunk/reactos/ntoskrnl/mm/ARM3/expool.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/expool.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/expool.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/expool.c [iso-8859-1] Sat May 5 08:49:45 2012
@@ -205,6 +205,9 @@
if (PreviousEntry->BlockSize != Entry->PreviousSize)
{
/* Otherwise, someone corrupted one of the sizes */
+ DPRINT1("PreviousEntry BlockSize %lu, tag %.4s. Entry PreviousSize %lu,
tag %.4s\n",
+ PreviousEntry->BlockSize, (char *)&PreviousEntry->PoolTag,
+ Entry->PreviousSize, (char *)&Entry->PoolTag);
KeBugCheckEx(BAD_POOL_HEADER,
5,
(ULONG_PTR)PreviousEntry,
@@ -226,6 +229,18 @@
if (!Entry->BlockSize)
{
/* Someone must've corrupted this field */
+ if (Entry->PreviousSize)
+ {
+ PreviousEntry = POOL_PREV_BLOCK(Entry);
+ DPRINT1("PreviousEntry tag %.4s. Entry tag %.4s\n",
+ (char *)&PreviousEntry->PoolTag,
+ (char *)&Entry->PoolTag);
+ }
+ else
+ {
+ DPRINT1("Entry tag %.4s\n",
+ (char *)&Entry->PoolTag);
+ }
KeBugCheckEx(BAD_POOL_HEADER,
8,
0,
@@ -254,6 +269,9 @@
if (NextEntry->PreviousSize != Entry->BlockSize)
{
/* Otherwise, someone corrupted the field */
+ DPRINT1("Entry BlockSize %lu, tag %.4s. NextEntry PreviousSize %lu, tag
%.4s\n",
+ Entry->BlockSize, (char *)&Entry->PoolTag,
+ NextEntry->PreviousSize, (char *)&NextEntry->PoolTag);
KeBugCheckEx(BAD_POOL_HEADER,
5,
(ULONG_PTR)NextEntry,