/* Check for user-mode parameters */
if (PreviousMode != KernelMode)
{
- /* Make sure they are readable */
- ProbeForReadPointer(UBaseAddress);
- ProbeForReadUlong(URegionSize);
+ /* Make sure they are writeable */
+ ProbeForWritePointer(UBaseAddress);
+ ProbeForWriteUlong(URegionSize);
}
/* Capture their values */
/* Enter SEH */
_SEH2_TRY
{
- /* Check for user-mode parameters */
- if (PreviousMode != KernelMode)
- {
- /* Make sure they are writable */
- ProbeForWritePointer(UBaseAddress);
- ProbeForWriteUlong(URegionSize);
- }
-
/* Copy rounded values back in success case */
*UBaseAddress = BaseAddress;
*URegionSize = RegionSize;