1. Is the object and handle allocated from paged/nonpaged pool? If yes, any
tag will be there to track?
2. Can any allocation be there in paged/nonpaged memory without tag (even
without wdm/ddk tag)?
3. If any handle/object leakage is there, can we catch this with Driver
Verfier? I saw that Driver verfier could not find one object leakage (I
selected only my driver in Driver Verifier). Or should I select any microsoft
driver to catch this?
4. If I map user buffer to a kernel addres space, does it map to the paged
memory address or some where else? If yes, does it have any tag?
Regards,
Deepakumar
Don't remember whether handle table is paged, probably yes.
The objects? depend on particular type. The tag names are the first 4 chars of
the type name - 'Devi' for Device etc.
> 2. Can any allocation be there in paged/nonpaged memory without tag (even
> without wdm/ddk tag)?
No. Default tag is substituted.
Mapped user buffers are not pool at all, and they are nonpaged.
--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
ma...@storagecraft.com
http://www.storagecraft.com
> Mapped user buffers are not pool at all, and they are nonpaged.
>
Then in which kernel address space they are getting mapped?
In the system PTEs area, same as used by MmMapIoSpace.
"I believe poolmon shows the total allocated size, while perfmon/taskmgr
report the total consumed pool memory, which includes pool structures,
fragmented unused space, etc."
So maybe !poolused shows the total allocated size while !vm reports the
total consumed pool memory, which includes pool structures, fragmented unused
space, etc.