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?r... ============================================================================== --- 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,