Eric Kohl
167bffd80f
[NTOSKRNL] Add and call the CmpSaveBootControlSet() stub.
2018-12-16 12:49:59 +01:00
Eric Kohl
e8d16d0a7d
[NTOSKRNL] Fix indentation. No code changes.
2018-12-16 10:30:23 +01:00
Andrew Boyarshin
3ba51dc218
[NTOS:MM] Fix typo in MiCheckForUserStackOverflow
2018-12-12 12:57:08 +01:00
Eric Kohl
12fdc129cf
[NTOSKRNL] IopGetDeviceProperty: Send an IRP_MN_QUERY_CAPABILITIES request to the device in order to query the power capabilities.
2018-12-10 00:37:04 +01:00
Pierre Schweitzer
962b2fd66a
[NTOSKRNL] Implement SystemDpcBehaviourInformation query
2018-12-09 20:54:40 +01:00
Pierre Schweitzer
13d9d3ebbf
[NTOSKRNL] Also account PRCBs for Io operations counters
2018-12-09 19:30:07 +01:00
Pierre Schweitzer
e632375851
[NTOSKRNL] For SystemPerformanceInformation, return some info extracted from PRCB
...
This notably includes the amount of context switchs and system calls.
2018-12-09 18:56:50 +01:00
Pierre Schweitzer
4d974e56ee
[NTOSKRNL] Return the amount of hits in system lookaside lists in ExQueryPoolUsage()
2018-12-09 18:25:11 +01:00
Timo Kreuzer
431643b9b3
[NTOS:LPC] Add a number of DPRINTs on failure
2018-12-09 03:16:19 +01:00
Pierre Schweitzer
182cc5c5ab
[NTOSKRNL] Don't dereference VACB when allocating its memory area fails
...
This avoids performing a double-free (even though that's hidden by the
fact we use lookaside allocations for VACB), and it avoids freeing
a memory address at an uninitialized address.
We don't care about references here, the VACB was just allocated, never
linked and we're its only user.
CORE-15413
2018-12-08 19:56:03 +01:00
Pierre Schweitzer
67e7399164
[NTOSKRNL] Use proper enum type for IopCreateSecurityDescriptorPerType()
2018-12-04 19:20:47 +01:00
Pierre Schweitzer
73e7a5d474
[NTOSKRNL] Use the appropriated security descriptor when creating a device
...
CORE-9176
2018-12-04 19:13:57 +01:00
Pierre Schweitzer
36c38c45ee
[NTOSKRNL] Implement IopCreateDefaultDeviceSecurityDescriptor() and IopCreateSecurityDescriptorPerType()
...
CORE-9176
2018-12-04 19:13:57 +01:00
Andrew Boyarshin
198601a101
[NTOS:IO] Tiny improvement to debug message
...
Add quotes around string, since it is often empty, thus confusing in log.
2018-11-25 11:31:12 +01:00
Bernhard Feichtinger
8a0495063b
[NTOS:MM] Handle unimplemeted case for MiCheckForUserStackOverflow
2018-11-25 11:29:18 +01:00
Hermès Bélusca-Maïto
f87d9caf77
[NTOS:IO] Finally remove the dreadful IopParseDevice() hack! \o/
2018-11-25 09:00:40 +01:00
Pierre Schweitzer
4f1e9252f1
[NTOSKRNL] ExfReleaseRundownProtectionCacheAware*() functions don't return anything
2018-11-17 17:36:18 +01:00
Pierre Schweitzer
7ed17cd714
[NTOSKRNL] Implement ExfReInitializeRundownProtectionCacheAware()
...
We're done with cache-aware rundown protections!
2018-11-17 16:44:37 +01:00
Pierre Schweitzer
05cca64448
[NTOSKRNL] Implement ExfRundownCompletedCacheAware()
2018-11-17 16:44:37 +01:00
Pierre Schweitzer
fed61c6305
[NTOSKRNL] Replace ExGetRunRefForCurrentProcessor() by a more generic function
2018-11-17 16:44:36 +01:00
Pierre Schweitzer
7e849470af
[NTOSKRNL] Implement ExfWaitForRundownProtectionReleaseCacheAware()
2018-11-17 16:44:36 +01:00
Pierre Schweitzer
acdf74aa3b
[NTOSKRNL] Properly align runrefs on SMP in ExInitializeRundownProtectionCacheAware()
2018-11-17 16:44:36 +01:00
Pierre Schweitzer
c5db202bdc
[NTOSKRNL] Properly align allocation on SMP in ExAllocateCacheAwareRundownProtection()
2018-11-17 16:44:36 +01:00
Pierre Schweitzer
36fadc2dca
[NTOSKRNL] Implement ExfAcquireRundownProtectionCacheAwareEx(), ExfReleaseRundownProtectionCacheAwareEx()
2018-11-17 16:44:35 +01:00
Pierre Schweitzer
afb2214154
[NTOSKRNL] Simplify implementation of ExfAcquireRundownProtectionCacheAware(), ExfReleaseRundownProtectionCacheAware()
2018-11-17 16:44:35 +01:00
Pierre Schweitzer
010b9b5469
[NTOSKRNL] Implement ExGetRunRefForCurrentProcessor() to get runref for a proc
2018-11-17 16:44:35 +01:00
Pierre Schweitzer
7e36e76d5d
[NTOSKRNL] Implement ExfAcquireRundownProtectionCacheAware(), ExfReleaseRundownProtectionCacheAware()
2018-11-17 16:44:35 +01:00
Pierre Schweitzer
47d309b262
[NTOSKRNL] Implement ExSizeOfRundownProtectionCacheAware()
2018-11-17 16:44:35 +01:00
Pierre Schweitzer
ce94d37dbe
[NTOSKRNL] Implement ExInitializeRundownProtectionCacheAware()
2018-11-17 16:44:35 +01:00
Pierre Schweitzer
bc77f83888
[NTOSKRNL] Implement ExAllocateCacheAwareRundownProtection() and ExFreeCacheAwareRundownProtection()
2018-11-17 16:44:34 +01:00
Pierre Schweitzer
a0c33934fc
[NTOSKRNL] Properly check for negative values in IoCheckEaBufferValidity()
...
CID 1441355, 1441382
2018-11-16 22:07:08 +01:00
Pierre Schweitzer
95bc44e214
[NTOSKRNL] Don't leak DACL
...
Spotted by Thomas :-)
2018-11-11 23:21:36 +01:00
Hermès Bélusca-Maïto
cbaa8e7dfb
[NTOS:IO] RAW-FS: Few improvements.
...
- Simplify the volume-deletion code in RawCheckForDismount().
- Fixes the OpenCount check in RawClose(): the VCB mutex must be
released when the volume has not been dismounted, either because
OpenCount != 0 or because RawCheckForDismount() returned FALSE.
- Explicitly use VCB_STATE_LOCKED instead of hardcoding its value.
- In IRP_MN_VERIFY_VOLUME handling, lock the volume before playing
with it, and again let the volume be dismounted only if OpenCount == 0
(and the IoDeleteDevice() call is done by RawCheckForDismount()).
2018-11-11 21:56:18 +01:00
Hermès Bélusca-Maïto
a5ead049d9
[NTOS:IO] RAW-FS: Minor code formatting only.
2018-11-11 21:56:17 +01:00
Pierre Schweitzer
6747dacf10
[NTOSKRNL] Create a security descriptor for the \security directory object
2018-11-10 23:25:10 +01:00
Pierre Schweitzer
102ba75f15
[NTOSKRNL] Return security descriptor size when querying object basic info
2018-11-10 10:54:10 +01:00
Pierre Schweitzer
1fb32afefa
[NTOSKRNL] Return quota information when querying object basic info
2018-11-10 10:54:06 +01:00
Jérôme Gardou
df25e4e791
[NTOS/MM] Properly handle page faults in regions marked with
...
PAGE_NOACCESS or PAGE_GUARD
ROSTESTS-110
2018-11-03 12:50:16 +01:00
Jérôme Gardou
47ac7a2b28
[NTOS/MM] Move up MmAlterViewAttributes for later use in MmNotPresentFaultSectionView
...
No code change
2018-11-03 12:50:16 +01:00
Pierre Schweitzer
cf7969fbfa
[NTOSKRNL] Fix refcounting for BCBs
...
Now, we make sure that we update ref count and BCB list membership
with the BCB lock held, in a row.
This will avoid race conditions where the BCB was removed from the
list, then referenced again, leading to inconsistencies in memory
and crashes later on.
This could notably be triggered while building ReactOS on ReactOS
(one would call this a regression).
CORE-15235
2018-10-28 20:48:01 +01:00
Pierre Schweitzer
03294dd097
[NTOSKRNL] Rewrite IoCheckEaBufferValidity() so that it's less magic
...
And make its coding style consistent with our rules
2018-10-27 22:16:37 +02:00
Pierre Schweitzer
07e6af6aa1
[NTOSKRNL] Properly handle "big" security descriptors in ObpCaptureObjectCreateInformation()
2018-10-27 19:36:15 +02:00
Pierre Schweitzer
2ce071d19a
[NTOSKRNL] Implement SeComputeQuotaInformationSize()
2018-10-27 19:36:14 +02:00
Pierre Schweitzer
9c6037182c
[NTOSKRNL] Add support for unsecure object names
2018-10-27 12:01:38 +02:00
Pierre Schweitzer
0f36353551
[NTOSKRNL] Implement the ObpIsUnsecureName() helper function
2018-10-27 12:01:38 +02:00
Pierre Schweitzer
b9423f07d9
[NTOSKRNL] Add support for the ObUnsecureGlobalNames registry key
2018-10-27 12:01:38 +02:00
Pierre Schweitzer
8e51bb6510
[NTOSKRNL] Reduce noise
2018-10-27 10:04:22 +02:00
Pierre Schweitzer
18f3922725
[NTOSKRNL] Call internal helper to get VACB on mapping
...
We already properly round our offset
2018-10-27 09:38:55 +02:00
Hermès Bélusca-Maïto
83d5c711b3
[NTOS] Drastically reduce the hackish function CmpGetRegistryPath() for the text-mode setup case (it should ultimately completely disappear).
...
svn path=/branches/setup_improvements/; revision=75163
2018-10-25 00:40:03 +02:00
Hermès Bélusca-Maïto
cb69c4c691
[NTOS] Add some DPRINTs in IopLoadServiceModule() and IopOpenRegistryKeyEx() to investigate why these 1st-stage text-mode hacks may be, or are (respectively) still needed.
...
svn path=/branches/setup_improvements/; revision=74748
2018-10-25 00:40:03 +02:00