mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 03:05:40 +00:00
[NTOS/MM] Force flushing when the page is dirtified in user mode
This commit is contained in:
parent
91edefa11e
commit
7dab3583cc
1 changed files with 5 additions and 2 deletions
|
@ -4620,7 +4620,7 @@ MmRosFlushVirtualMemory(
|
||||||
if (Entry != 0)
|
if (Entry != 0)
|
||||||
{
|
{
|
||||||
/* This will write the page to disk, if needed */
|
/* This will write the page to disk, if needed */
|
||||||
MmCheckDirtySegment(Segment, &SegmentOffset, MmIsDirtyPage(Process, CurrentAddress), FALSE);
|
MmCheckDirtySegment(Segment, &SegmentOffset, Process ? MmIsDirtyPage(Process, CurrentAddress) : FALSE, FALSE);
|
||||||
Iosb->Information += PAGE_SIZE;
|
Iosb->Information += PAGE_SIZE;
|
||||||
}
|
}
|
||||||
SegmentOffset.QuadPart += PAGE_SIZE;
|
SegmentOffset.QuadPart += PAGE_SIZE;
|
||||||
|
@ -4694,7 +4694,10 @@ MmCheckDirtySegment(
|
||||||
|
|
||||||
/* Drop the reference we got */
|
/* Drop the reference we got */
|
||||||
Entry = MAKE_SSE(Page << PAGE_SHIFT, SHARE_COUNT_FROM_SSE(Entry) - 1);
|
Entry = MAKE_SSE(Page << PAGE_SHIFT, SHARE_COUNT_FROM_SSE(Entry) - 1);
|
||||||
if (DirtyAgain) Entry = DIRTY_SSE(Entry);
|
if (DirtyAgain)
|
||||||
|
{
|
||||||
|
Entry = DIRTY_SSE(Entry);
|
||||||
|
}
|
||||||
MmSetPageEntrySectionSegment(Segment, Offset, Entry);
|
MmSetPageEntrySectionSegment(Segment, Offset, Entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue