Hi
I am using driver verifier to verify my driver for DMA errors. I want to know how driver verifier check DMA read and write errors. Does the DV tries to write to DMA buffers allocated by driver or it do something else?
regrads
rohit
Hi
I am using driver verifier to verify my driver for DMA errors. I want to know how driver verifier check DMA read and write errors. Does the DV tries to write to DMA buffers allocated by driver or it do something else?
regrads
rohit
It always forces the use of intermediate buffers (the same way that a 32-bit only driver works on a system with 4GB or more of memory).
Peter
OSR
Hi Peter,
Thanks for reply. Can you pleas elaborate a little more on intermediate
buffers?
Does that mean it tries to access and write to DMA buffers allocated by
driver…as we are allocating DMA buffers and considering it as read only we
dont write to it. Is there any possiblity the driver veriifer can write to
those buffers?
regards
rohit
On Wed, Feb 17, 2010 at 6:58 PM, wrote:
> It always forces the use of intermediate buffers (the same way that a
> 32-bit only driver works on a system with 4GB or more of memory).
>
> Peter
> OSR
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
Iirc, the dma verifier does not write to the bounce buffer
d
tiny phone keyboard + fat thumbs = you do the muth
From: rohit gupta
Sent: Wednesday, February 17, 2010 8:44 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] DMA Checking : Driver verifier
Hi Peter,
Thanks for reply. Can you pleas elaborate a little more on intermediate buffers?
Does that mean it tries to access and write to DMA buffers allocated by driver…as we are allocating DMA buffers and considering it as read only we dont write to it. Is there any possiblity the driver veriifer can write to those buffers?
regards
rohit
On Wed, Feb 17, 2010 at 6:58 PM, > wrote:
It always forces the use of intermediate buffers (the same way that a 32-bit only driver works on a system with 4GB or more of memory).
Peter
OSR
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
I believe the verifier will fill the edges of the bounce buffers (before & after the valid data) with guard bytes to make sure you don’t DMA past the head or tail of your buffer.
-p
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Wednesday, February 17, 2010 9:21 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DMA Checking : Driver verifier
Iirc, the dma verifier does not write to the bounce buffer
d
tiny phone keyboard + fat thumbs = you do the muth
From: rohit gupta
Sent: Wednesday, February 17, 2010 8:44 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] DMA Checking : Driver verifier
Hi Peter,
Thanks for reply. Can you pleas elaborate a little more on intermediate buffers?
Does that mean it tries to access and write to DMA buffers allocated by driver…as we are allocating DMA buffers and considering it as read only we dont write to it. Is there any possiblity the driver veriifer can write to those buffers?
regards
rohit
On Wed, Feb 17, 2010 at 6:58 PM, > wrote:
It always forces the use of intermediate buffers (the same way that a 32-bit only driver works on a system with 4GB or more of memory).
Peter
OSR
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
Thank you for clarifying, I meant to say that the verifier does not write to the parts of the bounce buffer that your driver would be using ![]()
d
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Peter Wieland
Sent: Wednesday, February 17, 2010 9:45 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DMA Checking : Driver verifier
I believe the verifier will fill the edges of the bounce buffers (before & after the valid data) with guard bytes to make sure you don’t DMA past the head or tail of your buffer.
-p
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Wednesday, February 17, 2010 9:21 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DMA Checking : Driver verifier
Iirc, the dma verifier does not write to the bounce buffer
d
tiny phone keyboard + fat thumbs = you do the muth
From: rohit gupta
Sent: Wednesday, February 17, 2010 8:44 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] DMA Checking : Driver verifier
Hi Peter,
Thanks for reply. Can you pleas elaborate a little more on intermediate buffers?
Does that mean it tries to access and write to DMA buffers allocated by driver…as we are allocating DMA buffers and considering it as read only we dont write to it. Is there any possiblity the driver veriifer can write to those buffers?
regards
rohit
On Wed, Feb 17, 2010 at 6:58 PM, > wrote:
It always forces the use of intermediate buffers (the same way that a 32-bit only driver works on a system with 4GB or more of memory).
Peter
OSR
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
Thanks Doron and Peter,
I am using the Allocatecommonbuffer while allocating the DMA buffers for my
device. As these DMA buffers are shared among the device and host, how DMA
verifier checks these kind of common buffers? Is it the same way for all
kind of DMA buffers or is there any different checks for different types
regards
rohit
On Wed, Feb 17, 2010 at 11:16 PM, Doron Holan wrote:
> Thank you for clarifying, I meant to say that the verifier does not write
> to the parts of the bounce buffer that your driver would be using ![]()
>
>
>
> d
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Peter Wieland
> Sent: Wednesday, February 17, 2010 9:45 AM
>
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] DMA Checking : Driver verifier
>
>
>
> I believe the verifier will fill the edges of the bounce buffers (before &
> after the valid data) with guard bytes to make sure you don?t DMA past the
> head or tail of your buffer.
>
>
>
> -p
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Doron Holan
> Sent: Wednesday, February 17, 2010 9:21 AM
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] DMA Checking : Driver verifier
>
>
>
> Iirc, the dma verifier does not write to the bounce buffer
>
> d
>
> tiny phone keyboard + fat thumbs = you do the muth
>
> ------------------------------
>
> *From: *rohit gupta
> *Sent: *Wednesday, February 17, 2010 8:44 AM
> *To: *Windows System Software Devs Interest List
> *Subject: *Re: [ntdev] DMA Checking : Driver verifier
>
> Hi Peter,
>
>
>
> Thanks for reply. Can you pleas elaborate a little more on intermediate
> buffers?
>
>
>
> Does that mean it tries to access and write to DMA buffers allocated by
> driver…as we are allocating DMA buffers and considering it as read only we
> dont write to it. Is there any possiblity the driver veriifer can write to
> those buffers?
>
>
>
> regards
>
> rohit
>
> On Wed, Feb 17, 2010 at 6:58 PM, wrote:
>
> It always forces the use of intermediate buffers (the same way that a
> 32-bit only driver works on a system with 4GB or more of memory).
>
> Peter
> OSR
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
Another thought is if anything goes wrong while accessing DMA buffere,
verifier will give BSOD with bug check E6 or not. Will this be the case
always or is there possiblity of not happening that.
regards
rohit
On Thu, Feb 18, 2010 at 8:42 AM, rohit gupta wrote:
> Thanks Doron and Peter,
>
> I am using the Allocatecommonbuffer while allocating the DMA buffers for my
> device. As these DMA buffers are shared among the device and host, how DMA
> verifier checks these kind of common buffers? Is it the same way for all
> kind of DMA buffers or is there any different checks for different types
>
> regards
> rohit
>
> On Wed, Feb 17, 2010 at 11:16 PM, Doron Holan > > wrote:
>
>> Thank you for clarifying, I meant to say that the verifier does not
>> write to the parts of the bounce buffer that your driver would be using ![]()
>>
>>
>>
>> d
>>
>>
>>
>> From: xxxxx@lists.osr.com [mailto:
>> xxxxx@lists.osr.com] *On Behalf Of *Peter Wieland
>> Sent: Wednesday, February 17, 2010 9:45 AM
>>
>> To: Windows System Software Devs Interest List
>> Subject: RE: [ntdev] DMA Checking : Driver verifier
>>
>>
>>
>> I believe the verifier will fill the edges of the bounce buffers (before &
>> after the valid data) with guard bytes to make sure you don?t DMA past the
>> head or tail of your buffer.
>>
>>
>>
>> -p
>>
>>
>>
>> From: xxxxx@lists.osr.com [mailto:
>> xxxxx@lists.osr.com] *On Behalf Of *Doron Holan
>> Sent: Wednesday, February 17, 2010 9:21 AM
>> To: Windows System Software Devs Interest List
>> Subject: RE: [ntdev] DMA Checking : Driver verifier
>>
>>
>>
>> Iirc, the dma verifier does not write to the bounce buffer
>>
>> d
>>
>> tiny phone keyboard + fat thumbs = you do the muth
>>
>> ------------------------------
>>
>> *From: *rohit gupta
>> *Sent: *Wednesday, February 17, 2010 8:44 AM
>> *To: *Windows System Software Devs Interest List
>> *Subject: *Re: [ntdev] DMA Checking : Driver verifier
>>
>> Hi Peter,
>>
>>
>>
>> Thanks for reply. Can you pleas elaborate a little more on intermediate
>> buffers?
>>
>>
>>
>> Does that mean it tries to access and write to DMA buffers allocated by
>> driver…as we are allocating DMA buffers and considering it as read only we
>> dont write to it. Is there any possiblity the driver veriifer can write to
>> those buffers?
>>
>>
>>
>> regards
>>
>> rohit
>>
>> On Wed, Feb 17, 2010 at 6:58 PM, wrote:
>>
>> It always forces the use of intermediate buffers (the same way that a
>> 32-bit only driver works on a system with 4GB or more of memory).
>>
>> Peter
>> OSR
>>
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>>
>> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
>> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
>> the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>
>
Are you trying to figure out how the dma verifier is doing its job or are you trying to blame the dma verifier with what you think is bad behavior?
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of rohit gupta
Sent: Wednesday, February 17, 2010 9:22 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] DMA Checking : Driver verifier
Another thought is if anything goes wrong while accessing DMA buffere, verifier will give BSOD with bug check E6 or not. Will this be the case always or is there possiblity of not happening that.
regards
rohit
On Thu, Feb 18, 2010 at 8:42 AM, rohit gupta > wrote:
Thanks Doron and Peter,
I am using the Allocatecommonbuffer while allocating the DMA buffers for my device. As these DMA buffers are shared among the device and host, how DMA verifier checks these kind of common buffers? Is it the same way for all kind of DMA buffers or is there any different checks for different types
regards
rohit
On Wed, Feb 17, 2010 at 11:16 PM, Doron Holan > wrote:
Thank you for clarifying, I meant to say that the verifier does not write to the parts of the bounce buffer that your driver would be using ![]()
d
From: xxxxx@lists.osr.commailto:xxxxx [mailto:xxxxx@lists.osr.commailto:xxxxx] On Behalf Of Peter Wieland
Sent: Wednesday, February 17, 2010 9:45 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DMA Checking : Driver verifier
I believe the verifier will fill the edges of the bounce buffers (before & after the valid data) with guard bytes to make sure you don?t DMA past the head or tail of your buffer.
-p
From: xxxxx@lists.osr.commailto:xxxxx [mailto:xxxxx@lists.osr.commailto:xxxxx] On Behalf Of Doron Holan
Sent: Wednesday, February 17, 2010 9:21 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DMA Checking : Driver verifier
Iirc, the dma verifier does not write to the bounce buffer
d
tiny phone keyboard + fat thumbs = you do the muth
________________________________
From: rohit gupta >
Sent: Wednesday, February 17, 2010 8:44 AM
To: Windows System Software Devs Interest List >
Subject: Re: [ntdev] DMA Checking : Driver verifier
Hi Peter,
Thanks for reply. Can you pleas elaborate a little more on intermediate buffers?
Does that mean it tries to access and write to DMA buffers allocated by driver…as we are allocating DMA buffers and considering it as read only we dont write to it. Is there any possiblity the driver veriifer can write to those buffers?
regards
rohit
On Wed, Feb 17, 2010 at 6:58 PM, > wrote:
It always forces the use of intermediate buffers (the same way that a 32-bit only driver works on a system with 4GB or more of memory).
Peter
OSR
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>
No I am not blaming the verifier, I am trying to figure out how dma verifier
is doing his job.
Basically in one of scenario for my device the test is passing when dma
verifier is off but fails when dma verifier is on. Secondly dma verifier is
not giving any bsod also. I am trying to understand what all corner case
verifier test and how.
On Thu, Feb 18, 2010 at 11:11 AM, Doron Holan wrote:
> Are you trying to figure out how the dma verifier is doing its job or are
> you trying to blame the dma verifier with what you think is bad behavior?
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *rohit gupta
> Sent: Wednesday, February 17, 2010 9:22 PM
>
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] DMA Checking : Driver verifier
>
>
>
> Another thought is if anything goes wrong while accessing DMA buffere,
> verifier will give BSOD with bug check E6 or not. Will this be the case
> always or is there possiblity of not happening that.
>
>
>
> regards
>
> rohit
>
> On Thu, Feb 18, 2010 at 8:42 AM, rohit gupta wrote:
>
> Thanks Doron and Peter,
>
>
>
> I am using the Allocatecommonbuffer while allocating the DMA buffers for my
> device. As these DMA buffers are shared among the device and host, how DMA
> verifier checks these kind of common buffers? Is it the same way for all
> kind of DMA buffers or is there any different checks for different types
>
>
>
> regards
>
> rohit
>
> On Wed, Feb 17, 2010 at 11:16 PM, Doron Holan
> wrote:
>
> Thank you for clarifying, I meant to say that the verifier does not write
> to the parts of the bounce buffer that your driver would be using ![]()
>
>
>
> d
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Peter Wieland
> Sent: Wednesday, February 17, 2010 9:45 AM
>
>
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] DMA Checking : Driver verifier
>
>
>
> I believe the verifier will fill the edges of the bounce buffers (before &
> after the valid data) with guard bytes to make sure you don?t DMA past the
> head or tail of your buffer.
>
>
>
> -p
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Doron Holan
> Sent: Wednesday, February 17, 2010 9:21 AM
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] DMA Checking : Driver verifier
>
>
>
> Iirc, the dma verifier does not write to the bounce buffer
>
> d
>
> tiny phone keyboard + fat thumbs = you do the muth
> ------------------------------
>
> *From: *rohit gupta
> *Sent: *Wednesday, February 17, 2010 8:44 AM
> *To: *Windows System Software Devs Interest List
> *Subject: *Re: [ntdev] DMA Checking : Driver verifier
>
> Hi Peter,
>
>
>
> Thanks for reply. Can you pleas elaborate a little more on intermediate
> buffers?
>
>
>
> Does that mean it tries to access and write to DMA buffers allocated by
> driver…as we are allocating DMA buffers and considering it as read only we
> dont write to it. Is there any possiblity the driver veriifer can write to
> those buffers?
>
>
>
> regards
>
> rohit
>
> On Wed, Feb 17, 2010 at 6:58 PM, wrote:
>
> It always forces the use of intermediate buffers (the same way that a
> 32-bit only driver works on a system with 4GB or more of memory).
>
> Peter
> OSR
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
>
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
>
>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
The DMA verifier may allocate guard pages at the beginning and end of the common buffer but won’t write into your common buffer.
If you then pass MDLs for chunks of your common buffer through GetScatterGatherList then the driver verifier may decide to use bounce buffers for your first and last pages (or for the entire transfer) in which case it can fill the bounce buffers with whatever it wants (for a read) and/or assign guard bytes/pages at the beginning or end. However when you call PutScatterGatherList only the section of the bounce buffers which contain real data would be copied back into your buffers.
-p
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of rohit gupta
Sent: Wednesday, February 17, 2010 7:13 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] DMA Checking : Driver verifier
Thanks Doron and Peter,
I am using the Allocatecommonbuffer while allocating the DMA buffers for my device. As these DMA buffers are shared among the device and host, how DMA verifier checks these kind of common buffers? Is it the same way for all kind of DMA buffers or is there any different checks for different types
regards
rohit
On Wed, Feb 17, 2010 at 11:16 PM, Doron Holan > wrote:
Thank you for clarifying, I meant to say that the verifier does not write to the parts of the bounce buffer that your driver would be using ![]()
d
From: xxxxx@lists.osr.commailto:xxxxx [mailto:xxxxx@lists.osr.commailto:xxxxx] On Behalf Of Peter Wieland
Sent: Wednesday, February 17, 2010 9:45 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DMA Checking : Driver verifier
I believe the verifier will fill the edges of the bounce buffers (before & after the valid data) with guard bytes to make sure you don’t DMA past the head or tail of your buffer.
-p
From: xxxxx@lists.osr.commailto:xxxxx [mailto:xxxxx@lists.osr.commailto:xxxxx] On Behalf Of Doron Holan
Sent: Wednesday, February 17, 2010 9:21 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] DMA Checking : Driver verifier
Iirc, the dma verifier does not write to the bounce buffer
d
tiny phone keyboard + fat thumbs = you do the muth
________________________________
From: rohit gupta >
Sent: Wednesday, February 17, 2010 8:44 AM
To: Windows System Software Devs Interest List >
Subject: Re: [ntdev] DMA Checking : Driver verifier
Hi Peter,
Thanks for reply. Can you pleas elaborate a little more on intermediate buffers?
Does that mean it tries to access and write to DMA buffers allocated by driver…as we are allocating DMA buffers and considering it as read only we dont write to it. Is there any possiblity the driver veriifer can write to those buffers?
regards
rohit
On Wed, Feb 17, 2010 at 6:58 PM, > wrote:
It always forces the use of intermediate buffers (the same way that a 32-bit only driver works on a system with 4GB or more of memory).
Peter
OSR
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>
>
No I am not blaming the verifier, I am trying to figure out how dma
verifier
is doing his job.
Basically in one of scenario for my device the test is passing when
dma
verifier is off but fails when dma verifier is on. Secondly dma
verifier is
not giving any bsod also. I am trying to understand what all corner
case
verifier test and how.
Bug check 0xE6 parameter 1 will tell you about why it is failing, and is
pretty specific. If you can tell the list what parameter 1 is you’ll
probably get a more useful answer about why your driver might be
failing. (maybe you have already done this… I didn’t see it though)
James
Peter,
"driver verifier may decide to use bounce buffers for your first and last
pages (or for the entire transfer) in which case it can fill the bounce
buffers with whatever it wants "
Does that mean verifier will try to write to device buffer using bounce
buffers.
In case of not getting bsod is there a way to check that we are not writing
beyond the boudaries of DMA buffers.
regards
rohit
On Thu, Feb 18, 2010 at 12:19 PM, rohit gupta wrote:
>
>
> ---------- Forwarded message ----------
> From: Peter Wieland
> Date: Thu, Feb 18, 2010 at 11:34 AM
> Subject: RE: [ntdev] DMA Checking : Driver verifier
> To: Windows System Software Devs Interest List
>
>
> The DMA verifier may allocate guard pages at the beginning and end of the
> common buffer but won?t write into your common buffer.
>
>
>
> If you then pass MDLs for chunks of your common buffer through
> GetScatterGatherList then the driver verifier may decide to use bounce
> buffers for your first and last pages (or for the entire transfer) in which
> case it can fill the bounce buffers with whatever it wants (for a read)
> and/or assign guard bytes/pages at the beginning or end. However when you
> call PutScatterGatherList only the section of the bounce buffers which
> contain real data would be copied back into your buffers.
>
>
>
> -p
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *rohit gupta
> Sent: Wednesday, February 17, 2010 7:13 PM
>
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] DMA Checking : Driver verifier
>
>
>
> Thanks Doron and Peter,
>
>
>
> I am using the Allocatecommonbuffer while allocating the DMA buffers for my
> device. As these DMA buffers are shared among the device and host, how DMA
> verifier checks these kind of common buffers? Is it the same way for all
> kind of DMA buffers or is there any different checks for different types
>
>
>
> regards
>
> rohit
>
> On Wed, Feb 17, 2010 at 11:16 PM, Doron Holan
> wrote:
>
> Thank you for clarifying, I meant to say that the verifier does not write
> to the parts of the bounce buffer that your driver would be using ![]()
>
>
>
> d
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Peter Wieland
> Sent: Wednesday, February 17, 2010 9:45 AM
>
>
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] DMA Checking : Driver verifier
>
>
>
> I believe the verifier will fill the edges of the bounce buffers (before &
> after the valid data) with guard bytes to make sure you don?t DMA past the
> head or tail of your buffer.
>
>
>
> -p
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Doron Holan
> Sent: Wednesday, February 17, 2010 9:21 AM
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] DMA Checking : Driver verifier
>
>
>
> Iirc, the dma verifier does not write to the bounce buffer
>
> d
>
> tiny phone keyboard + fat thumbs = you do the muth
> ------------------------------
>
> *From: *rohit gupta
> *Sent: *Wednesday, February 17, 2010 8:44 AM
> *To: *Windows System Software Devs Interest List
> *Subject: *Re: [ntdev] DMA Checking : Driver verifier
>
> Hi Peter,
>
>
>
> Thanks for reply. Can you pleas elaborate a little more on intermediate
> buffers?
>
>
>
> Does that mean it tries to access and write to DMA buffers allocated by
> driver…as we are allocating DMA buffers and considering it as read only we
> dont write to it. Is there any possiblity the driver veriifer can write to
> those buffers?
>
>
>
> regards
>
> rohit
>
> On Wed, Feb 17, 2010 at 6:58 PM, wrote:
>
> It always forces the use of intermediate buffers (the same way that a
> 32-bit only driver works on a system with 4GB or more of memory).
>
> Peter
> OSR
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
>
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
rohit gupta wrote:
Another thought is if anything goes wrong while accessing DMA buffere,
verifier will give BSOD with bug check E6 or not. Will this be the
case always or is there possiblity of not happening that.
It is absolutely impossible for the verifier to diagnose all DMA
issues. Consider, for example, the case where a driver tells the
hardware that the buffer is 2 pages long, when in fact only one page was
allocated. The hardware is going to overwrite a random page, somewhere
in memory. It could be ANYWHERE in memory. If it’s the stack, you’ll
probably crash pretty quickly. If it’s a page table, you’ll also crash
pretty quickly. If it happens to be in a user’s process memory, you
might not notice for a very long time.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.