HHermès Bélusca-Maïto[NTOS:IO][ARBITER] Fix newline format
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[NTOS:MM] Add more checks for MEMORY_AREA_OWNED_BY_ARM3 | 1 年前 | |
[NTOS:CC] Fix CcRosDeleteFileCache race with concurrent CcFlushCache causing ASSERT(Refs > 0) Root cause: CcRosDeleteFileCache's first loop ran under the spinlock and removed VACBs from the LRU and dirty lists, but left them in CacheMapVacbListHead. It also set Vacb->Dirty = TRUE as a flush hint (after CcRosUnmarkDirtyVacb cleared it), creating an inconsistent VACB state: Dirty=TRUE but not in the dirty list, with only the cache-map-list refcount (1). After releasing the lock, the second loop removed VACBs from CacheMapVacbListHead without holding any lock. This created a race with CcFlushCache: a caller that already held a SharedCacheMap pointer could call CcRosLookupVacb between the two loops, find the VACB (refcount → 2), see Dirty=TRUE (the hack), and call CcRosFlushVacb. Meanwhile the second loop could set Dirty=FALSE, drop the cmap ref (→1, print "Leaking VACB"), and then the early-return in CcRosUnmarkDirtyVacb would skip the decrement. CcRosReleaseVacb then drops 1→0 → ASSERT(Refs > 0) fires. Before the previous fix, the same race caused ASSERT(Vacb->Dirty) in the old CcRosUnmarkDirtyVacb — the previous fix just changed which assert fired. The fix: - CcRosDeleteFileCache: VACBs are now removed from CacheMapVacbListHead in the first loop, under the spinlock, and moved to a private LocalVacbList. After the lock is released, CcRosLookupVacb can no longer find these VACBs, preventing new lookup references from being created. - CcRosReleaseVacb: Removed the overly strict ASSERT(Refs > 0). When CcRosDeleteFileCache drops the cmap ref while a lookup is outstanding, CcRosReleaseVacb legitimately releases the last reference and CcRosVacbDecRefCount correctly frees the VACB. Callers (e.g., CcFlushCache) don't access the VACB pointer afterward. Signed-off-by: Timo Kreuzer <timo.kreuzer@reactos.org> | 1 个月前 | |
[NTOS:IO] Implement Win7+ I/O System case (in)sensitivity support (#9475) This functionality is used to control the creation and opening of named device objects in a case-(in)sensitive way. It is controlled with a REG_DWORD value named `IoCaseInsensitive` inside the registry key `HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\I/O System` . When compiled for Win7+, case insensitivity is enabled, which is the expected default (like in the Object Manager). When compiled for Vista and below, case insensitivity is disabled by default. The registry setting allows changing this behaviour for backward/forward compatibility. See the comparison tables at: https://redplait.blogspot.com/2011/07/cmcontrolvector.html https://redplait.blogspot.com/2012/06/cmcontrolvector-for-w8.html https://redplait.blogspot.com/2016/03/cmcontrolvector-from-windows-10-build.html | 3 天前 | |
[NDK] Fix definition of OB_CLOSE_METHOD | 1 个月前 | |
[NTOS:EX] Fix build Forgot to update the macro constant names to EX_DELAYED_WORK_THREADS and EX_CRITICAL_WORK_THREADS down below, oopsie. | 19 天前 | |
[NDK][NTOSKRNL] Remove trailing whitespace in source files | 1 个月前 | |
[NTOS:FSTUB] Clear the whole partition table in FstubCreateDiskRaw (#9124) FstubCreateDiskRaw is supposed to wipe the MBR when it makes a RAW disk. Before this fix, that function only cleared the first of the 4 partition entries, so one entry (16 bytes) instead of the whole table (64). As a consequence, the wiped MBR written back to disk still had entries 2, 3 and 4 sitting there with old data, and those came back as ghost/garbage partitions. | 2 个月前 | |
[BOOTVID] Rename some function parameters Delta -> Stride TopDelta -> Height | 4 个月前 | |
[NTOS:IO] Implement Win7+ I/O System case (in)sensitivity support (#9475) This functionality is used to control the creation and opening of named device objects in a case-(in)sensitive way. It is controlled with a REG_DWORD value named `IoCaseInsensitive` inside the registry key `HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\I/O System` . When compiled for Win7+, case insensitivity is enabled, which is the expected default (like in the Object Manager). When compiled for Vista and below, case insensitivity is disabled by default. The registry setting allows changing this behaviour for backward/forward compatibility. See the comparison tables at: https://redplait.blogspot.com/2011/07/cmcontrolvector.html https://redplait.blogspot.com/2012/06/cmcontrolvector-for-w8.html https://redplait.blogspot.com/2016/03/cmcontrolvector-from-windows-10-build.html | 3 天前 | |
[NTOS:IO][ARBITER] Fix newline format Addendum to commit 1500a35309 (PR #9482). | 23 小时前 | |
[FREELDR][KDCOM][KDGDB] Allow specifying the serial port address in the DEBUGPORT option This is the same feature as the one that already exists in the NTOS:KD!kdmain.c module used by the in-kernel KDBG debugger (GCC builds), first introduced in commit 4ce30245de (r54473), and documented at: https://reactos.org/wiki/Debugging#Changing_the_serial_port_address This feature is useful if one uses a PCI, PCIe, PCMCIA, or ExpressCard serial card on real hardware (these cards are used e.g. with laptops without a built-in serial port), or with AMT serial over LAN. After determining the serial port I/O address (say, 0xCC00), specify the debug port as follows: /DEBUGPORT=COM:0xCC00 instead of the usual syntax: /DEBUGPORT=COMn (n an integer). The same syntax can be used for debugging FreeLoader as well: in the FREELDR.INI file, add a "Debug" line in the "FREELOADER" section, as follows: ``` [FREELOADER] Debug=/DEBUG /DEBUGPORT=COM:0xCC00 /BAUDRATE=115200 ``` ---- NOTE for KDCOM/KDGDB: Since `strtoul()` is used, but isn't exported by ntoskrnl, link against the "strtol" static library that has been introduced in commit d317d4fbcc (r71481). | 5 个月前 | |
[NTOS:KD64] Improve the ARC Paths output in the KdpPrintBanner() Instead of mixing the paths order (ArcBoot, NtHal, ArcHal, NtBoot), show them in a meaningful order: ArcHal, NtHal, ArcBoot, NtBoot. - The `ArcHalDeviceName` + `NtHalPathName` is the path to the system loader started by the firmware (and the HAL in old non-x86 Windows versions). - The `ArcBootDeviceName` + `NtBootPathName` is the operating system boot partition and directory ("system root"). | 4 个月前 | |
[NTOS:KDBG] Fix misleading indentation Address second part of comment https://github.com/reactos/reactos/commit/3726b992ed3631c3571df056da70839c35a05582#r50112970 | 5 个月前 | |
[NTOS:KE] Implement support for CycleTime accounting | 24 天前 | |
[NDK] Fix definition of OB_CLOSE_METHOD | 1 个月前 | |
[NDK][NTOSKRNL] Remove trailing whitespace in source files | 1 个月前 | |
[NTOS][NTOS:FSRTL] Use RtlIsNameInExpression for FsRtlIsNameInExpression Also link rtl_vista to ntoskrnl | 1 个月前 | |
[NTOS:OB] Unlock the object header if charging quota fails when incrementing handle count Both ObpIncrementHandleCount and ObpIncrementUnnamedHandleCount lock the object's header and charge memory quota against the said object but they forget to release the object if the operation fails. Thus resulting in a lock leak, so fix that. Also both of these functions had two return paths based on whether the object was locked or not, which it looked really ugly imo. So have these functions return in one unique path and have ObjectLocked flag decide if the object must be released or not. | 21 天前 | |
[NDK][NTOSKRNL] Remove trailing whitespace in source files | 1 个月前 | |
[APITESTS][NTOS:PS][SDK][NTUSER] Job UI Restriction support (#9448) Adds the initial attempt at handling the job ui restriction support. This doesn't protect the OS yet, however it provides everything we need to start implementing that protection. | 8 天前 | |
[AVRF] Hook up debug functions, add noisy stub for AVrfpGetStackTraceAddress | 1 年前 | |
[NTOS:SE] Notify every interested filesystem of an upcoming logon session termination ROS has SeRegisterLogonSessionTerminatedRoutine and SeMarkLogonSessionForTerminationNotification that filesystems can use to get notified of a logon session of interest that is about to be terminated as its last refcount is dereferenced. Though they're both useless because ROS lacks the necessary implementation for this kind of stuff, consequently whoever (and by that I mean FSDs) registered their callback to await for the logon session termination notification, they never get notified like at all. This patch implements the final bits of this mechanism. Also clarify some comments in the documentation. | 8 天前 | |
[REACTOS] Add missing line breaks at end of file | 1 年前 | |
[NTOSKRNL] Fix GCC 13 stringop-overflow warnings regarding KiNtVdmState GCC 13 thinks that a global 'const PULONG' that is initialized to a non-NULL value points to an object that is "likely at address zero". - Turn the macros that cause the issue into inline functions and wrap them with a GCC diagnostic pragma to silence the warning - Use KiNtVdmState in vdm/vdmexec.c - Remove the (duplicated) VdmState macro In function '_InterlockedAnd', inlined from 'KiVdmOpcodePOPF' at C:/ReactOS/reactos/ntoskrnl/ke/i386/v86vdm.c:164:5: C:/ReactOS/reactos/sdk/include/vcruntime/mingw32/intrin_x86.h:245:16: error: '__sync_fetch_and_and_4' writing 4 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=] 245 | return __sync_fetch_and_and(value, mask); | ^~~~~~~~~~~~~~~~~~~~ In function 'KiVdmOpcodePOPF': cc1.exe: note: destination object is likely at address zero | 5 个月前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
[NDK][NTOS] Change Object callback types to NT6 style This is required to support the NT6 access flags THREAD_QUERY_LIMITED_INFORMATION and THREAD_SET_LIMITED_INFORMATION. | 1 个月前 | |
[NTOS][NTOS:FSRTL] Use RtlIsNameInExpression for FsRtlIsNameInExpression Also link rtl_vista to ntoskrnl | 1 个月前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 | |
[NTOSKRNL] Rewrite IoAssignDriveLetters to make NT5 compliant The major change with this rewrite is the support for the mount manager. Fstub will now assume that most of the devices are PnP and that they are already registered to the mount manager. It will thus ask the mount manager to assign the drive letter. Fstub will keep assigning drive letters non mission critical devices such as CDs, floppies and other removable devices. See MountMgr:QueryPoints API test that will now return mount points :-). | 6 年前 | |
[NTOS:KE][NTDLL][NTDLL_VISTA] Implement NtGetCurrentProcessorNumberEx | 2 个月前 | |
[NTOS:KE][NTDLL][NTDLL_VISTA] Implement NtGetCurrentProcessorNumberEx | 2 个月前 | |
[NTOS:KE] Implement shared CPU vendor identification for x86/x64 | 1 个月前 | |
[NTOS:INBV] Isolate the bitmap resources pertaining to the boot theme/animation into their resource sub-file. | 2 年前 | |
[NTOS:IO][ARBITER][SDK] Finish the root arbiters and fix some compatibility divergences (#9482) The root memory arbiter is the most important out of all of these. The main intention here is that there's some special ranges PCI can't ever look at it even if the firmware tries to claim it can. This is missing a few gaps still! for example in another PR I'm going to add in the ACPI hal to reserve the ECAM space and once that is published itll also be added to the root mem arbiter. * [ARBITER] Resolve ARBITER_RANGE_SHARED_DRIVER, fixes compat with Vista+ * [NTOS:IO] Finish the initial impl of the Root Arbiters * [NTOS:IO][SDK] Fix RtlFindRange truncation, use the Vista+ Sig | 1 天前 | |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. | 8 年前 |