Make special pool usable:
- Invalidate PTEs on free to catch use-after-free situations (and not confuse Mm)
- Fix pattern check not to look for more than 8 bits in a byte
- Enable POOL_FLAG_SPECIAL_POOL if special pool has been initialized
- Implement MmExpandSpecialPool
- Issue the correct SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION bugcheck when problems are detected
- Magic values--
To enable special pool for a single tag, set a value for MmSpecialPoolTag in ntoskrnl/mm/ARM3/pool.c.
To enable it for more than one tag, set MmSpecialPoolTag and modify MmUseSpecialPool in ntoskrnl/mm/ARM3/special.c (e.g. to return TRUE independent of Tag).
CORE-8680 #resolve
svn path=/trunk/; revision=64886
- Generate PAGE_FAULT_IN_NONPAGED_AREA bugcheck for PTEs that have their protection set to zero. This gives a more useful error description than the infamous 'TempPte.u.Long != 0' assertion*.
CORE-8679 #resolve
* and is also What Windows Does(TM)
svn path=/trunk/; revision=64885
- Fix a few usages of UserSetCursor
- Defer the actual freeing of cursor resources to when the object is freed for real.
CORE-7575
svn path=/trunk/; revision=64879
- "Convert" new cursor & icons implementation to the new user object handle manager.
- Fix a few idiosyncracies in the way cursor handles are used (only with USE_NEW_CURSORICON_ENABLED)
[WIN32SS]
- Storm out the flowers out of how classes use icon and cursor objects, with proper refcounting and all those joyous things.
Handles are for the powerless, kernel mode use pointers.
Only with USE_NEW_CURSORICON enabled (soon!)
CORE-7575
svn path=/trunk/; revision=64877
* Fix wrong array length passed to GetClassNameW. CID 716222
* Replace other instances of explicit array length to GetWindowTextW with _countof(x).
Based on a patch by Christoph von Wittich.
svn path=/branches/shell-experiments/; revision=64866
* Cleanup in case of error. CID 1248426
[RSHELL]
* Add uninitialized class fields. CID 1248477
* Avoid leaking memory. CID 1248438
[BROWSEUI]
* Fix potential overwriting of a variable. CID 716363
* Save the rshell handle instead of loading it every time. CID 1248435
* Fix leaked PIDL. CID 1248418
[SHELL32]
* Fix GCC build. And one small nickpick that has been bothering me for a long time.
svn path=/branches/shell-experiments/; revision=64864
- reference the current process info structure while we're leaving win32k.
The process can die anytime while we're not looking.
CORE-8663 #resolve
svn path=/trunk/; revision=64863
- Remove code that breaks wine release 1.7.29 user32 input tests. Code was there since r2505.
- So due to this commit, over compensating hacks can break.
svn path=/trunk/; revision=64860
* SHOnCWMCommandLine: Fix IETHREADPARAM leak.
[SHELL32]
* Fix HMENU leak of the popup used in the view mode button of the toolbar.
[RSHELL]
* Undo a previous change to help debug the leaks.
* Remove child submenus when closing a menu band.
* Add some extra verification for debugging purposes.
[BROWSEUI]
[RSHELL]
[SHELL32]
* Move ReleaseCComPtrExpectZero to the shared header.
svn path=/branches/shell-experiments/; revision=64858