`
yexin218
  • 浏览: 970869 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

DRIVER_CORRUPTED_EXPOOL bug

阅读更多
我的目的是在Filter中发送自定义数据。可是目前的问题是在每次卸载的时候出现了这样的Bugs:

看起来是Pool的问题,原因是内存访问存在异常,具体原因不详,估计是在创建MDL中可能会出现某些问题。流程:
1. Create an buffer for my data with size of 80
pWriteBuf = (PUCHAR)NdisAllocateMemoryWithTagPriority(pFilter->FilterHandle,BufferSize,FILTER _ALLOC_TAG, LowPoolPriority); NdisZeroMemory(pWriteBuf,BufferSize); // Try to fill this buffer with some necessary data like Ethernet Header pEthHeader = (PTESTPROV_ETH_HEADER)pWriteBuf; 

2.Fulfill the struct of TESTPROV_ETH_HEADER with Source mac address, etc.
3.set the virtual address for MDL
4.Crate an MDL:
pMdl = NdisAllocateMdl(pFilter->FilterHandle, pEthFrameNew, BufferSize); 

5.Copy the data to the MDL
NdisMoveMemory(pEthFrameNew,pEthHeader, BufferSize); 

6.Allocate and initialize a NBL:
pNetBufferList = NdisAllocateNetBufferAndNetBufferList( pFilter->SendNetBufferListPool, sizeof(FILTER_SEND_NETBUFLIST_RSVD), //Request control offset delta 0, // back fill size pMdl, 0, // Data offset BufferSize); 


测试的时候,能用Network Monitor检测出网卡发出的数据:


现在的问题是:为什么会出现这样的蓝屏问题呢?
  • 大小: 2.7 KB
  • 大小: 184.4 KB
分享到:
评论
1 楼 yexin218 2010-03-08  
这是一个痛苦的过程

相关推荐

    Filter驱动开发笔记

    DRIVER_CORRUPTED_EXPOOL bug - **DRIVER_CORRUPTED_EXPOOL**:表示驱动程序非法访问了非分页池内存。 - **解决办法**:检查代码逻辑,确保所有内存操作都是合法的。 #### 28. 中断请求级 - **中断请求级**:...

    ESP32 CAM micropython搭建.zip

    针对esp32 cam搭建micropython的方法,我是小白,这个文章只针对小白,对于大佬级人物请直接略过。资源内包括:FTDI驱动,esptool-2.8 源码,还有安装esptool所依赖的两个包(pyaes-1.6.1,pyserial)python源码;...

    NDIS中间层 NDIS6过滤驱动开发笔记

    在遇到驱动程序中的bug和错误时,例如DRIVER_CORRUPTED_EXPOOL错误,需要有能力对内核内存池进行分析,查找问题所在。在数据包处理方面,了解数据包的封装方式、如何区分不同的FilterModuleInstance,以及如何在驱动...

    微信小程序解密遇到pad block corrupted

    3. **解密算法实现错误**:可能是使用的AES库或自定义实现存在bug,导致解密过程出错。 4. **数据损坏**:在传输或存储过程中,原始的加密数据可能已经发生改变,导致解密失败。 5. **填充计算错误**:在解密后...

    Aspose.word.dll文件,修复The document appears to be corrupted and cannot be loaded问题

    Aspose.word.dll文件,修复The document appears to be corrupted and cannot be loaded问题。 低版本的Aspose.word.dll动态链接库会存在这个bug,通过升级动态链接库就可以完美解决此问题,亲测有效,绝不忽悠你。

    disk structure is corrupted and unreadble

    当遇到“磁盘结构损坏且不可读”("disk structure is corrupted and unreadable")的问题时,通常指的是计算机中的某个硬盘分区(如D盘)出现了严重错误,导致系统无法正常读取或访问该分区内的文件和数据。...

    corrupted-memory-example:GHC运行时内存损坏

    损坏的内存示例 该存储库是我packed库的副本。 但是,我已删除了尽可能多的内容,以使内存损坏的重现性最小,从而导致GHC运行时在垃圾回收期间崩溃。 关于讨论。 跑步 $ make deps TEST_HC=ghc-stage2 ...

    [Oracle] 解析在没有备份的情况下undo损坏怎么办

    2. 设置隐藏参数(_offline_rollback_segments或_corrupted_rollback_segments)标识受影响的回滚段,使Oracle忽略其上的未提交事务;3. 手动删除受影响的回滚段和undo表空间,然后重建新的undo表空间;4. 还原undo表

    Enhancement of speech corrupted by acoustic noise.pdf

    speech corrupted by broadband noise. The method is based on the spectral noise subtraction method. The original method entails subtracting an estimate of the noise power spectrum from the speech power...

    nginx-1.13.6

    *) Bugfix: in processing of corrupted cache files. *) Bugfix: cache control headers were ignored when caching errors intercepted by error_page. *) Bugfix: when using ...

    Kalman-speec-hmatlab-code-enhancement-corrupted-w_NOISE

    A matlab code for enhancement of speech using Kalman filtering. Speech corrupted with exhaust fan noise.

    Oracle7.X 回滚表空间数据文件误删除处理方法

    这通常涉及到设置`_corrupted_rollback_segments`参数,允许数据库在回滚段损坏的情况下挂载,同时利用system回滚段作为临时替代。 接着,通过执行`ALTER DATABASE DATAFILE`命令将损坏的数据文件离线并删除。然后...

    php-5.4.35

    Fixed bug #68365 zend mm heap corrupted after memory overflow in zend hash copy Fileinfo: Fixed bug #68283 fileinfo: out of bounds read in elf note headers CVE 2014 3710 GMP: Fixed bug #63595 GMP ...

    AND9546-D AR0143RR rev2.PDF

    标记有"N"表示更改不会产生坏帧,"Y"表示可能会产生坏帧,而"YM"表示会产生物理上的坏帧,但当mask_corrupted_frames(R0x3023)寄存器设为"1"时,坏帧会被自动屏蔽。 这份应用笔记还包含了更多关于如何使用和配置...

    Data corrupted during transmission(解决方案).md

    Data corrupted during transmission(解决方案).md

    Aspose.Words20200216.zip

    Aspose.word.dll文件,修复The document appears to be corrupted and cannot be loaded问题。 低版本的Aspose.word.dll动态链接库会存在这个bug,通过升级动态链接库就可以完美解决此问题,亲测有效,绝不忽悠你。

    oracle数据库热备恢复手册

    * 需要修改初始化文件,在其中加入隐含参数 _CORRUPTED_ROLLBACK_SEGMENTS,在其中加入回滚表空间的回滚段。 * 重新启动数据库,然后删除回滚表空间,使用 drop tablespace 命令。 * 重新创建回滚表空间后,修改初始...

    断电与ORA-600问题集

    1. **设置_corrupted_rollback_segments:** 可以尝试通过设置`_corrupted_rollback_segments`参数来标记受损的UNDO段。 2. **重建UNDO表空间:** 如果问题仍然存在,可以考虑重建整个UNDO表空间。 #### 1.7. 其他...

    检测oracle数据库坏块的方法

    id+e.blocks-1, c.block#+c.blocks-1) - greatest(e.block_id, c.block#) + 1 blocks_corrupted, NULL description FROM dba extents e, v$database_block_corruption c WHERE e.file_id = c.file# AND e.block_id ...

Global site tag (gtag.js) - Google Analytics