Timo Kreuzer
11c78f701d
[NTOS:MM] Implement x64 version of MI_MAKE_SUBSECTION_PTE
2017-12-20 06:56:09 +01:00
Ivan Labutin
8723be733c
[NTOS:PS] Skip backtrace on non-x86
2017-12-20 06:56:09 +01:00
Ivan Labutin
0d01b00871
[NTOS:FSRTL] Fixed incorrect comparison
2017-12-20 06:56:09 +01:00
Ivan Labutin
d6792047f3
[NTOS][NDK][RTL] A bunch of 'wrong size' fixes
2017-12-20 06:56:09 +01:00
Ivan Labutin
4d35d59fb9
[NTOS:MM] Quick fix: use SIZE_T instead of ULONG, because ULONG is 32-bit and on 64-bit truncates values
2017-12-20 06:56:09 +01:00
Ivan Labutin
ede3f4d449
[NTOS:KE] Improve readability of CPU flag checks and fix error checking wrong register for HT support
2017-12-20 06:56:09 +01:00
Ivan Labutin
5857733996
[NTOS:KE] Remove duplicate NX enabling
2017-12-20 06:56:09 +01:00
Ivan Labutin
39dd47cebb
[NTOS:MM] Comment out debug code for x86 that should not run on x64
2017-12-20 06:56:09 +01:00
Ivan Labutin
1aa70ef6d1
[NTOS:KE] Move RtlpUse16ByteSLists initialization into KiInitializeKernel
2017-12-20 06:56:09 +01:00
Ivan Labutin
b9f592c054
[NTOS:KE] EFER constants fix
2017-12-20 06:56:09 +01:00
Timo Kreuzer
92b8d327b9
[NTOSKRNL] Fix return of uninitialized variable in PspSetQuotaLimits
...
CID-1322247
2017-12-20 05:23:06 +01:00
Pierre Schweitzer
4ef08871ee
[NTOSKRNL] Make again an attempt at killing the IopParseDevice() hack.
...
For the record, the only place it was remaining was 1st stage, notably because
FSD (FastAT <3) was missing a few features. As this features weren't triggered
in 3rd stage (unless forced), it was not needed there any longer.
Now that they are implemented, and seem working out of the box, this hack might
not be longer anymore.
This is my ... ?! pfff attempt at killing it. It might not be the last, so just
disabling the hack for now. If there are no regressions (who can really believe that?)
we'll be clear for dropping it once for all.
2017-12-17 23:30:58 +01:00
Serge Gautherie
614ace03fa
[NTOS:MM] Fix NtFreeVirtualMemory() FreeType parameter checks. CORE-13126
2017-12-15 11:56:35 +01:00
Thomas Faber
7e8de26164
[NTOS:KD] Pass PreviousMode down to KdpPrintString, since ExGetPreviousMode is not accurate. CORE-14103
2017-12-14 11:46:18 +01:00
Thomas Faber
7b95fcf93d
[NTOS:KD] Avoid _alloca inside SEH, as it's apparently incompatible with PSEH. CORE-14103
2017-12-14 11:46:16 +01:00
Thomas Faber
a07b569b25
[NTOS:KD] Don't assume null termination in KdpSerialDebugPrint and KdpScreenPrint. CORE-14057 CORE-14103
2017-12-14 11:46:14 +01:00
Amine Khaldi
631a14ff64
[ASM][NDK][NTOS] Rename Self to SelfPcr in the KIPCR structure.
2017-12-13 13:49:00 +01:00
Amine Khaldi
24f35397c6
[NTOS] Add some header guards.
2017-12-12 12:42:13 +01:00
Thomas Faber
68ebcf16b8
[NTOS:KD] Protect against invalid user arguments for BREAKPOINT_LOAD_SYMBOLS. CORE-14057
2017-12-10 15:26:18 +01:00
Thomas Faber
34ccecbce8
[NTOS:KD] Protect against invalid user arguments in KdpPrintString. CORE-14057
2017-12-10 15:26:18 +01:00
Thomas Faber
1a38c76266
[NTOS:KD] Protect against invalid user arguments in KdpPrompt. CORE-14057
2017-12-10 15:26:18 +01:00
Thomas Faber
81532227b6
[NTOS:MM] Implement and use MiAcquirePfnLockAtDpcLevel/MiReleasePfnLockFromDpcLevel.
2017-12-08 10:32:22 +01:00
Thomas Faber
da5949280c
[NTOS:MM] Use inline functions to acquire/release the PFN lock.
2017-12-08 10:32:08 +01:00
Pierre Schweitzer
c473b1a4d6
[NTOSKRNL] Only activate dumper in DBG builds
2017-12-05 23:28:04 +01:00
Pierre Schweitzer
149e1a2610
[NTOSKRNL] Add a non paged memory dumper in case of low memory situation.
...
Its purpose is to dump the non paged consumption, tag by tag,
to allow tracking potential faulting driver in case ReactOS starts lacking memory.
This will look like what !poolused outputs, even though it doesn't deal with paged pool.
Thanks to Thomas for his kind review and improvement suggestions.
CORE-14048
2017-12-05 23:19:11 +01:00
Pierre Schweitzer
9ecbbe2a33
[NTOSKRNL] Use ExAllocatePoolWithQuotaTag() when allocating SystemBuffer for the IRP
...
That way, in case the system lacks memory, an exception is thrown and IRP isn't sent
to the device with NULL SystemBuffer.
CORE-14048
2017-11-26 14:03:30 +01:00
Pierre Schweitzer
d01184b164
[NTOSKRNL] Use cache aligned buffer for devioctrl
2017-11-26 14:03:30 +01:00
Amine Khaldi
09c06a2f45
[CLANG-CL] Initial commit that allows us to compile ReactOS with clang-cl.
2017-11-23 14:09:57 +01:00
Pierre Schweitzer
2284a457a3
[NTOSKRNL] Fix MSVC build: don't attempt to return in a void function
2017-11-18 18:38:36 +01:00
Pierre Schweitzer
d3d5853956
[NTOSKRNL] Implement FsRtlCheckOplock(), FsRtlCurrentBatchOplock(), FsRtlInitializeOplock(), FsRtlOplockFsctrl(), FsRtlOplockIsFastIoPossible(), FsRtlUninitializeOplock().
...
But also, implement FsRtlNotifyCompletion(), FsRtlCompletionRoutinePriv(), FsRtlRemoveAndCompleteWaitIrp(), FsRtlCancelWaitIrp(), FsRtlWaitOnIrp(), FsRtlOplockBreakNotify(), FsRtlRemoveAndCompleteIrp(), FsRtlCancelOplockIIIrp(), FsRtlAcknowledgeOplockBreak(), FsRtlOpBatchBreakClosePending(), FsRtlAllocateOplock(), FsRtlCancelExclusiveIrp(), FsRtlRequestExclusiveOplock(), FsRtlRequestOplockII(), FsRtlOplockCleanup(), FsRtlOplockBreakToNone(), FsRtlOplockBreakToII().
In short... Implement oplocks support in ReactOS.
2017-11-18 18:23:57 +01:00
Pierre Schweitzer
2b217e4ecf
[NTOSKRNL]
...
Don't make CcSetReadAheadGranularity() whine for every single file opened by FSDs making use of it.
2017-11-18 18:00:48 +01:00
Pierre Schweitzer
64cb138a67
[NTOSKRNL] In CcPurgeCacheSection(), don't assume the file being purged isn't used. Handle that case properly instead of asserting.
...
This fixes a triggerable ASSERT from umode where you open a file on a CDFS (with MS CDFS) and attempt to lock the volume.
2017-11-18 17:54:54 +01:00
Pierre Schweitzer
4768a371f4
[NTOSKRNL]
...
When CcPurgeCacheSection() succeed, make it return TRUE so that callers don't believe it always fail
2017-11-18 17:54:54 +01:00
Hermès Bélusca-Maïto
0b2bbd1125
[NTOS] Addendum to da81345: Fix checks when a hive is opened in shared mode.
2017-11-13 00:27:41 +01:00
Pierre Schweitzer
1d777ffab5
[NTOSKNRL] In NtWriteFile, remove the check that is now redundant with ObReferenceFileObjectForWrite().
...
CORE-14003
2017-11-12 22:39:40 +01:00
Pierre Schweitzer
c3d5a3f2bd
[NTOSKRNL] In NtWriteFile, quit using ObReferenceObjectByHandle in favor of ObReferenceFileObjectForWrite().
...
This avoids RO FSDs being called for write operations.
CORE-14003
2017-11-12 22:39:40 +01:00
Pierre Schweitzer
3b64f7f8fb
[NTOSKRNL] Implement (with many FIXMEs) ObReferenceFileObjectForWrite() so that it can already do the job!
...
CORE-14003
2017-11-12 22:39:40 +01:00
Pierre Schweitzer
7eefe70294
[NTOSKRNL] Implement IoComputeDesiredAccessFileObject() based on checks performed in NtFlushBuffersFile()
...
CORE-14003
2017-11-12 22:39:40 +01:00
Hermès Bélusca-Maïto
da8134527b
[NTOS] Do not perform hive write operations when we are not supposed to.
...
- When we are in LiveCD mode (more generally, when hives are shared), load
the system hives as volatile.
- Ignore hive write operations when everything operates in read-only mode
and just return success instead.
- Just return success on hive file I/O if no file is associated with a
given hive. This happens when e.g. a CM hive has a primary but no log.
2017-11-12 22:02:45 +01:00
Pierre Schweitzer
1bef48796e
[NTOSKRNL] Add a FIXME in NtWriteFile() that explains how broken is our current implementation regarding read-only FSDs
2017-11-12 21:11:22 +01:00
Pierre Schweitzer
f88fe43abd
[NTOSKRNL] It is forbidden to call DbgPrint at DISPATCH_LEVEL with %wZ
2017-11-12 18:51:07 +01:00
Thomas Faber
c72066f87f
[NTOS:KDBG] Silence clang -Wstring-plus-int warnings.
...
..\ntoskrnl\kdbg\i386\i386-dis.c(3131,23): warning: adding 'char' to a string does not append to the string [-Wstring-plus-int]
oappend ("%cs:" + intel_syntax);
~~~~~~~^~~~~~~~~~~~~~
..\ntoskrnl\kdbg\i386\i386-dis.c(3131,23): note: use array indexing to silence this warning
oappend ("%cs:" + intel_syntax);
^
& [ ]
2017-11-09 21:27:09 +01:00
Thomas Faber
fcbfa843da
[NTOS:KDBG] Portably read control registers.
...
Fixes clang warning:
..\ntoskrnl\kdbg\kdb.c(175,25): warning: variable 'TrapCr4' is uninitialized when used here [-Wuninitialized]
KdbTrapFrame->Cr4 = TrapCr4;
^~~~~~~
..\ntoskrnl\kdbg\kdb.c(140,45): note: initialize the variable 'TrapCr4' to silence this warning
ULONG TrapCr0, TrapCr2, TrapCr3, TrapCr4;
^
= 0
2017-11-09 21:27:07 +01:00
Pierre Schweitzer
e88eeb21af
[NTOSKRNL] Make the CcWaitForCurrentLazyWriterActivity() stub return success instead of hacking FSDs.
...
Suggested by Thomas
2017-11-06 21:45:55 +01:00
Serge Gautherie
abb6ad90f5
[MOUNTMGR][NTOSKRNL] ZwWriteFile() calls: Use explicit NULL instead of ambiguous 0. CORE-13910
2017-10-29 10:04:40 +01:00
Amine Khaldi
840320cbd1
[NTOS] Add missing brackets. Comment out some unused statements. CORE-11799 ( #94 )
2017-10-28 15:19:17 +01:00
Serge Gautherie
11baa0d723
[NTOSKRNL][ROSSYM] ZwReadFile() calls: Use explicit NULL instead of ambiguous 0. CORE-13910
2017-10-27 13:38:02 +02:00
Timo Kreuzer
959d9c6201
[NTOSKRNL] Fix out-of-bounds access (CID-1401083) and potencial memory leak in FsRtlIsNameInExpressionPrivate
2017-10-26 20:52:27 +02:00
Timo Kreuzer
561f18afea
[NTOSKRNL] Fix our-of-bounds access and memory leak (CID-1401178, 1401177) in FsRtlIsDbcsInExpression
2017-10-26 20:52:27 +02:00
Timo Kreuzer
c66b66656b
[NTOSKRNL] Add ASSERTs to make sure, we never use an uninitialized variable
2017-10-19 08:36:57 +02:00
Colin Finck
a7d388c350
[KD] [KD64] Introduce KdpPrintBanner and use it in all places where we print the (now consistent) banner instead of copying the code over and over again.
...
I still don't like that we're copying code between KD and KD64 instead of sharing it.
But as both modules are totally distinct at the moment, I won't be the one introducing shared functions between them.
This is a follow up to 50ae5e7c52
, which TortoiseGit accidentally turned into a "Message only" commit...
Never hit ALT+Y by mistake! ;)
2017-10-16 11:47:14 +02:00
Colin Finck
2cf30244cf
[KD] Output the long commit hash as well at the start of the debug log.
...
This will be used by Testman.
Previously, it had to translate the short hash from the build number to a long hash, but such a database (GitInfo) only exists for commits in the master branch.
2017-10-16 10:38:12 +02:00
Timo Kreuzer
24856b8de6
[NTOSKRNL] Add back parentheses that got removed in r75605
2017-10-08 14:53:04 +02:00
Hermès Bélusca-Maïto
221ed4cefe
Remove unwanted .gitignore files.
2017-10-04 10:28:36 +02:00
Colin Finck
3d6040615a
Make ReactOS report the Git revision as output by "git describe".
...
- REVISION is now something like "0.4.7-dev-53-g1304b53" instead of "r12345".
- Change WINDOWS_NT_BANNER to better represent the ReactOS version and the reported NT version.
- Introduce REACTOS_COMMIT_HASH which contains the full 40-character commit hash (for comparing revisions, e.g. in rosautotest/testman).
2017-10-03 12:55:38 +02:00
Colin Finck
c2c66aff7d
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
2017-10-03 07:45:34 +00:00