Commit graph

8764 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 8a7240c71a [NTOS][NDK][RTL]: Move the SEM_xxx flags and their corresponding RTL flags around so that they can be accessed in kernel code. I'll need them soon.
svn path=/trunk/; revision=71339
2016-05-15 22:40:34 +00:00
Hermès Bélusca-Maïto ad5dceff98 [NTOS][USERSRV]: Both hard-error message box options "OptionOkNoWait" and "OptionCancelTryContinue" are valid!
svn path=/trunk/; revision=71338
2016-05-15 22:32:17 +00:00
Hermès Bélusca-Maïto 02a7b8eca5 [NTOS]: Remove hardcoded constants; fix a comment; move some code around to reduce the level of code indentation.
svn path=/trunk/; revision=71336
2016-05-15 22:23:14 +00:00
Hermès Bélusca-Maïto d74b93c5eb [NTOS][MUP]: Use the correct constant for the PriorityBoost parameter in the IoCompleteRequest calls.
svn path=/trunk/; revision=71331
2016-05-15 00:18:44 +00:00
Hermès Bélusca-Maïto a8924f81c4 [DRIVERS][NTOSKRNL]
Don't use PWORK_QUEUE_ITEM casts in ExQueueWorkItem calls, but use the explicit underlaying work queue item object instead.

svn path=/trunk/; revision=71330
2016-05-15 00:16:31 +00:00
Thomas Faber 1ebef466b4 [NTOS:MM]
- Keep track of physical pages allocated for special pool, and respect the initially calculated MiSpecialPagesNonPagedMaximum

svn path=/trunk/; revision=71304
2016-05-10 11:47:05 +00:00
Thomas Faber c2cc2ba3be [NTOS:SE]
- In SepPropagateAcl, gracefully handle unknown ACE types by simply copying them.
CORE-10694 #resolve

svn path=/trunk/; revision=71296
2016-05-09 08:49:18 +00:00
Mark Jansen 6137e4a401 [NTOSKRNL] Fix NtApphelpCacheControl image lookup failure return codes when validating file times.
Also silence some debug outputs in the normal usage flow.

svn path=/trunk/; revision=71263
2016-05-05 14:13:29 +00:00
Mark Jansen 3a8ce2cae5 [NTOSKRNL][NTDLL_APITEST] Fix error returned from NtCreateSection when opening an empty file. CORE-11166
svn path=/trunk/; revision=71261
2016-05-05 12:06:07 +00:00
Thomas Faber c55c338dfa [NTOS:CM]
- Correctly handle NULL Data with nonzero DataSize in NtSetValueKey
ROSTESTS-200 #resolve

svn path=/trunk/; revision=71232
2016-05-02 13:19:44 +00:00
Amine Khaldi 08a0346e9f [SDK] One step further towards ReactOS source code tree restructure: the sdk folder that groups includes, libraries and tools. CORE-9111
svn path=/trunk/; revision=71184
2016-04-20 12:36:25 +00:00
Pierre Schweitzer eb85db6579 [NTOSKRNL]
Typo--;

svn path=/trunk/; revision=71179
2016-04-19 06:25:18 +00:00
Pierre Schweitzer d1a397ab03 [NTOSKRNL]
Use the PairCount variable of the MCB to store the current amount of runs in the table. This will be properly used later on.

CORE-11002

svn path=/trunk/; revision=71178
2016-04-18 20:49:14 +00:00
Thomas Faber f66b801a75 [NTOS:KE]
- In debug builds, restore EBP early in KiSwitchThreads to get a sensible backtrace
CORE-11123

svn path=/trunk/; revision=71175
2016-04-17 09:55:13 +00:00
Timo Kreuzer b5478dccca [NTOSKRNL]
Modify the ret8 interrupt return path in KiTrapExitStub, so that nested interrupts (e.g. as a result of an interrupt storm from a broken driver) will work more "like on Windows", i.e., now the broken driver will not cause stack exhaustion anymore, but a proper system hang! And it will be an even more efficient system hang than Windows has! This is not the '90s. You can't just walk up and crash the system, you have to do something cool first and do it properly "like Windows does", even if you're not using the same assembly instructions.

