Hervé Poussineau
76a41370d0
[NTOS:KD] Move dump of stack trace on crash to debugger
...
Release builds now show again the bugcheck screen, instead of freezing.
2020-03-30 15:23:34 +02:00
Hervé Poussineau
fd8cacae4c
[NTOS:KE] Remove dead code
2020-03-30 15:23:25 +02:00
Hervé Poussineau
8b6e441a6e
[NTOS:KD] Fix compilation with CMAKE_BUILD_TYPE=Release
...
This was broken by commit a890fc64d1
2020-03-30 15:23:25 +02:00
Hervé Poussineau
38e53eea4f
[NTOS:KD] Fix compilation with CMAKE_BUILD_TYPE=Release
...
This was broken by commit f7ec84eea0
2020-03-30 15:23:25 +02:00
Jérôme Gardou
0b5033e2ff
[NTOSKRNL] Fix build
2020-03-30 07:36:30 +00:00
Mark Jansen
177ae91bf6
[RTL] Introduce RtlpImageNtHeader,
...
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857
2020-03-29 21:27:38 +02:00
Victor Perevertkin
99f9c1666d
[NTOS:MM] Make _X86PAE_ the only define for PAE-enabled kernel
2020-03-28 18:11:42 +03:00
Eric Kohl
93e72ed3d6
[NTOS:IO] Fix indentation. No code changes!
2020-03-21 14:32:18 +01:00
Eric Kohl
52d22630f5
[NTOS:PNP] Fix indentation. No code changes!
2020-03-21 13:23:23 +01:00
Eric Kohl
a8846037e1
[NTOS:PNP] Map device capabilities to capability flags
...
This fixes a devices Capabilities value in the registry.
2020-03-21 13:23:22 +01:00
Thomas Faber
72c51aabba
[NTOS:IO][GDI32][CMD] Fix some under-sized variables. CORE-14922
...
Fixes x64 boot with RTC.
2020-03-13 20:45:06 +01:00
Dmitry Borisov
222e79232c
[CPORTLIB][NTOS:INBV][KDCOM][FREELDR] Add ComPort library for NEC PC-98 series ( #2407 )
...
There are 2 known serial ports:
COM1 - based on Intel 8251A
COM2 - National Semiconductor 16550
2020-03-06 19:50:31 +01:00
Thomas Faber
6831468ccf
[NTOS:MM] Assert PFN lock ownership in MiInsertPageInFreeList.
...
AMD64 initialization previously only raised the IRQL.
It now acquires the lock where needed, as i386 does.
2020-03-02 20:50:54 +01:00
Eric Kohl
7a7212f984
[NTOS:IO] Fix indentation. No code changes!
2020-03-01 23:34:30 +01:00
Eric Kohl
9a07cde37f
[NTOS:IO] Improve the device action worker
...
- Improve the device action worker to support more than just a single action
- Move the action queue code from IoInvalidateDeviceRelations to a new function IopQueueDeviceAction.
2020-03-01 23:32:25 +01:00
Eric Kohl
a05051f554
[NTOS:IO] Move IopRemovePlugPlayEvent around and add the ResponseData parameter (not used yet)
2020-02-29 14:26:16 +01:00
Eric Kohl
482eb909fe
[NTOS:CONFIG] Fix NtSetValueKey data probing
...
Probe the data before allocating a copy buffer. Otherwise NtSetValueKey returns an unexpected status code in case of too large data size.
This fixes the NtSetValueKey ntdll api tests.
2020-02-23 21:35:57 +01:00
Serge Gautherie
1a83762ccc
[REACTOS] Fix '\n.' typos
2020-02-23 12:35:50 +01:00
Thomas Faber
754e175d12
[NTOS:MM] Use MI_ZERO_PTES as the number of usable zeroing PTEs, not the total allocated. CORE-11856
...
We'll now have 32 usable zeroing PTEs instead of 31.
MP kernels will (some day) zero up to 32 pages at a time.
2020-02-22 12:33:54 +01:00
Thomas Faber
5e891f727f
[NTOS:WMI] WMIP_GUID_OBJECT must start with an event object, as it is waitable.
...
The initializer for WmipGuidObjectType does not set UseDefaultObject,
and it's possible for user mode to obtain a handle to a GUID object
with SYNCHRONIZE access. Therefore that handle can be passed to
NtWaitForSingleObject, which means it must start with a DISPATCHER_HEADER.
2020-02-15 20:43:26 +01:00
Thomas Faber
feb7275bc8
[NTOS:MM] Use POOL_BILLED_PROCESS_INVALID constant.
2020-02-08 13:00:32 +01:00
Serge Gautherie
2c6747aff0
[NTOS:MM] Stop using PD_COUNT, PDE_COUNT and PTE_COUNT ( #2294 )
...
Directly use PPE_PER_PAGE, PDE_PER_PAGE, PTE_PER_PAGE constants from hardware-specific MM headers instead
2020-02-05 23:48:26 +01:00
Hervé Poussineau
8314c8eeba
[NTOS] Move FORCEINLINE specifier where appropriate
2020-01-22 20:57:01 +01:00
Thomas Faber
07de9d1da3
[NTOS:KE] In KiExitV86Mode, restore KTSS::Esp0 to its standard value. CORE-16531
...
The trap frame is in a random location on the stack, and setting Esp0 there
wastes significant amounts of space and may lead to unexpected stack overflows.
Also use a more descriptive expression for the V86 members of the KTRAP_FRAME.
2020-01-03 11:28:09 +01:00
Eric Kohl
9538c3ccd7
[NTOS:IO] Fix indentation. No code changes!
2020-01-02 23:25:26 +01:00
Hermès Bélusca-Maïto
9ba5594599
Happy New Year 2020 to everyone!!
...
🎊 🎆 🍾 🥳
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.
__, ,__) __, ,__) __, ,__) ░░▄████▄░▄███▄░▄████▄░▄███▄░░
(--|__| _ ,_ ,_ (--|\ | _ (--\ | _ _ ,_ ░░▀▀░▄██░██░██░▀▀░▄██░██░██░░
_| |(_||_)|_)(_| _| \|(/_(_|_) \|(/_(_|| ░░░▄██▀░░██░██░░▄██▀░░██░██░░
( | | ,_| ( (__| ░░██████░▀███▀░██████░▀███▀░░
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.
███████████████████████████████████████████████████████████████████████████████
██████████████████▓▒▒▒▒▒▒▓▓█████████████████████████▓▓▒▒▒▒▒▒▓██████████████████
███████████████▒▒▒▒▓▓███▓▓▓▒▒░▒▓▓█████████████▓▒▒░▒▒▓▓████▓▓▒▒▒▓███████████████
█████████████▓░░░░░░░░░▒▒▓██████▓▒▒▒▓█████▓▒▒▒▓██████▓▒▒░░░░░░░░░▓█████████████
███████████▒▓░▒█████████▓▓▒░▒▓███▓▓▓▓▓▓▓▓▓▓▓▓████▒▒▒▒▓▓████████▓▒░▓▓███████████
██████████▒▒▓░▓██████████████▓▓▓▓▓█████▓▓▓▓▓▓▓▓▒▒███████████████▓░▓░▒██████████
█████████▓░▓█░▓██████████▓▒▒▒▒▓▓▓▓███████▓▓▓▓▓▓▓▓▓▒▒▓███████████▓░█▒░▓█████████
█████████▓▒██▒▒████████▒▒░░░░▒▒▓▓▓███████▓▓▓▓▓▓▓▓▓▓▓▒▒░█████████▒▒█▓▒▒█████████
█████████▓░██▓░▓█████▓▓▒▒░░░░▒▒▓▓▓▓████▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▒░░▓█████▓░▓█▓░▓█████████
██████████░▓██▒▒▓██▓▓▓▓▓▒▒▒▒▒▒▓▓▓▓██████▓▓▓▓▓▓▒▒▒▒▒▓▓▓▓▒▒░░███▓░▒██▒░██████████
██████████▒▒▓██▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████████▓▓▓▒▒▒▒▒▒▒▒▒▓▒▒▒▒░░▓█▒▒██▓░▓██████████
███████████▒▒███▒░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓▒▒░▒▒▒▒▒▒▒▒▒░░░▒███▒▓███████████
████████████▒▒█▓▓▒░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░░▒▒░░░▒▒▒░░░▓██▒▒████████████
█████████████▒▒▒▒▒▒░▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▒▒░░░░░░░░░░░░░▒▒▒▓▒▒█████████████
██████████████░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒░░░░░░░░░▒░░▒░▒██████████████
██████████████▓▒░▒▒▒▒▒░░▒▒░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▓███████████████
██████████████▓▒▓░░▒▒▒▒░░░░░░░░░░░░░░░░░▒▒▒▒▒▒░░░░░░░░░░▒░░░░░▓▒▓▓█████████████
███████████▓▒▓▓▓▒▒░░░░░▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒░░░░░░▒▒▒█▒▒▓███████████
██████████▓▒▒█▓▓▒▒░▒░░░░░▒░░░░░░░░░░░░░░░░░░░░░░░░░░░▒░░░░░▓▒▒▒▒██▒▒▓██████████
█████████▓▒▓██▓▒▒▒▒░░▒░░░░░▒░░░░░░░░░░░░░░░░░░░░░░░▒░░░░░▒▒▒▒▒▒▓███▓▒▓█████████
████████▓▒▓███▓▒▒▒▒░░░▒░░░░░░▒░░░░░░░░░░░░░░░░░░░▓▒▒▒▒░▒▓▒▒▓▓▒▒▓▒▓██▓▒▓████████
███████▓▒▓███▒▓▓▒▒▒░░░░░▒░░░░░░▒░░░░░░░░░░░░░░░▓▒▒▒▒░▒▓▒▓▓▓▓▒▒██▓▒▓██▓▒████████
███████▒▒██▓▒▓█▓▓▒▒░░░░░░░▒░░░░░░▒░░░░░░░░░░░▓▒▒▒▒░▒▓▒▒▒▓▓▓▒▒▓███▓▒███▒▓███████
██████▓▒▓██▒▒███▓▒▒▒░░░░░░░░▒▒░░░░░▒▒░░░░░░░░▒▒░░▒▓▓▓▓▒▒▒▒▒▒▓█████▒▒██▓░▓██████
██████▒▒██▒▒█████▓▒▒▒░░░░░░░░░▒░░░░░░░▒░░░░▒▒░░▒▓▒▒▒▒▒▒▒▒▒▒████████▒▒██▒▒██████
██████▒▓██░▓██████▓▓▒▒▒░░░░░░░░░░▒░░░░░░░▒░░░░▒▒▒▒▒▒▒▓▓▒▒██████████▒░██▒▒██████
██████▒▒▓▓▒█████████▓▓▒▒▒░░░░░░░░░░▒▒░░░░▒▒▒▓░░░▒▒▒▒▒▓▓████████████▓▒▓▓░▒██████
██████▓░▒▒▒███████████▓▓▒▒░░░░▒▒▒░▒░▒▒▒▒░░▒▒▒▒▒▓▒░░▒▒██████████████▓░▒▒▒███████
███████▓▒░░▒█████████▓▒▒░░▒▓▓▒▒▒░░░░▒▒▒▓▒▓▒░░▒▒▓▓██▓▓▒░▒▒▓█████████▒░░▒████████
██████████▒░░░░░░░▒▒▓▓█████▓▓▒░░▒▓██▓▓████████▒░▒▒▓██████▓▓▒▒░░░░░░░▒██████████
███████████▓▒▒▒▓▓████▓▓▒▒▒░▒▒█████████████████████▒▒░▒▒▓▓▓███▓▓▒▒▒▒████████████
████████████████▓▓▓▓▓▓███████████████████████████████████▓▓▓▓▓▓████████████████
███████████████████████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████▓░░▓████████░░░▓█████
███▒░░░░▒▓███████████████████████████████████████▒█████▓▒▒▓██▓▒▒▓████▓░█▓░▓████
███▒█████░▒███▓▒▒▒▒▒▓████▓▒▒▒▒▒▓█▓███▓▒▒▒▒▒▒▓██▓▒░▒▒▓▒▓█████████▓▒██▓▒█████████
███▒█████░▒█▓▒▒█████▒▒██▒▒▓████▓░▒██▒▒▓████▓▒▓██▓░▓██▓███████████▓▓██▓░░░▒█████
███▒█▓░░▒▓█▓▒▒▓▒░░▒▓▒░▒▓▒███████▒▒██▒████████████░███▓███████████▓▓██████░▒████
███▒██░▓███▓▒▓█████████▓▒███████▒▒██▒████████████░███▒▓██████████▓████████░▓███
███▒███░▒▓██▓▒▒████▓▒▓██▓▒▒▓██▓▒░▒██▓▒▒▓███▓▒▓███░████▓▒▒█████▒▒▓███▓▒▓██░▓████
███▒████▓░▓████▒▒▒▒▒██████▓▒▒▒▒▓█▓████▓▒▒▒▒▓█████▒███████▓▒▒▒▒▓███████▒▒▒▓█████
███████████████████████████████████████████████████████████████████████████████
2020-01-01 00:00:00 +01:00
Timo Kreuzer
7523a7b138
[NTOS:KE] Rename some locking functions to reflect the IRQL level changes
...
* KiAcquireApcLock -> KiAcquireApcLockRaiseToSynch
* KiAcquireApcLockAtDpcLevel -> KiAcquireApcLockAtSynchLevel
* KiReleaseApcLockFromDpcLevel -> KiReleaseApcLockFromSynchLevel
* KiAcquireApcLockAtApcLevel -> KiAcquireApcLockRaiseToDpc
* KiAcquireProcessLock -> KiAcquireProcessLockRaiseToSynch
* KiReleaseProcessLockFromDpcLevel -> KiReleaseProcessLockFromSynchLevel
* KiAcquireDispatcherLockAtDpcLevel -> KiAcquireDispatcherLockAtSynchLevel
* KiReleaseDispatcherLockFromDpcLevel -> KiReleaseDispatcherLockFromSynchLevel
* Add some ASSERTs
2019-12-31 15:30:27 +01:00
Thomas Faber
c904983b49
[NTOS:IO] Use UNICODE_STRING operations in IopUnloadDriver.
...
Fixes several overflow vulnerabilities.
2019-12-31 15:18:17 +01:00
Thomas Faber
2a91ea855a
[NTOS] Make RtlFindCharInUnicodeString available in the kernel.
2019-12-31 15:17:59 +01:00
Timo Kreuzer
f944f3a6cd
[NTOS] In KeWaitFor*Object(s) assert that the current IRQL is SYNCH_LEVEL. not DISPATCH_LEVEL, since acquiring the dispatcher lock raises to SYNCH_LEVEL, which is != DISPATCH_LEVEL on x64 and SMP builds.
2019-12-31 09:43:14 +01:00
Timo Kreuzer
53f8cbad97
[NTOS:IO] Fix list enumeration in IopShutdownBaseFileSystems
2019-12-30 15:48:38 +01:00
Victor Perevertkin
b6e33426bf
[NTOS:KD] Fix wrong debug level checking logic in KdpPrint.
...
Use NtQueryDebugFilterState in that function for consistency.
Thanks Hermès Bélusca-Maïto for help
2019-12-30 05:57:49 +02:00
Eric Kohl
8faf38ed22
[NTOS:IO] Fix indentation. No code changes!
2019-12-29 14:37:13 +01:00
Thomas Faber
b6df3c622e
[NTOS:CM] Probe for write in NtLockProductActivationKeys.
...
This doesn't technically make a difference, but it's good practice.
2019-12-29 10:41:47 +01:00
Thomas Faber
91cc1c3e4f
[NTOS:CM] Protect user memory access with SEH in NtQueryOpenSubKeys.
2019-12-29 10:41:44 +01:00
Hermès Bélusca-Maïto
d32e96d602
This was not meant to be committed!
...
This reverts commit 5e14dbd648
.
2019-12-26 17:19:11 +01:00
Hermès Bélusca-Maïto
5e14dbd648
WIP kdbg work.
2019-12-26 13:53:50 +01:00
Serge Gautherie
ad21227ac8
[NTOS:PO] PopShutdownHandler(): Fully screen-center images. Addendum to 55aed4f8
.
...
CORE-16342
2019-12-03 02:10:37 +01:00
Katayama Hirofumi MZ
55aed4f8fa
[NTOSKRNL][INBV] Fix IDB_SHUTDOWN_MSG position
...
Make "shutdown.bmp" (IDB_SHUTDOWN_MSG: 213x11px) horizontally centered.
2019-12-02 16:55:02 +09:00
Timo Kreuzer
21647e2c4e
[NTOS] Revert pool debugging code
...
Revert "[NTOS] On DBG builds, fill pool allocations with 0xCD and freed pool with 0xDD"
This reverts commit 24f240be8a
.
Revert "[NTOS] Add compile time option to trace callers of pool allocations"
This reverts commit 8b20755040
.
Revert "WIP"
This reverts commit 8cfd5c601f
.
2019-11-25 19:32:06 +01:00
Hermès Bélusca-Maïto
28b77a40ca
[NDK][NTOS:INBV] Remove non-exported INBV functions from NDK; do some cleanup in INBV headers; label both InbvSetProgressBarSubset() and InbvSetProgressBarCoordinates() as INIT_FUNCTION since they are used only for the boot splash. And fix MSVC build.
2019-11-25 15:54:45 +01:00
Hermès Bélusca-Maïto
03a9ccce65
[NTOS:KE] Explicitly use IOPM_SIZE for initializing the IO map, that is indeed also equal to PAGE_SIZE * 2 but is self-documented.
2019-11-25 00:41:54 +01:00
Hermès Bélusca-Maïto
b2ca7d3ed9
[NTOS:KE] Minor formatting fixes.
2019-11-25 00:41:54 +01:00
Hermès Bélusca-Maïto
592f01a594
[NTOS:INBV] InbvEnableBootDriver() is an export, thus can be called at any time, therefore it must NOT be an INIT_FUNCTION.
2019-11-25 00:41:54 +01:00
Timo Kreuzer
8cfd5c601f
WIP
2019-11-24 18:26:19 +01:00
Timo Kreuzer
8b20755040
[NTOS] Add compile time option to trace callers of pool allocations
2019-11-24 18:26:19 +01:00
Timo Kreuzer
24f240be8a
[NTOS] On DBG builds, fill pool allocations with 0xCD and freed pool with 0xDD
...
This matches what the MSVC runtime does with heap allocations on debug builds.
2019-11-24 18:26:19 +01:00
Hermès Bélusca-Maïto
40c57de728
[KDBG] If no parameters are given to the 'filter' command, display the list of available debug filter components.
2019-11-18 01:36:04 +01:00
Hermès Bélusca-Maïto
548393c6e7
[NTOS:KD/KD64] Fix x64 build.
2019-11-18 01:36:04 +01:00
Hermès Bélusca-Maïto
ea6d427d10
[I8042PRT] Remove dead commented-out code; Allow sending ROS-specific commands to the kernel debugger since KD64 also support them.
...
[NTOS:MM] Remove an extra ')' in a DbgPrint() string.
2019-11-17 23:21:55 +01:00