Re: IRQL_NOT_LESS_OR_EQUAL in hal.dll after replacing buffer in write

DMA? Sounds like problem with the MDL.

Are you doing pIrp->UserBuffer = MmGetMdlVirtualAddress(pNewMdl) after
replacing the Irp’s MDL? Is this write METHOD_NEITHER?

Strauss

Hi All,

I seem to be having a problem with a particular machine here. Our driver is
a real-time encryption driver and I seem to be having a problem with writes
on this particular machine.

I replace the buffer used for the write with one that I allocate to encrypt
the data into. All ok so far. Everything has been running fine for some
time now on Windows 2k and Windows XP.

Today I tried the driver on another machine that has become available for my
evil testing purposes and !BANG!, BSOD shortly after firing up my “thrash
the harddisk” app was started.

The crash seems to occur somewhere in the ATAPI driver somewhere, it thinks
it is referencing. If I disable DMA access for the bus controller all is
ok.

Has anyone else experienced this problem? Or does anyone have any bright
ideas?