https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e39fc52d25a577b3c5abd9...
commit e39fc52d25a577b3c5abd9a9c9b5d20508c42d88 Author: Jérôme Gardou jerome.gardou@reactos.org AuthorDate: Fri Dec 4 09:10:59 2020 +0100 Commit: Jérôme Gardou jerome.gardou@reactos.org CommitDate: Wed Feb 3 09:41:22 2021 +0100
[NTOS/MM] Set FSRTL_MOD_WRITE_TOP_LEVEL_IRP top-level IRP when paging-out --- ntoskrnl/mm/section.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/ntoskrnl/mm/section.c b/ntoskrnl/mm/section.c index 6b6a6cb94be..866b90810e0 100644 --- a/ntoskrnl/mm/section.c +++ b/ntoskrnl/mm/section.c @@ -4685,9 +4685,16 @@ MmCheckDirtySegment(
MmUnlockSectionSegment(Segment);
+ /* Tell the FS driver who we are */ + if (PageOut) + IoSetTopLevelIrp((PIRP)FSRTL_MOD_WRITE_TOP_LEVEL_IRP); + /* Go ahead and write the page */ Status = MiWritePage(Segment, Offset->QuadPart, Page);
+ if (PageOut) + IoSetTopLevelIrp(NULL); + MmLockSectionSegment(Segment);
/* Get the entry again */