O
OverflowAtMsdn
Guest
I used IoCreateStreamFileObject to generate a file object but a crash happend at the funciton below .
pVolDev->fileObject = IoCreateStreamFileObject(NULL, RealDevice);
I can sure the RealDevice is a PDEVICE_OBJECT and not null
The call stack related to IoCreateStreamFileObject is as below :
00 fffff880`02467088 fffff800`0419e7d2 nt!DbgBreakPointWithStatus
01 fffff880`02467090 fffff800`0419f5c2 nt!KiBugCheckDebugBreak+0x12
02 fffff880`024670f0 fffff800`040e3ca4 nt!KeBugCheck2+0x722
03 fffff880`024677c0 fffff880`037037a4 nt!KeBugCheckEx+0x104
04 fffff880`02467800 fffff880`0375e0cd fastfatDemo!FatExceptionFilter(struct _IRP_CONTEXT * IrpContext = 0xfffffa80`c38a4c00, struct _EXCEPTION_POINTERS * ExceptionPointer = 0xfffff880`024678c0)+0x164 [G:\BaiduNetdiskDownload\fastfat_V1G13\fastfat_File_System_Driver\HrfsData.c @ 279]
05 fffff880`02467860 fffff800`040d1e78 fastfatDemo!FatFsdFileSystemControl$filt$0+0x1d [G:\BaiduNetdiskDownload\fastfat_V1G13\fastfat_File_System_Driver\FsCtrl.c @ 806]
06 fffff880`02467890 fffff800`040eaedd nt!_C_specific_handler+0x8c
07 fffff880`02467900 fffff800`0406c435 nt!RtlpExecuteHandlerForException+0xd
08 fffff880`02467930 fffff800`041caa9e nt!RtlDispatchException+0x415
09 fffff880`02468010 fffff800`040f2042 nt!KiDispatchException+0x17e
0a fffff880`024686a0 fffff800`040efd62 nt!KiExceptionDispatch+0xc2
0b fffff880`02468880 fffff800`0408c980 nt!KiPageFault+0x422
0c fffff880`02468a18 fffff800`0433e26f nt!IofCallDriver+0x50
0d fffff880`02468a20 fffff800`0433b03e nt!IopCloseFile+0x11f
0e fffff880`02468ab0 fffff800`0433b4bf nt!ObpDecrementHandleCount+0x8e
0f fffff880`02468b30 fffff800`0433b1e4 nt!ObpCloseHandleTableEntry+0xaf
10 fffff880`02468bc0 fffff800`043ecb88 nt!ObpCloseHandle+0x94
11 fffff880`02468c10 fffff880`0374066d nt! ?? ::NNGAKEGL::`string'+0x40de8
12 fffff880`02468cb0 fffff880`0373c935 fastfatDemo!FatMountVolume(struct _IRP_CONTEXT * IrpContext = 0xfffffa80`c38a4c00, struct _DEVICE_OBJECT * TargetDeviceObject = 0xfffffa80`c34e5040 Device for "\Driver\volsnap", struct _VPB * Vpb = 0xfffffa80`c35c4c10, struct _DEVICE_OBJECT * FsDeviceObject = 0xfffffa80`c1737060 Device for "\FileSystem\fastfatDemo")+0x72d [G:\BaiduNetdiskDownload\fastfat_V1G13\fastfat_File_System_Driver\FsCtrl.c @ 1193]
Continue reading...
pVolDev->fileObject = IoCreateStreamFileObject(NULL, RealDevice);
I can sure the RealDevice is a PDEVICE_OBJECT and not null
The call stack related to IoCreateStreamFileObject is as below :
00 fffff880`02467088 fffff800`0419e7d2 nt!DbgBreakPointWithStatus
01 fffff880`02467090 fffff800`0419f5c2 nt!KiBugCheckDebugBreak+0x12
02 fffff880`024670f0 fffff800`040e3ca4 nt!KeBugCheck2+0x722
03 fffff880`024677c0 fffff880`037037a4 nt!KeBugCheckEx+0x104
04 fffff880`02467800 fffff880`0375e0cd fastfatDemo!FatExceptionFilter(struct _IRP_CONTEXT * IrpContext = 0xfffffa80`c38a4c00, struct _EXCEPTION_POINTERS * ExceptionPointer = 0xfffff880`024678c0)+0x164 [G:\BaiduNetdiskDownload\fastfat_V1G13\fastfat_File_System_Driver\HrfsData.c @ 279]
05 fffff880`02467860 fffff800`040d1e78 fastfatDemo!FatFsdFileSystemControl$filt$0+0x1d [G:\BaiduNetdiskDownload\fastfat_V1G13\fastfat_File_System_Driver\FsCtrl.c @ 806]
06 fffff880`02467890 fffff800`040eaedd nt!_C_specific_handler+0x8c
07 fffff880`02467900 fffff800`0406c435 nt!RtlpExecuteHandlerForException+0xd
08 fffff880`02467930 fffff800`041caa9e nt!RtlDispatchException+0x415
09 fffff880`02468010 fffff800`040f2042 nt!KiDispatchException+0x17e
0a fffff880`024686a0 fffff800`040efd62 nt!KiExceptionDispatch+0xc2
0b fffff880`02468880 fffff800`0408c980 nt!KiPageFault+0x422
0c fffff880`02468a18 fffff800`0433e26f nt!IofCallDriver+0x50
0d fffff880`02468a20 fffff800`0433b03e nt!IopCloseFile+0x11f
0e fffff880`02468ab0 fffff800`0433b4bf nt!ObpDecrementHandleCount+0x8e
0f fffff880`02468b30 fffff800`0433b1e4 nt!ObpCloseHandleTableEntry+0xaf
10 fffff880`02468bc0 fffff800`043ecb88 nt!ObpCloseHandle+0x94
11 fffff880`02468c10 fffff880`0374066d nt! ?? ::NNGAKEGL::`string'+0x40de8
12 fffff880`02468cb0 fffff880`0373c935 fastfatDemo!FatMountVolume(struct _IRP_CONTEXT * IrpContext = 0xfffffa80`c38a4c00, struct _DEVICE_OBJECT * TargetDeviceObject = 0xfffffa80`c34e5040 Device for "\Driver\volsnap", struct _VPB * Vpb = 0xfffffa80`c35c4c10, struct _DEVICE_OBJECT * FsDeviceObject = 0xfffffa80`c1737060 Device for "\FileSystem\fastfatDemo")+0x72d [G:\BaiduNetdiskDownload\fastfat_V1G13\fastfat_File_System_Driver\FsCtrl.c @ 1193]
Continue reading...