reactos/ntoskrnl/include/internal
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
..
amd64 [NTOS:Mm] Rewrite MiWriteProtectSystemImage (#749) 2019-01-18 22:11:43 +01:00
arch Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
arm [NTOS:Mm] Rewrite MiWriteProtectSystemImage (#749) 2019-01-18 22:11:43 +01:00
i386 [NTOS:KE] Fixup for the NMI task handler: handle NMI recursion. -- Code was lost in commit 2efed8ef (r45040). 2019-06-20 19:39:44 +02:00
powerpc Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
cc.h [NTOSKRNL] Drop the useless Timestamp field 2019-04-20 11:31:59 +02:00
cm.h [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
cm_x.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
dbgk.h [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
ex.h [NTOSKRNL] Rewrite/fix our UUID generation implementation 2019-03-01 08:22:48 +01:00
fsrtl.h [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
hal.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
hdl.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
inbv.h [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
io.h [MEH] Forgot that file :-( 2019-03-29 21:51:41 +01:00
io_i.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
io_x.h [NTOS:IO] Implement IopAcquireFileObjectLock and use it to fix IopLockFileObject 2018-10-02 09:56:55 +02:00
kd.h [NTOS:KDBG] Use CONTEXT instead of KTRAP_FRAME 2019-05-23 11:04:40 +02:00
kd64.h [NTOS] Add some header guards. 2017-12-12 12:42:13 +01:00
ke.h [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
ke_x.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
ldr.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
lpc.h [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
lpc_x.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
mm.h [NTOS:KE/MM] Some bug-fixes in the bugcheck code. 2019-06-25 21:01:49 +02:00
napi.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
ntoskrnl.h [NTOS:KD] Remove some _WINDK_ usages 2019-05-23 11:04:40 +02:00
ob.h [NTOSKRNL] Implement SeGetLogonIdDeviceMap 2019-06-01 21:09:20 +02:00
ob_x.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
po.h [NTOSKRNL] Use global power capabilities and report button presence 2019-04-07 16:42:58 +02:00
probe.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
ps.h [NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779) 2018-12-30 12:19:11 +01:00
ps_i.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
ps_x.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
rtl.h 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.h [NTOSKRNL] Stub SeGetLogonIdDeviceMap 2019-06-01 18:37:47 +02:00
spinlock.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
tag.h [NTOSKRNL] Taggify some allocs 2019-06-10 14:54:55 +02:00
test.h 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.h Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00