Hello,
We have an upper filter storage driver which generates IRP requests and send them the the underlying driver. We have a problem that ExFreePool bug checks with error IRQL_NOT_LESS_OR_EQUAL when we call to it after IoCallDriver returns.
If we call ExFreePool before IoCallDriver then it doesn’t crash.
Memory is allocated from NonPagedPool
Request is IOCTL_GET_DRIVE_LAYOUT
Parameter2 (IRQL at time of reference) is equal to 2, though KeGetCurrentIrql returns 0 before the call to ExFreePool
Thanks,
Roman
What memory are you freeing? If it’s an IRP, typically you aren’t
responsible for freeing it after doing an IoCallDriver, and cannot
reference the IRP at all, unless it is being done in a completion/cancel
callback.
Gary G. Little
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Roman Kudinov
Sent: Monday, December 19, 2005 5:02 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] ExFreePool bug checks
Hello,
We have an upper filter storage driver which generates IRP requests and
send them the the underlying driver. We have a problem that ExFreePool bug
checks with error IRQL_NOT_LESS_OR_EQUAL when we call to it after
IoCallDriver returns.
If we call ExFreePool before IoCallDriver then it doesn’t crash.
Memory is allocated from NonPagedPool
Request is IOCTL_GET_DRIVE_LAYOUT
Parameter2 (IRQL at time of reference) is equal to 2, though
KeGetCurrentIrql returns 0 before the call to ExFreePool
Thanks,
Roman
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Hello Gary,
- We allocate buffer to pass along with IOCTL_GET_DRIVE_LAYOUT request
- We work with the filled buffer after IoCallDriver
- It bug checks if we free this buffer
Thank you,
Roman
сообщил/сообщила в новостях следующее: news:xxxxx@ntdev…
What memory are you freeing? If it’s an IRP, typically you aren’t responsible for freeing it after doing an IoCallDriver, and cannot reference the IRP at all, unless it is being done in a completion/cancel callback.
Gary G. Little
------------------------------------------------------------------------------
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Roman Kudinov
Sent: Monday, December 19, 2005 5:02 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] ExFreePool bug checks
Hello,
We have an upper filter storage driver which generates IRP requests and send them the the underlying driver. We have a problem that ExFreePool bug checks with error IRQL_NOT_LESS_OR_EQUAL when we call to it after IoCallDriver returns.
If we call ExFreePool before IoCallDriver then it doesn’t crash.
Memory is allocated from NonPagedPool
Request is IOCTL_GET_DRIVE_LAYOUT
Parameter2 (IRQL at time of reference) is equal to 2, though KeGetCurrentIrql returns 0 before the call to ExFreePool
Thanks,
Roman
—
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com