The RNDIS Driver Leaks RAM Pages When You Remove a Network Adapter (820177)



The information in this article applies to:

  • Microsoft Windows CE .NET 4.1

SYMPTOMS

When you remove a Universal Serial Bus (USB) network adapter from a Windows CE .NET 4.1-based device, or when you suspend the device, a large block of memory remains allocated by the network drivers. When you reinsert the USB network adapter, or when you resume the device, the allocated memory is not reused and additional memory is allocated.

CAUSE

The Remote NDIS (RNDIS) driver does not release memory pages that are allocated to handle direct memory access (DMA) to the network adapter. 32 8-kilobyte buffers are allocated each time the network adapter is attached. Because suspending and resuming the device causes a simulated removal and reinsertion of the network adapter, the problem occurs even if you do not physically remove the network adapter.

RESOLUTION

Hotfix Information

A supported software update is now available from Microsoft as Windows CE 4.1 Core OS QFE 820177. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:

837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products

Prerequisites

Install all prior hotfixes for this version of Windows CE.

Restart Requirement

You do not have to restart your computer after you apply this hotfix.

Hotfix Replacement Information

This hotfix does not replace any other hotfixes.

File Information

The English version of this package has the file attributes (or later) that are listed in the following table.
   Date         Time   Version    Size       File name
   ---------------------------------------------------------------------------------
   21-May-2003  23:45  4.1.3.521  1,092,200  Wincepb41-030521-kb820177-armv4.exe    
   21-May-2003  23:45  4.1.3.521  1,096,296  Wincepb41-030521-kb820177-armv4i.exe   
   21-May-2003  23:45  4.1.3.521  1,092,200  Wincepb41-030521-kb820177-armv4t.exe   
   21-May-2003  23:44  4.1.3.521  1,063,528  Wincepb41-030521-kb820177-mips16.exe   
   21-May-2003  23:45  4.1.3.521  1,120,872  Wincepb41-030521-kb820177-mipsii.exe   
   21-May-2003  23:45  4.1.3.521  1,120,872  Wincepb41-030521-kb820177-mipsii_fp.exe
   21-May-2003  23:46  4.1.3.521  1,124,968  Wincepb41-030521-kb820177-mipsiv.exe
   21-May-2003  23:46  4.1.3.521  1,124,968  Wincepb41-030521-kb820177-mipsiv_fp.exe
   21-May-2003  23:44  4.1.3.521  1,079,912  Wincepb41-030521-kb820177-sh3.exe
   21-May-2003  23:45  4.1.3.521  1,079,912  Wincepb41-030521-kb820177-sh4.exe
   21-May-2003  23:44  4.1.3.521  1,030,760  Wincepb41-030521-kb820177-x86.exe