svn path=/trunk/; revision=71174
2016-04-16 22:38:11 +00:00
Timo Kreuzer 5e40514cb7 [XDK/DDK] Update ASSERT definitions based on latest WDK (with some modifications regarding cast to void and macro parameter expansion). Use NT_ASSERT for ASSERT globally on reactos MSVC builds.
svn path=/trunk/; revision=71172
2016-04-16 15:53:32 +00:00
Timo Kreuzer 851f35f9cf [XDK/DDK] Fix prototype of FsRtlRegisterUncProvider, based on latest WDK
svn path=/trunk/; revision=71170
2016-04-16 13:14:31 +00:00
Thomas Faber 05c5e89e5d [NTOS][WIN32K]
- Disable some noisy DPRINTs

svn path=/trunk/; revision=71168
2016-04-16 10:38:58 +00:00
Pierre Schweitzer d23404960a [NTOSKRNL]
In FsRtlAddBaseMcbEntry(), don't merge runs in case there's a hole in LBNs

CORE-11002

svn path=/trunk/; revision=71166
2016-04-15 20:50:40 +00:00
Thomas Faber 9313bf7d63 [NTOS:MM]
- Fix list walk in MmGetSessionById

svn path=/trunk/; revision=71161
2016-04-15 18:30:18 +00:00
Thomas Faber 519abb5b4a [NTOS:IO]
- Avoid excessive stack usage in IopInitializeDriverModule.

svn path=/trunk/; revision=71157
2016-04-14 15:18:53 +00:00
Thomas Faber d58a87beca [NTOS:PS]
- Return sensible values for KernelTime/UserTime from NtQueryInformationProcess:ProcessTimes
CORE-7007 #resolve

svn path=/trunk/; revision=71153
2016-04-12 17:44:47 +00:00
Pierre Schweitzer 7598e7c2c4 [NTOSKRNL]
In FsRtlAddBaseMcbEntry(), try to detect incompatible LBNs before altering mappings.

This fixes a few tests failures

CORE-11002

svn path=/trunk/; revision=71145
2016-04-11 20:29:35 +00:00
Pierre Schweitzer 277ab38c90 [NTOSKRNL]
In  FsRtlAddBaseMcbEntry(): only merge runs if LBNs are consistent.

This fixes a few failing tests.

CORE-11002

svn path=/trunk/; revision=71137
2016-04-10 10:29:28 +00:00
Pierre Schweitzer e845d90149 [NTOSKRNL]
Drop dead code in FsRtlAddBaseMcbEntry().

CORE-11002

svn path=/trunk/; revision=71132
2016-04-09 22:18:14 +00:00
Thomas Faber b05fcc754d [NTOS:WMI]
- Avoid a memory leak in failure case of WmipGetRawSMBiosTableData.
CORE-11095 #resolve

svn path=/trunk/; revision=71129
2016-04-09 16:16:12 +00:00
Thomas Faber 472b96ba74 [NTOS:IO]
- Do not leak ServiceName in IopInitializeBuiltinDriver
CORE-11084 #resolve

svn path=/trunk/; revision=71111
2016-04-06 20:10:09 +00:00
Thomas Faber f860a631fc [NTOS:IO]
- Get rid of some magic numbers

svn path=/trunk/; revision=71110
2016-04-06 20:02:38 +00:00
Thomas Faber 552f1fd24d [NTOS:IO]
- Handle RtlCreateUnicodeString failure in IopInitializeBuiltinDriver. Patch by Víctor Martínez Calvo. CID 1341416
CORE-11029 #resolve

svn path=/trunk/; revision=71109
2016-04-06 20:00:34 +00:00
Pierre Schweitzer d741481035 [NTOSKRNL]
Rework debug prints in Mcb, this is what helped bringing the infamous r71091.
NFC.

