reactos/ntoskrnl
Hermès Bélusca-Maïto f694d12f0c
[NTOS:KE/MM] Some bug-fixes in the bugcheck code.
- Introduce the MmMakeKernelResourceSectionWritable() helper for
  making the kernel resource memory section writable, and use it
  in KeGetBugMessageText(). Indeed, this latter function patches
  in place the bugcheck resource message to trim any trailing
  newlines before displaying the message on screen.

  See also https://github.com/osresearch/uxen/blob/83bad53/dm/introspection-win7.c#L286
  that mentions it too.

  This fixes bugcheck text display (e.g. the MANUALLY_INITIATED_CRASH one)
  when using (at least) MSVC-built ReactOS, avoiding a Page-Fault
  exception during the bugcheck.

- Cover KeGetBugMessageText() in SEH since we are accessing kernel
  resources that could also be corrupted in bugcheck scenarii, and we
  don't want to further bugcheck.

- Fix newline trimming loop.

- KiDoBugCheckCallbacks():
  * Wrap the bugcheck CallbackRoutine call in SEH.
  * Add a FIXME concerning the need of further memory validation of CurrentRecord.

- Add a FIXME concerning the need to run the bugcheck-reason callbacks
  with the KbCallbackReserved1 reason, in KeBugCheckWithTf().
  Mentioned in http://blog.ptsecurity.com/2012/06/customizing-blue-screen-of-death.html
2019-06-25 21:01:49 +02:00
..
cache [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
cc [NTOSKRNL] Don't set VACB dirty on release if already dirty 2019-04-20 11:23:35 +02:00
config [NTOSKRNL] Disable LUID mapping until it's properly implemented 2019-06-01 14:40:54 +02:00
dbgk [NTOS] Remove unnecessary NULL checks and add a missing one. CIDs 1411958, 716670, 1322186 2018-01-20 15:59:35 +01:00
ex [NTOS:KD] Remove some _WINDK_ usages 2019-05-23 11:04:40 +02:00
fsrtl [FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() (#1636) 2019-06-22 16:20:58 +02:00
fstub [NTOS:FSTUB] Unfix format string warning until GUID definition is fixed. 2019-03-25 22:40:41 +01:00
inbv [NTOS:INBV] Fix the rotation line bitmap (#1295) 2019-01-23 13:24:40 +01:00
include [NTOS:KE/MM] Some bug-fixes in the bugcheck code. 2019-06-25 21:01:49 +02:00
io [FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() (#1636) 2019-06-22 16:20:58 +02:00
kd [NTOS:KD] Remove some _WINDK_ usages 2019-05-23 11:04:40 +02:00
kd64 [NTOSKRNL] Round memory size up, "debug log" part 2018-08-07 20:36:04 +02:00
kdbg [NTOS:KDBG] Use CONTEXT instead of KTRAP_FRAME 2019-05-23 11:04:40 +02:00
ke [NTOS:KE/MM] Some bug-fixes in the bugcheck code. 2019-06-25 21:01:49 +02:00
lpc [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
mm [NTOS:KE/MM] Some bug-fixes in the bugcheck code. 2019-06-25 21:01:49 +02:00
ntkrnlmp Merge pull request #1335 from ariscop/CMP0065 2019-02-03 12:57:20 +01:00
ob [FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() (#1636) 2019-06-22 16:20:58 +02:00
po [FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() (#1636) 2019-06-22 16:20:58 +02:00
ps [FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() (#1636) 2019-06-22 16:20:58 +02:00
rtl Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
se [NTOSKRNL] Taggify some allocs 2019-06-10 14:54:55 +02:00
tests Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
vdm [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
vf Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
wmi [FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() (#1636) 2019-06-22 16:20:58 +02:00
CMakeLists.txt [CMAKE] unset EXPORT_SYMBOL for modules and shared libraries 2019-04-06 17:43:38 +02:00
guid.c [NTOSKRNL] Initialize GUID_DEVICE_BATTERY properly 2019-04-08 21:19:57 +02:00
KrnlFun.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
ntdll.S Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
ntos.cmake [NTOSKRNL] Move KDBG MM functions implementation to their own file 2019-01-06 22:50:57 +01:00
ntoskrnl.rc [NTOS:INBV] Implement rotation bar for boot screen 2018-01-03 02:57:28 +01:00
ntoskrnl.spec Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
sysfuncs.lst Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00