[NTOSKRNL] Translate pinning flags to mapping flags when first mapping a file

This commit is contained in:
Pierre Schweitzer 2018-10-23 21:48:01 +02:00
parent 0e41230dac
commit f3b9beeb39
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B

View file

@ -267,6 +267,7 @@ CcpPinData(
BOOLEAN Result;
PROS_VACB Vacb;
KIRQL OldIrql;
ULONG MapFlags;
KeAcquireSpinLock(&SharedCacheMap->BcbSpinLock, &OldIrql);
NewBcb = CcpFindBcb(SharedCacheMap, FileOffset, Length, TRUE);
@ -305,7 +306,13 @@ CcpPinData(
return FALSE;
}
Result = CcpMapData(SharedCacheMap, FileOffset, Length, Flags, &Vacb, Buffer);
MapFlags = Flags & PIN_WAIT;
if (BooleanFlagOn(Flags, PIN_NO_READ))
{
SetFlag(MapFlags, MAP_NO_READ);
}
Result = CcpMapData(SharedCacheMap, FileOffset, Length, MapFlags, &Vacb, Buffer);
if (Result)
{
NewBcb = CcpGetAppropriateBcb(SharedCacheMap, Vacb, FileOffset, Length, Flags, TRUE);