You are currently offline, waiting for your internet to reconnect

FindFirstFile or FindNextFile returns the same entry two times after you install hotfix 2028965 in Windows Vista or in Windows Server 2008

Symptoms
Consider the following scenario:
  • On a computer that is running Windows Vista or Windows Server 2008, you install hotfix 2028965.
  • You run an application or service that calls the FindFirstFile or FindNextFile function to perform a Server Message Block (SMB) Version 2 directory query.
In this scenario, the FindFirstFile or FindNextFile function incorrectly returns the same entry two times.
Cause
When a user queries the file name information of a shared directory while the directory size is changed, Mrxsmb20.sys handles file name information of the shared directory incorrectly.
Resolution

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

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, contact 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 website: 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.

Prerequisites

To apply this hotfix, you must be running one of the following operating systems:
  • Windows Vista Service Pack 1 (SP1)
  • Windows Vista Service Pack 2 (SP2)
  • Windows Server 2008
  • Windows Server 2008 Service Pack 2 (SP2)
For more information about how to obtain a Windows Vista service pack, click the following article number to view the article in the Microsoft Knowledge Base:
935791 How to obtain the latest Windows Vista service pack
For more information about how to obtain a Windows Server 2008 service pack, click the following article number to view the article in the Microsoft Knowledge Base:
968849 How to obtain the latest service pack for Windows Server 2008

Registry information

To use the hotfix in this package, you do not have to make any changes to the registry.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace a previously released hotfix.

File information

