reactos/ntoskrnl
Jérôme Gardou 573d579873
[NTOSKRNL] Flush file to disk when deleting file mappings (#4302)
CORE-17627
When closing a file, fastfat zeroes it out from ValidDataLength up to the end of the file.
The ValidDataLength field is updated when the file content is actually written to disk.
There is currently a race between the file-close path and the page out path, leading to potential file corruptions when the zeroing happens after the memory has been flushed to disk.

Fix this by actually flushing the file to disk when unmapping files, with file lock acquired. This way, the FS driver cannot zero out the tail of the file while we're actually flushing it to disk.
2023-04-01 23:56:49 +09:00
..
cache [NTOS:MM] Fix another instance of reentrant spinlock acquisition 2021-06-29 11:49:20 +02:00
cc [NTOS:CC] Unintialize private cache maps before purging the cache section 2022-02-02 17:45:59 +01:00
config [NTOS:CM] Cleanup the hive in case linking it to master fails (#4969) 2023-01-03 16:48:03 +01:00
dbgk [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
ex [NTOS] Swap MAXIMUM_PROCESSORS with NUMBER_POOL_LOOKASIDE_LISTS 2022-12-28 21:09:41 +01:00
fsrtl [NTOS] Properly implement and use FsRtlAcquireFileForModWriteEx 2022-11-02 19:41:04 +01:00
fstub [NTOS:IO/FSTUB] Fix the determination of 'SingleDisk' in IoGetBootDiskInformation(). 2021-06-11 02:21:47 +02:00
inbv 🎊 🍾 🥳 Happy New Year 2023 to the ReactOS Community! 🎆 ⚛️ ☢️ 2023-01-01 00:00:00 +03:00
include [NTOS:KD] Split internal/kd.h into a part shared in the whole kernel and a private part only used within ntoskrnl/kd. 2023-03-27 23:31:34 +02:00
io [NTOS:KD][KDBG] Rework the BootPhase >= 2 initialization of the KD/KDBG kernel debugger. (#4892) 2023-03-11 01:22:19 +01:00
kd [NTOS:KD] Fix build, addendum to commit f3dd7133. 2023-03-29 03:36:24 +02:00
kd64 [NTOS:KD64] Format string of KdpDprintf can be const. 2023-03-22 19:57:59 +01:00
kdbg [NTOS:KDBG] Isolate terminal and input-related routines from the rest of KDBG. (#5188) 2023-03-29 02:42:31 +02:00
ke [NTOS] Fix interrupt flag handling in KiPageFault 2023-01-04 10:32:28 +01:00
lpc [NTOS:LPC] NtReplyWaitReceivePortEx returns the correct TotalLength for connect messages 2021-11-24 18:59:16 +01:00
mm [NTOSKRNL] Flush file to disk when deleting file mappings (#4302) 2023-04-01 23:56:49 +09:00
ntkrnlmp [CMAKE] Use the "kernel" module type for ntoskrnl and ntkrnlmp 2021-03-23 11:18:43 +01:00
ob [NTOS:OB] Implement name information querying on ObjectBasicInformation case 2023-03-25 11:55:11 +01:00
po [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
ps [KERNEL32][NTOS:PS][RTL] Cleanup some DbgPrompt() calls. 2023-01-06 14:44:49 +01:00
rtl [NDK] Add missing x64 unwind definitions 2022-07-20 23:57:42 +02:00
se [NTOS:SE][FORMATTING] Fix the file header 2023-03-07 18:39:46 +01:00
tests
vdm [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
vf
wmi [REACTOS] Fix traces with missing arguments. 2021-11-21 12:57:35 -05:00
CMakeLists.txt [CMAKE] Elimitate the use of GCC and CLANG variables 2022-05-27 01:37:34 +03:00
guid.c [NTOSKRNL] Rewrite IoAssignDriveLetters to make NT5 compliant 2019-10-21 18:28:40 +02:00
KrnlFun.c
ntdll.S
ntos.cmake [NTOS:KDBG] Isolate terminal and input-related routines from the rest of KDBG. (#5188) 2023-03-29 02:42:31 +02:00
ntoskrnl.rc [NTOS:INBV] Refactor boot screen code and resources (#1649) 2019-08-20 01:52:25 +02:00
ntoskrnl.spec [ARM] Fix some compilation errors for ARM 2021-09-09 19:40:20 +03:00
sysfuncs.lst