The English version of this fix has the file attributes (or later) 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 tool in Control Panel.
   Date         Time                     Size    File name
   ----------------------------------------------------------
   Path: Public\Common\Oak\Lib\Armv4\Debug
   19-May-2003  23:22                    116,412  Natwdm.lib
   19-May-2003  23:26                    449,076  Rndismp.lib
   19-May-2003  23:26                    527,676  Usb8023.lib

   Path: Public\Common\Oak\Lib\Armv4\Retail
   19-May-2003  23:15                    100,350  Natwdm.lib
   19-May-2003  23:18                    285,160  Rndismp.lib
   19-May-2003  23:19                    280,984  Usb8023.lib

   Path: Public\Common\Oak\Lib\Armv4i\Debug
   19-May-2003  23:07                    116,608  Natwdm.lib
   19-May-2003  23:11                    449,586  Rndismp.lib
   19-May-2003  23:11                    528,104  Usb8023.lib

   Path: Public\Common\Oak\Lib\Armv4i\Retail
   19-May-2003  23:00                    100,590  Natwdm.lib
   19-May-2003  23:04                    285,758  Rndismp.lib
   19-May-2003  23:04                    281,434  Usb8023.lib

   Path: Public\Common\Oak\Lib\Armv4t\Debug
   19-May-2003  22:53                    110,198  Natwdm.lib
   19-May-2003  22:56                    427,074  Rndismp.lib
   19-May-2003  22:56                    510,746  Usb8023.lib

   Path: Public\Common\Oak\Lib\Armv4t\Retail
   19-May-2003  22:45                    100,610  Natwdm.lib
   19-May-2003  22:49                    284,420  Rndismp.lib
   19-May-2003  22:49                    282,056  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mips16\Debug
   19-May-2003  23:51                    102,202  Natwdm.lib
   19-May-2003  23:55                    408,932  Rndismp.lib
   19-May-2003  23:55                    488,812  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mips16\Retail
   19-May-2003  23:44                     86,770  Natwdm.lib
   19-May-2003  23:48                    261,364  Rndismp.lib
   19-May-2003  23:48                    264,060  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mipsii\Debug
   19-May-2003  23:37                    112,608  Natwdm.lib
   19-May-2003  23:40                    451,068  Rndismp.lib
   19-May-2003  23:40                    550,316  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mipsii\Retail
   19-May-2003  23:29                     96,082  Natwdm.lib
   19-May-2003  23:33                    291,682  Rndismp.lib
   19-May-2003  23:33                    288,406  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mipsii_fp\Debug
   20-May-2003  00:06                    112,638  Natwdm.lib
   20-May-2003  00:09                    451,174  Rndismp.lib
   20-May-2003  00:09                    550,424  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mipsii_fp\Retail
   19-May-2003  23:58                     96,130  Natwdm.lib
   20-May-2003  00:02                    291,780  Rndismp.lib
   20-May-2003  00:02                    288,516  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mipsiv\Debug
   20-May-2003  01:05                    116,214  Natwdm.lib
   20-May-2003  01:09                    454,160  Rndismp.lib
   20-May-2003  01:09                    552,848  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mipsiv\Retail
   20-May-2003  00:58                     99,304  Natwdm.lib
   20-May-2003  01:01                    292,446  Rndismp.lib
   20-May-2003  01:02                    288,974  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mipsiv_fp\Debug
   20-May-2003  00:35                    116,246  Natwdm.lib
   20-May-2003  00:39                    454,266  Rndismp.lib
   20-May-2003  00:39                    552,956  Usb8023.lib

   Path: Public\Common\Oak\Lib\Mipsiv_fp\Retail
   20-May-2003  00:28                     99,350  Natwdm.lib
   20-May-2003  00:32                    292,544  Rndismp.lib
   20-May-2003  00:32                    289,084  Usb8023.lib

   Path: Public\Common\Oak\Lib\Sh3\Debug
   20-May-2003  00:20                    102,224  Natwdm.lib
   20-May-2003  00:24                    411,406  Rndismp.lib
   20-May-2003  00:24                    490,200  Usb8023.lib

   Path: Public\Common\Oak\Lib\Sh3\Retail
   20-May-2003  00:13                     91,912  Natwdm.lib
   20-May-2003  00:17                    276,456  Rndismp.lib
   20-May-2003  00:17                    276,310  Usb8023.lib

   Path: Public\Common\Oak\Lib\Sh4\Debug
   20-May-2003  00:50                    102,098  Natwdm.lib
   20-May-2003  00:54                    411,154  Rndismp.lib
   20-May-2003  00:54                    489,924  Usb8023.lib

   Path: Public\Common\Oak\Lib\Sh4\Retail
   20-May-2003  00:43                     91,678  Natwdm.lib
   20-May-2003  00:47                    275,942  Rndismp.lib
   20-May-2003  00:47                    275,830  Usb8023.lib

   Path: Public\Common\Oak\Lib\X86\Debug
   19-May-2003  22:38                     96,950  Natwdm.lib
   19-May-2003  22:42                    394,270  Rndismp.lib
   19-May-2003  22:42                    493,936  Usb8023.lib

   Path: Public\Common\Oak\Lib\X86\Retail
   19-May-2003  22:31                     89,064  Natwdm.lib
   19-May-2003  22:35                    254,686  Rndismp.lib
   19-May-2003  22:35                    261,780  Usb8023.lib

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Modification Type:MinorLast Reviewed:5/27/2005
Keywords:kbBug kbfix kbQFE KB820177 kbAudOEM