The global version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.
Windows Vista and Windows Server 2008 file information notes
Important Windows Vista hotfixes and Windows Server 2008 hotfixes are included in the same packages. However, only "Windows Vista" is listed on the Hotfix Request page. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows Vista" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.
  • The files that apply to a specific product, SR_Level (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table.
    VersionProductSR_LevelService branch
    6.0.600 1. 22xxxWindows Vista and Windows Server 2008SP1LDR
    6.0.600 2. 22xxxWindows Vista and Windows Server 2008SP2LDR
  • Service Pack 1 is integrated into the release version of Windows Server 2008. Therefore, RTM milestone files apply only to Windows Vista. RTM milestone files have a 6.0.0000.xxxxx version number.
  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are listed separately in the "Additional file information for Windows Server 2008 and for Windows Vista" section. MUM files and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintain the state of the updated components. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.
For all supported x86-based versions of Windows Server 2008 and of Windows Vista
File nameFile versionFile sizeDateTimePlatform
Mrxsmb20.sys6.0.6001.2293779,87222-Jun-201112:57x86
Mrxsmb20.sys6.0.6002.2266580,38422-Jun-201113:10x86
For all supported x64-based versions of Windows Server 2008 and of Windows Vista
File nameFile versionFile sizeDateTimePlatform
Mrxsmb20.sys6.0.6001.22937107,00822-Jun-201113:17x64
Mrxsmb20.sys6.0.6002.22665108,03222-Jun-201113:34x64
For all supported IA-64based versions of Windows Server 2008
File nameFile versionFile sizeDateTimePlatform
Mrxsmb20.sys6.0.6001.22937264,19222-Jun-201113:00IA-64
Mrxsmb20.sys6.0.6002.22665266,75222-Jun-201113:39IA-64
Workaround
To work around this issue, use one of the following methods.

Method 1
Disable the SMB Version 2 protocol on the file server. To do this, follow these steps:
  1. Click Startstart button, type regedit in the Start Search box, and then press ENTER.
  2. Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type SMB2, and then press ENTER.
  5. On the Edit menu, click Modify.
  6. Type 0, and then click OK.
  7. Exit Registry Editor.
  8. Restart the computer.

Note: If you perform the SMB2 Server functionality registry change above, SMB2 based computers that had an active SMB2 session with the file server will no longer be able to re-establish the session over SMB1 until a restart of the computer or restart of the workstation service.


Method 2
Disable the time-out threshold for the local cache update. To do this, follow these steps:
  1. Click Startstart button, type regedit in the Start Search box, and then press ENTER.
  2. Locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters
  3. Right-click FileInfoCacheLifetime, and then click Modify.
  4. Under Base, click Decimal, and then type a number that is smaller than the number that appears in the Value date box.
Notes
  • Type 0 to disable the time-out threshold for the local cache update.
  • The number that you type represents the time-out threshold for the local cache update, in seconds.
  • The network traffic increases if you use this method.

Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
More information
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
For more information about hotfix package 2028965, click the following article number to view the article in the Microsoft Knowledge Base:
2028965 Data corruption when multiple users perform read and write operations to a shared file in the SMB2 environment
For more information about the FindFirstFile function, visit the following MSDN website:
For more information about the FindNextFile function, visit the following MSDN website:

Additional file information

Additional file information for Windows Vista and for Windows Server 2008

Additional files for all supported x86-based versions of Windows Vista and of Windows Server 2008
File nameX86_195d3bedc73121ee98693ea26b6443c5_31bf3856ad364e35_6.0.6001.22937_none_624e9b0d088484e5.manifest
File versionNot applicable
File size701
Date (UTC)22-Jun-2011
Time (UTC)17:52
File nameX86_c2033782c2984f0dc797746f11ae84d8_31bf3856ad364e35_6.0.6002.22665_none_303942c8467131bd.manifest
File versionNot applicable
File size701
Date (UTC)22-Jun-2011
Time (UTC)17:52
File nameX86_microsoft-windows-smb20-minirdr_31bf3856ad364e35_6.0.6001.22937_none_8b4b33d8a2f56f2c.manifest
File versionNot applicable
File size6,960
Date (UTC)22-Jun-2011
Time (UTC)15:06
File nameX86_microsoft-windows-smb20-minirdr_31bf3856ad364e35_6.0.6002.22665_none_8d0f3568a035e575.manifest
File versionNot applicable
File size6,960
Date (UTC)22-Jun-2011
Time (UTC)16:00
Additional files for all supported x64-based versions of Windows Vista and of Windows Server 2008
File nameAmd64_09b749aa1932ba4b2f6e4ec55d74a66f_31bf3856ad364e35_6.0.6001.22937_none_7c13762099030795.manifest
File versionNot applicable
File size705
Date (UTC)22-Jun-2011
Time (UTC)17:52
File nameAmd64_f98915670e335abbc25555fd318aa291_31bf3856ad364e35_6.0.6002.22665_none_196d05d7095a7991.manifest
File versionNot applicable
File size705
Date (UTC)22-Jun-2011
Time (UTC)17:52
File nameAmd64_microsoft-windows-smb20-minirdr_31bf3856ad364e35_6.0.6001.22937_none_e769cf5c5b52e062.manifest
File versionNot applicable
File size6,972
Date (UTC)22-Jun-2011
Time (UTC)15:20
File nameAmd64_microsoft-windows-smb20-minirdr_31bf3856ad364e35_6.0.6002.22665_none_e92dd0ec589356ab.manifest
File versionNot applicable
File size6,972
Date (UTC)22-Jun-2011
Time (UTC)16:12
Additional files for all supported IA-64based versions of Windows Server 2008
File nameIa64_4ed3171f1d844e5ed3b389ef10673b41_31bf3856ad364e35_6.0.6001.22937_none_a9c5547f3e717410.manifest
File versionNot applicable
File size703
Date (UTC)22-Jun-2011
Time (UTC)17:52
File nameIa64_d802da104640c39a54b4bc9b7930a5e4_31bf3856ad364e35_6.0.6002.22665_none_28f25b7142eedf3b.manifest
File versionNot applicable
File size703
Date (UTC)22-Jun-2011
Time (UTC)17:52
File nameIa64_microsoft-windows-smb20-minirdr_31bf3856ad364e35_6.0.6001.22937_none_8b4cd7cea2f37828.manifest
File versionNot applicable
File size6,966
Date (UTC)22-Jun-2011
Time (UTC)14:56
File nameIa64_microsoft-windows-smb20-minirdr_31bf3856ad364e35_6.0.6002.22665_none_8d10d95ea033ee71.manifest
File versionNot applicable
File size6,966
Date (UTC)22-Jun-2011
Time (UTC)15:50
SMB2 return same entry twice enumerate twice Vista 2008
Properties

Article ID: 2560500 - Last Review: 12/27/2012 08:34:00 - Revision: 4.0

Windows Server 2008 Standard, Windows Server 2008 Standard without Hyper-V, Windows Server 2008 Enterprise, Windows Server 2008 Enterprise without Hyper-V, Windows Server 2008 Datacenter, Windows Server 2008 Datacenter without Hyper-V, Windows Vista Starter, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Business, Windows Vista Enterprise, Windows Vista Ultimate

  • kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseinter kbsurveynew KB2560500
Feedback
var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("