[NTOSKRNL] Misc fixes to Cc:
authorPierre Schweitzer <pierre@reactos.org>
Sun, 28 Jan 2018 10:09:21 +0000 (11:09 +0100)
committerPierre Schweitzer <pierre@reactos.org>
Sun, 28 Jan 2018 10:14:15 +0000 (11:14 +0100)
commit52287be9a9299ac065fdb676abb99f94007aa5b9
tree3ba8aa01104a3b3bfcfeadc15358c6e8ae181e24
parentd3e0eb2026581d5c6cf159a0a7a4fb708943fa5f
[NTOSKRNL] Misc fixes to Cc:
- CcUnpinDataForThread() only release VACB when the last BCB reference is gone. This avoids having a valid BCB with an invalid VACB
- CcRosMarkDirtyVacb() will only accept non-dirty VACB now. This avoids a major bug where a an already dirty VACB was over-dereferenced
- Thanks to previous point, simplify CcRosUnmapVacb(), CcRosReleaseVacb() implementation
- And only set VACB dirty once in CcSetDirtyPinnedData()
- Add a few sanity checks

With that I can again install ReactOS with 128MB RAM :-).

CORE-14263
CORE-14268
ntoskrnl/cc/pin.c
ntoskrnl/cc/view.c