CORE-11002

svn path=/trunk/; revision=71096
2016-04-03 20:17:09 +00:00
Thomas Faber d4705d3a33 [NTOS:PNP]
- Fix indentation in PnpRootPdoPnpControl. Also avoid unnecessary casts. No functional changes.

svn path=/trunk/; revision=71083
2016-03-31 07:54:52 +00:00
Thomas Faber 72cf18964b [NTOS:PNP]
- Avoid INVALID_HANDLE_VALUE, it's not meant for the kernel.

svn path=/trunk/; revision=71082
2016-03-31 07:51:08 +00:00
Pierre Schweitzer 2bff25caed [NTOSKRNL]
Fix build.
Seriously... GCC, you allow this?!

svn path=/trunk/; revision=71032
2016-03-20 19:30:43 +00:00
Pierre Schweitzer 0a5da2af17 [NTOSKRNL]
Implement in a really simple way CcSetBcbOwnerPointer() and CcUnpinDataForThread(). They don't do everything the Windows Cc does, but at least, they do the basic job.

CORE-10996

svn path=/trunk/; revision=71030
2016-03-20 18:33:54 +00:00
Amine Khaldi 024dcc7549 [MUP][NTOS] Fix some misspellings. By Jared Smudde. CORE-10984
svn path=/trunk/; revision=71021
2016-03-18 10:29:46 +00:00
Pierre Schweitzer 5e3fd4edeb [NTOSKRNL]
The Ewoks concil said it's fine to dereference null pointers in the kernel, so, partly revert r70819 (by partly, I mean: revert everything excepted the comments that were fixed!).
Also add asserts that exist on Windows to make it obvious we're about to kill the whole kernel

To make it clear: fix the FSD!

svn path=/trunk/; revision=70824
2016-02-29 21:45:44 +00:00
Pierre Schweitzer 2f26a4a9e9 [NTOSKRNL]
Don't attempt to null-dereference fastio routine without checking whether it was set first.

This fixes RW with FSDs using cache but no FastIO possibilities.

CORE-10892

svn path=/trunk/; revision=70819
2016-02-29 13:59:32 +00:00
Amine Khaldi 9ddf12fef6 [NTOSKRNL] Demote the UNIMPLEMENTED_DBGBREAK in WmiSetMark() to UNIMPLEMENTED. By Jared Smudde. CORE-10687
svn path=/trunk/; revision=70791
2016-02-27 20:18:14 +00:00
Pierre Schweitzer 7c336358c8 [NTOSKRNL]
Implement the MiWriteCombined case of MmMapIoSpace().

This fixes NVIDIA display drivers loading in ReactOS. See: https://www.reactos.org/forum/viewtopic.php?p=120359#p120359

svn path=/trunk/; revision=70774
2016-02-22 22:52:35 +00:00
Pierre Schweitzer 515de755e6 [NTOSKRNL]
If the cache wasn't initialized by the FSD serving the image, don't allow section creation to avoid later (dramatic) failure in CC.

Based on a patch by Sylvain Deverre.

CORE-10038 #comment Modified patch committed in r70756

svn path=/trunk/; revision=70756
2016-02-15 21:22:05 +00:00
Hermès Bélusca-Maïto 10bff42ab6 Remove redundant extra terminating ';' in all of our C code.
svn path=/trunk/; revision=70690
2016-02-04 20:42:07 +00:00
Hermès Bélusca-Maïto 02e447d135 [CODE]: s/interupt/interrupt/
svn path=/trunk/; revision=70689
2016-02-04 20:27:44 +00:00
Hermès Bélusca-Maïto 9cc0aedad7 [FREELDR][STREAM][NTOS]
Replace old bugzilla report IDs to their JIRA counterparts.

[LIBUSB]
The third parameter of IoRegisterDeviceInterface is a pointer (optional). Use NULL instead of 0.

