it might fix an assert but the patch is incorrect. will this also take 6 months to revert?
Best regards, Alex Ionescu On Tue, Feb 17, 2015 at 6:19 AM, <jgar...@svn.reactos.org> wrote: > Author: jgardou > Date: Tue Feb 17 14:19:05 2015 > New Revision: 66334 > > URL: http://svn.reactos.org/svn/reactos?rev=66334&view=rev > Log: > [NTOSKRNL/MM] > - MiIsEntireRangeCommitted: Ensure the PTE we are checking is really > faulted in. > - Prefer MiPteToPde and MiPdeToPte (which should really be called > MiFirstPteInPde) instead of MiAddressToPte and MiPteToAddress > Fixes weird failed ASSERT in page fault handler when using DPH. > > Modified: > trunk/reactos/ntoskrnl/mm/ARM3/virtual.c > > Modified: trunk/reactos/ntoskrnl/mm/ARM3/virtual.c > URL: > http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/virtual.c?rev=66334&r1=66333&r2=66334&view=diff > > ============================================================================== > --- trunk/reactos/ntoskrnl/mm/ARM3/virtual.c [iso-8859-1] (original) > +++ trunk/reactos/ntoskrnl/mm/ARM3/virtual.c [iso-8859-1] Tue Feb 17 > 14:19:05 2015 > @@ -1994,14 +1994,13 @@ > if (OnBoundary) > { > /* Is this PDE demand zero? */ > - PointerPde = MiAddressToPte(PointerPte); > + PointerPde = MiPteToPde(PointerPte); > if (PointerPde->u.Long != 0) > { > /* It isn't -- is it valid? */ > if (PointerPde->u.Hard.Valid == 0) > { > /* Nope, fault it in */ > - PointerPte = MiPteToAddress(PointerPde); > MiMakeSystemAddressValid(PointerPte, Process); > } > } > @@ -2009,13 +2008,13 @@ > { > /* The PTE was already valid, so move to the next one */ > PointerPde++; > - PointerPte = MiPteToAddress(PointerPde); > + PointerPte = MiPdeToPte(PointerPde); > > /* Is the entire VAD committed? If not, fail */ > if (!Vad->u.VadFlags.MemCommit) return FALSE; > > - /* Everything is committed so far past the range, return > true */ > - if (PointerPte > LastPte) return TRUE; > + /* New loop iteration with our new, on-boundary PTE. */ > + continue; > } > } > > > >
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev