Hotfix information
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.
If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.
You should apply this
hotfix to the system on which you use the compilers that are listed in the
"Symptoms" section to compile the applications and drivers. These applications
and drivers can be either cross-compiled from the x86 platform or natively
compiled.
If you use Microsoft Visual Studio 2005 to compile these
drivers and applications, you should not apply this hotfix. Additionally, if
you notice that your drivers and applications do not have this problem, you
should not apply this hotfix on the system on which you compile these drivers
and applications.
Note Microsoft Visual Studio .NET 2002 does not include an Itanium
architecture-based compiler. For more information, visit the following
Microsoft Developer Network (MSDN) Web site:
Additionally, if you develop the applications in Windows Server
2003 for Itanium-based systems, you must use the Windows Server 2003 Service
Pack 1 SDK. Microsoft now only supports the Windows Server 2003 Service Pack 1
SDK.
Vendors who use the compilers that are listed in the "Symptoms"
section to compile applications or drivers should follow these steps:
- Apply the hotfix and scripts.
- Run the command file and script.
- Based on the script results, recompile any affected
applications or drivers.
- Tell customers that they must have these recompiled
binaries if the customers use the applications or drivers on Dual-Core Intel
Itanium 2 Processor 9000 Series-based computers.
- Distribute any recompiled applications or drivers to the
customers.
Finally, vendors should use this compiler hotfix for all future
hotfixes and changes to their current and future products. If vendors do not
apply this hotfix, a change to the source code for a hotfix or changes to add
new functionality may cause the compilers to create a vulnerable sequence of
instructions. Vendors should use this hotfix until Microsoft releases the next
version of the supported DDK and SDK. This version is expected to be the
Windows Server 2008 Windows Development Kit (WDK).
Prerequisites
You must have the following components installed before you apply
this hotfix:
- Windows Server 2003 SP1
- Windows Server 2003 SP1 DDK, Windows Server 2003 SP1 SDK,
or Windows Server 2003 R2 SDK
For more
information, click the following article number to view the article in the
Microsoft Knowledge Base:
889100�
How to obtain the latest service pack for Windows Server 2003
Restart information
You must restart the computer after you apply this hotfix.
Hotfix replacement information
This hotfix does not replace any other hotfixes.
File information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the
Time Zone tab in the
Date and Time item in Control Panel.
Collapse this tableExpand this table
File name | File version | File
size | Date | Time | Platform |
---|
C2.dll | 14.0.40310.46 | 6,802,944 | 21-Aug-2006 | 02:26 | IA-64 |
C2.dll | 14.0.40310.46 | 2,338,816 | 23-Aug-2006 | 02:29 | x86 |
Note Two versions of the hotfix files are included in the hotfix. The
x86-based hotfix file is for the x86 cross-compiler. The IA-64 based hotfix
file is for the Itanium native compiler.
Microsoft does not plan to
release a Windows Server 2003 Service Pack 2 (SP2) DDK or a Windows Server 2003
SP2 SDK. Microsoft will only support this hotfix for the Windows Server 2003
SP1 DDK, the Windows Server 2003 SP1 SDK, and the Windows Server 2003 R2 SDK
until Microsoft releases the Windows Server 2008 DDK and the Windows Server 2008 SDK.
How to use this hotfix
You must determine whether this problem affects your applications
or your drivers on Dual-Core Intel Itanium 2 Processor-based systems. If this
problem affects your applications or your drivers, apply this hotfix on the
system on which you compile these applications and drivers. Then, recompile the
applications or the drivers.
Requirements to use the checking scripts
You must have the following tools and files to use the checking
scripts:
How to use the checking scripts
To determine whether your applications or drivers are affected,
follow these steps:
- Create a folder on the hard disk. These steps assume that
the folder name is C2UPDATE.
- Open the Windows Server 2003 DDK and SDK Update folder that
you specify when you apply this hotfix.
- Copy the VSW#500862.cmd file and the VSW#500862.js file
from the Windows Server 2003 DDK and SDK Update folder to the C2UPDATE
folder.
Note The VSW#500862.cmd file dumps the disassembly of the files that
you specify in the parameter list. The VSW#500862.js file scans the disassembly
that the VSW#500862.cmd file creates for the specific vulnerable set of
instructions. - Copy all the files of your application or your driver to
the C2UPDATE folder.
- Locate all the .pdb files that can generate a disassembly
for your application or driver, and then copy these .pdb files to the C2UPDATE
folder.
- Locate the C2UPDATE folder in the build
environment.
In the Windows Server 2003 SP1 SDK, click
Start, point to All Programs, point to
Microsoft Platform SDK for Windows Server 2003 SP1, point to
Open Build Environment Window, point to Windows Server
2003 64-bit Build Environment, and then click Set Win Svr 2003
IA64 Build Env (Debug) or click Set Win Svr 2003 IA64 Build
Env (Retail). - At the command prompt, type VSW#500862.cmd
FileList.
Note FileList represents the list of files
for which you want the VSW#500862.cmd script to dump the disassembly. Use white
space to delimit the file names. Additionally, include the file name extension
for each file.
First, the VSW#500862.cmd script creates a disassembly .cod
file. The disassembly .cod file will be approximately 20 times the size of the
file that the VSW#500862.cmd script processes.
Then, the
VSW#500862.cmd script calls the VSW#500862.js script. The VSW#500862.js script
scans the disassembly for functions that contain the specific vulnerable set of
instructions. When the scan is completed, the VSW#500862.cmd script displays
the output to the screen. You may receive information that resembles the
following:
C:\C2Update>vsw#500862.cmd win32k.sys win23k.sys*** win32k.sys ***win32k.sys: 20000001FF0290D0:.ThreadUnlock1win32k.sys: 20000001FF23B0F0:.?bPolyBezierTo@EPATHOBJ@@QEAAHPEAVEXFORMOBJ@@PEAU_POINTL@@K@Zwin32k.sys: 20000001FF2402D0:.?vSetClip@EWNDOBJ@@QEAAXPEAVREGION@@VERECTL@@@Zwin32k.sys: 20000001FF2B9040:.?bTextToPathWorkhorse@ESTROBJ@@QEAAHAEAVEPATHOBJ@@H@Zwin32k.sys: 20000001FF453110:.vCheckForSingularXform*** win23k.sys ***win23k.sys: 20000001FF0290D0:.ThreadUnlock1win23k.sys: 20000001FF23B0F0:.?bPolyBezierTo@EPATHOBJ@@QEAAHPEAVEXFORMOBJ@@PEAU_POINTL@@K@Zwin23k.sys: 20000001FF2402D0:.?vSetClip@EWNDOBJ@@QEAAXPEAVREGION@@VERECTL@@@Zwin23k.sys: 20000001FF2B9040:.?bTextToPathWorkhorse@ESTROBJ@@QEAAHAEAVEPATHOBJ@@H@Zwin23k.sys: 20000001FF453110:.vCheckForSingularXform
Notes- The VSW#500862.cmd script sequentially disassembles, scans,
and outputs the result for each file that you specify in the
FileList parameter. The script does not process a
subsequent file in the FileList parameter until the
script processes the previous file.
- When the VSW#500862.cmd script creates the disassembly and
performs subsequent scanning, the process may take lots of time. Additionally,
the process may cause almost 100 percent CPU utilization of a single processor.
Therefore, do not type CTRL-C or use the Windows Task Manager to stop the
VSW#500862.cmd script or the VSW#500862.js script until the disassembly for the
last file in the FileList is completed.
For
more information about how to use the VSW#500862.cmd script and the
VSW#500862.js script, see the corresponding file that is included in the hotfix
package. - You do not have to apply the IA-64 compiler (C2.dll) hotfix
to determine whether this problem affects your applications or your
drivers.
By default, the IA-64 compiler hotfix is installed in the
following folder:
C:\Program Files\MSFT\Windows Server 2003 DDK and SDK Update
However, you can install the Windows Server 2003 SP1 DDK, the
Windows Server 2003 SP1 SDK, or the Windows Server 2003 R2 SDK in a different
folder on the computer.
The Readme.txt file that is located in the
Windows Server 2003 DDK and SDK Update folder contains instructions about how
to determine the file version of the C2.dll file that you are using. After you
obtain the C2.dll file version, you can use the appropriate compiler hotfix
version (C2.dll) in the Windows Server 2003 DDK and SDK Update folder to
replace the original C2.dll file.
This hotfix has no additional
functionality. The hotfix does not include any performance optimizations.
Additionally, no interoperability issues exist between the files that do not
need recompilation and the files that are recompiled.
If this problem
affects some files in your applications or your drivers, we recommend that you
recompile these files. This step improves the reliability of those files. This
step also improves the reliability of the applications or the drivers that
include these files.
This problem does not exist in more recent
versions of the IA-64 compiler. For more information about which versions of
the IA-64 compiler experience this problem, see the Readme.txt file in the
Windows Server 2003 DDK and SDK Update folder.