[ovs-dev] [PATCH v2] datapath-windows: Do not send out nbls when cloned nbls are being accessed

Alin Gabriel Serdean aserdean at ovn.org
Wed Apr 24 23:10:04 UTC 2019



> On 11 Apr 2019, at 19:14, Anand Kumar via dev <ovs-dev at openvswitch.org> wrote:
> 
> As per MSDN documentation, "As soon as a filter driver calls the
> NdisFSendNetBufferLists function, it relinquishes ownership of
> the NET_BUFFER_LIST structures and all associated resources.
> A filter driver should never try to examine the NET_BUFFER_LIST
> structures or any associated data after calling NdisFSendNetBufferLists".
> 
> https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/ndis/nf-ndis-ndisfsendnetbufferlists
> 
> When freeing up memory of a cloned nbl, parent's nbl and context
> is being accessed, which is incorrect can cause BSOD.
> With this patch, original nbl is sent out only when cloned nbl is done
> with packet processing and its memory is freed.
> 
> Signed-off-by: Anand Kumar <kumaranand at vmware.com>
> ---
> v1->v2:
> - Remove the else block and by default try to send the packet out.
>Applied on master.



More information about the dev mailing list