OSRLogo
OSRLogoOSRLogoOSRLogo x Seminar Ad
OSRLogo
x

Everything Windows Driver Development

x
x
x
GoToHomePage xLoginx
 
 

    Thu, 02 Sep 2010     81215 members

   Login
   Join


 
 
Contents
  About This Site
What's New?
Hector's Memos
The NT Insider
The Basics
File Systems
Downloads
ListServer / Forum
Driver Jobs
Store
  Express Links
  · It's Here: The NT Insider -- Digital Edition!
  · WDK Community Bug Bash 2010 -- Submit a Bug... Get FREE STUFF!
  · File Systems and Filters: A Specialty
  · It's All About The Basics
  · The NT Insider - Digital Edition

Interoffice Memorandum

Date:  01-Mar-04, Modified: 01-Mar-04
From: Hector J. Rodriguez
To:    Driver Developers

Re: Permanent Pool Overrun Checking Starting With XP SP2
          

Windows XP SP2 will contain many enhancements.  One such enhancement of keen interest to driver writers is the implementation of pool header validation checking in the free build of the operating system.

Starting with Windows XP SP2, ExFreePoolWithTag was enhanced to to perform an integrity check of the pool header on the pool block following the one being returned.  If any corruption is detected, the system immediately crashes with a BAD_POOL_HEADER bugcheck.

Of course, what's most interesting -- and important -- about this enhancement is that this check is always enabled and active in the free build of Windows starting with XP SP2.  This change catches the sort of pool corruption that could otherwise linger and cause a crashes that's nearly impossible to debug.

If you don't want a nasty surprise when your customers upgrade to XP SP2, be sure you're testing your driver thoroughly with Driver Verifier, with the "special pool" option enabled, to detect any pool overrun errors.  You'll also probably want to be sure you do at least some testing on Windows XP SP2.

 

Related Articles
Must Succeed Pool...DEAD!
Bagging Bugs — Avoidance and Detection Tips to Consider
Who Owns Which Pool Tag
No Pool Tagging for Special Pool
ExAllocatePoolWithQuota Raises Exceptions
Pool and Memory Events
No Deadlock Verification on x64 UP Systems

User Comments
Though Hector himself probably doesn't care, why not rate this article and share your opinion with the community!?
Post Your Comment

"RE: be sure you're testing your driver..."
Hi,

Driver Verifier is (for the most part) a passive tool, in order to take advantage of its checks you need to enable it for your driver and then exercise your driver.

You can check out this article if you want more info about Verifier: http://www.osronline.com/article.cfm?article=325

18-Nov-04, Scott Noone


"be sure you're testing your driver thoroughly with Driver Verifier, with the "special pool" option e"
Hi, Since I'm not a computer sciences graduate, I'll appreciate your further explanation. I ran verifier and included all drives in the list. The computer was left for more than 12 hours on its own, but the run has never reached its end. So, I changed my configuration, and checked a single driver and got the following report:

Name: gearaspiwdm.sys, loads: 1, Unloads: 0 CurrentPagePoolAllocations: 0 CurrentNonpagePoolAllocations: 0 PeakPagedPoolAllocations: 0 PeakNonPagePoolAlloacations: 1 PagePoolUsageInBytes: 0 NonPagedPoolUsageInBytes: 0 PeakPagedPoolUsageInBytes: 0 PeakNonPagedPoolUsageInBytes: 2052

What does this report say? Is my drive ok or not? Where should I look for further information?

Appreciate your reply.

Ran

Rating:
18-Nov-04, Ran Chermesh


Post Your Comments.
Print this article.
Email this article.

Writing WDM Drivers LAB
Seattle, WA
16-Aug-2010 to 20-Aug-2010

Writing WDF Drivers LAB
Santa Clara, CA
27-Sept-2010 to 1-Oct-2010

Kernel Debugging &
Crash Analysis LAB

Portland, OR
18-Oct-2010 to 22-Oct-2010

Developing File Systems
Santa Clara, CA
26-Oct-2010 to 29-Oct-2010

Windows Internals &
Software Drivers LAB

Santa Clara, CA
15-Nov-2010 to 19-Nov-2010

 
 

Windows Debugger
V6.12.2.633 -- 26 Feb 10

Checked Build Downloads
29-Apr-10

Debugging Symbols
5-Oct-09
 

WDK Doc Updates
Now updated bi-monthly!

Windows WDK
V7.1.0 -- 26 Feb 10

 
 
x
LetUsHelp
 

Need to develop a Windows file system solution?

We've got a kit for that.

Need Windows internals or kernel driver expertise?

Bring us your most challenging project - we can help!

System hangs/crashes?

We've got a special diagnostic team that's standing by.

Visit the OSR Corporate Web site for more information about how OSR can help!

 
bottom nav links