[ros-bugs] [Bug 6540] New: Unneccessary unlocking and locking inside loops in MmProbeAndLockPages

ReactOS.Bugzilla at reactos.org ReactOS.Bugzilla at reactos.org
Thu Oct 6 13:01:45 UTC 2011


http://www.reactos.org/bugzilla/show_bug.cgi?id=6540

           Summary: Unneccessary unlocking and locking inside loops in
                    MmProbeAndLockPages
           Product: ReactOS
           Version: TRUNK
          Platform: x86 Hardware
               URL: http://doxygen.reactos.org/da/d4a/mm_2ARM3_2mdlsup_8c_a3
                    a089470c30c6563a17a64dcd11bceb0.html#a3a089470c30c6563a1
                    7a64dcd11bceb0
        OS/Version: ReactOS
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: Kernel
        AssignedTo: timo.kreuzer at web.de
        ReportedBy: timo.kreuzer at web.de
         QAContact: ros-bugs at reactos.org


The PFN / workingset lock is acquired at the beginning and then inside a loop 
first released and then reacquired without doing any operations with the lock 
held, except looping in th inner while loop and no operations that should 
require the pfn/ws lock to be held.

    // Lock

    do
    {
        while ((PointerPde->u.Hard.Valid == 0) ||
                 (PointerPte->u.Hard.Valid == 0))
        {
            // Unlock
           ...
            // Lock
        }

        if (MI_IS_PAGE_WRITEABLE(PointerPte) == FALSE)
        {
            if (MI_IS_PAGE_COPY_ON_WRITE(PointerPte))
            {
                // Unlock
               ...
                // Lock
            }
        }
    }


-- 
Configure bugmail: http://www.reactos.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.



More information about the Ros-bugs mailing list