OSR Dev Blog

Permanent Pool Overrun Checking Starting With XP SP2
(By: Hector J. Rodriguez | Published: 01-Mar-04| Modified: 01-Mar-04)

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.


This article was printed from OSR Online http://www.osronline.com

Copyright 2017 OSR Open Systems Resources, Inc.