微软修复Windows 7数据损坏问题

据国外媒体报道,日前,微软针对最新一代客户端操作系统Windows 7发布了一个更新,用于解决运行在Windows 7上的安全数字卡(SD)中的数据损坏问题 。
目前,所有使用Windows 7的消费者都能够通过微软下载中心下载这个更新,适用于所有Windows 7版本的用户 。
据微软表示,一般来讲,只有使用NTFS格式SD卡的用户,才会受到数据损坏问题的影响 。
至于导致这个问题的原因,微软解释道,当用户使用高级直接闪存(ADMA)访问去实现SD卡和Windows 7之间的数据传输的时候,数据损坏问题就会出现 。
微软发言人指出,在ADMA传输过程中,安全数字总线驱动器(Sdbus.sys)会将操作系统的DMA数据结构转换成SD卡的ADMA数据结构 。DMA和ADMA数据结构也被称为描述符表,描述符表包含一个数据长度值和缓冲区的地址 。
【微软修复Windows 7数据损坏问题】一般来讲,数据长度字段是16位,最大大小是64K(字节) 。然而,在数据转换过程中,Sdbus.sys驱动程序不检查在系统的描述符表缓冲区的大小 。因此,Sdbus.sys驱动程序可能会将SD描述符表的数据长度设置错误 。例如,Sdbus.sys驱动程序可能会将数据长度的值设置成大于0xFFFF,紧接着就会损坏的I/O,这也就会导致数据损坏 。

    推荐阅读