svn path=/trunk/; revision=70680
2016-02-03 00:37:23 +00:00
Hermès Bélusca-Maïto 4d428f4551 [NTOS:INBV]
- Initialize global variables to known default values.
- When Inbv initializes the display, reset the video mode *ONLY* if we do not have a custom boot logo (because otherwise we want to see our custom boot logo!). This also fixes the video mode used by ReactOS when booting it using Windows ntldr!

svn path=/trunk/; revision=70678
2016-02-02 23:28:45 +00:00
Aleksey Bragin 7b1920c911 [NTOSKRNL]
- Fix a typo.

svn path=/trunk/; revision=70637
2016-01-22 09:23:21 +00:00
Alex Ionescu ba3178b813 [CMLIB/NTOSKRNL]: Move key deletion functions to cmlib, so that UEFI boot library can use them.
[BOOTLIB]: Implement BCD element deletion (bootreg: implement key deletion)
[BOOTMGR]: Implement BL_FATAL_ERROR_BCD_ENTRIES fatal error.
[BOOTMGR]: Stubplement support for memory list data parsing (when memtest.efi will run), and stubplement support for boot persistent data blobs.
[BOOTMGR]: Stubplement boot sequence support, create stub for boot entry population.
[BOOTMGR]: Stubplement boot entry selection, create stub for boot entry enumeration.
Mostly factoring-level changes to get us closer to the needed code paths.

svn path=/trunk/; revision=70609
2016-01-17 21:48:00 +00:00
Hermès Bélusca-Maïto 5a29ec2659 [CMLIB]
- One less hardcoded number.
- Minor code formatting.

[NTOS]
- Minor code formatting (cmvalche.c).
- The key-node timestamp can usually be retrieved without using another temporary value.
- The security descriptor copy allocated for the hive can be freed after it was assigned to it.

[MKHIVE]
- Minor formatting of the source headers.
- Update the list of registry value types; add another error code (to be used later on).
- Remove now unused "ntoskrnl.h" header.

CORE-10793

svn path=/trunk/; revision=70601
2016-01-16 23:54:45 +00:00
Hermès Bélusca-Maïto ab7ca4116c [CMLIB]
- Fix some structure definitions to match Win2k3 symbols (define also _SECURITY_DESCRIPTOR_RELATIVE for the host-tools so that the CM_KEY_SECURITY structure is always correctly defined).
- Complete other structure definitions with respect to the NT version defined at compile time; http://msdn.mirt.net/ was used as the source of information.
- Add the definition of CM_BIG_DATA for supporting big valued keys (see also http://www.msuiche.net/2009/06/07/windows-vista-and-later-registry-secrets/ for what they are).

[NTOS]
- Move CM functions defined in the CMLIB out of the internal ntoskrnl headers.

svn path=/trunk/; revision=70579
2016-01-12 21:37:36 +00:00
Hermès Bélusca-Maïto d0eb702ec2 [NTOS:CONFIG]
Remove a very old hack (that dated back from the Configuration Manager rewrite): now the hives are already correctly loaded in memory, therefore there is no need to call CmCreateRootNode after creating a hive, because the root node is subsequently initialized with calls to CmpCreateLinkNode. The comment saying that calls to CmCreateRootNode can be removed when CmpCreateLinkNode is used, is now in order. This means we correctly parse & mount the hives. The CmCreateRootNode function is now only used in the 'mkhive' tool in order to create file hives, since this tool needs to create new hives from nowhere (that's why also our bootloaders do not need this function: they only load & parse existing hive files).

The fact that this hack remained caused us hidden troubles: some hives (SAM, SOFTWARE) had "two" root keys: a first one that was unused (which was created by this hackish call), and the second one which was the one used (and was created by CmpCreateLinkNode as expected).

svn path=/trunk/; revision=70575
2016-01-11 00:37:44 +00:00
Hermès Bélusca-Maïto a677879087 [NTOS:CONFIG]
- Remove useless casts.
- Fix a REG_OPTION_* hack.

svn path=/trunk/; revision=70573
2016-01-10 22:35:09 +00:00