Hello everyone.
In my FilterSendNetBufferList function of NDIS filter driver I have these lines:
while (pNB) {
............
............
int nSend = pFilter->TailIrpSend & MASKA;
PUCHAR BUFFER = MmGetSystemAddressForMdlSafe (
pFilter->pIrpSend[nSend]->MdlAddress, NormalPagePriority);
...........
...........
}
Very rarely, windows is crushes in MmGetSystemAddressForMdlSafe, and WinDbg shows that nSend is unavailable.
What it means. Why local variable is unavailable?
anavailable int nSend = value anavailable
I want to point again, that this happens very rarely.
And second question:
Can a filter module function like FilterSendNetBufferList be called more than once concurrently on behalf of one or more processors? And why is there no information about the behavior of the ndis filter on multiprocessor systems?
I need for that information for optimally organizing lock operetions.