mirror of
https://github.com/reactos/reactos.git
synced 2024-11-20 06:15:26 +00:00
f694d12f0c
- 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 |
||
---|---|---|
.. | ||
amd64 | ||
arm | ||
i386 | ||
powerpc | ||
apc.c | ||
balmgr.c | ||
bug.c | ||
clock.c | ||
config.c | ||
devqueue.c | ||
dpc.c | ||
eventobj.c | ||
except.c | ||
freeze.c | ||
gate.c | ||
gmutex.c | ||
ipi.c | ||
krnlinit.c | ||
mutex.c | ||
procobj.c | ||
profobj.c | ||
queue.c | ||
semphobj.c | ||
spinlock.c | ||
thrdobj.c | ||
thrdschd.c | ||
time.c | ||
timerobj.c | ||
wait.c |