[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Installing WinPV drivers on Windows 2019


  • To: Owen Smith <owen.smith@xxxxxxxxxx>, "jan.bakuwel@xxxxxxxxx" <jan.bakuwel@xxxxxxxxx>, "paul@xxxxxxx" <paul@xxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Ben Chalmers <ben.chalmers@xxxxxxxxxx>
  • Date: Wed, 10 Jun 2020 07:31:23 +0000
  • Accept-language: en-GB, en-US
  • Authentication-results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
  • Delivery-date: Wed, 10 Jun 2020 07:31:32 +0000
  • Ironport-sdr: KqIPHBBnKHYAFwxmMhwwHWtXZsGVYuZq3L7iVLjelBJ3PlVjBR+jdl4xDn+UDTk0kZstHd1FWd n61ZX3OAbNRzbIvm5L+BZV2Lr0+iXApu1grXQrAXyRpTdK8zxE0RtQozD0IZRZHF2V2Lr3C8eW 8ZuBHC1n5rqXnm+GMkcdIZ+/Qg6BjAKPPBCFv60+DsF4PTKxMV1u5GtGrgg4lGz4jM/gUhpiWm PyhY4FzMVxD/2FQLzP/CzxYZjRrE5YQrP/9ggZ6JpNy1hMecJrrLyOuiHfNe4e6eKr6Ni9PalU qkY=
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
  • Thread-index: AQHWL8u1dNrPZnEse0CBX/U0XoMa/6izrTGAgAFHQQCAA43nAIAVjEaAgAAy4YCAAUoLgIAAUimAgAAjUgCAAA9NAIABgP6r
  • Thread-topic: Installing WinPV drivers on Windows 2019

The fix Microsoft provided, if I remember correctly, was to not zero memory 
when MM_DONT_ZERO_ALLOCATION was set (that is, I don't think they fixed the 
underlying problem, they fixed the easily reproducible one)

If the use of  MmAllocatePagesForMdlEx has been expanded to situations where we 
want zeroed memory, the same problem could, plausibly, occur.

(unfortunately, I forget precisely what the actual problem was...  something 
which required me a lot of diving through stack traces and reading assembler to 
figure out, if I recall correctly)

Ben Chalmers
T +44 1223 225964 | M +44 7855 464069
ben.chalmers@xxxxxxxxxx

________________________________________
From: win-pv-devel <win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx> on behalf of 
Owen Smith <owen.smith@xxxxxxxxxx>
Sent: 09 June 2020 11:28
To: jan.bakuwel@xxxxxxxxx; paul@xxxxxxx; win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Subject: RE: Installing WinPV drivers on Windows 2019

[CAUTION - EXTERNAL EMAIL] DO NOT reply, click links, or open attachments 
unless you have verified the sender and know the content is safe.

Interestingly, the Citrix drivers are using MmAllocatePagesForMdlEx and are not 
hitting this 0x139 BSOD.

The patch Paul mentioned was reverted after this update was pushed out
https://support.microsoft.com/en-us/help/4458469/windows-10-update-kb4458469

Owen

> -----Original Message-----
> From: win-pv-devel [mailto:win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On
> Behalf Of Jan Bakuwel
> Sent: 09 June 2020 10:34
> To: paul@xxxxxxx; win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> Subject: Re: Installing WinPV drivers on Windows 2019
>
> [CAUTION - EXTERNAL EMAIL] DO NOT reply, click links, or open attachments
> unless you have verified the sender and know the content is safe.
>
> Hi Paul,
>
> On 9/06/20 7:27 pm, Paul Durrant wrote:
> >> -----Original Message-----
> >> From: Jan Bakuwel <jan.bakuwel@xxxxxxxxx>
> >> Sent: 09 June 2020 03:33
> >> To: paul@xxxxxxx; win-pv-devel@xxxxxxxxxxxxxxxxxxxx
> >> Subject: Re: Installing WinPV drivers on Windows 2019
> >>
> >> Hi Paul,
> >>> Hi Jan,
> >>>
> >>>     Oddly the summary analysis below fingers the network driver but
> >>> when I pull the dump into windbg,
> >> it clearly points at a stack overflow in a thread starting in xenvbd...
> >>
> >> I'm not familiar with Windows driver debugging but trust you when you
> >> say it is :-)
> >>
> >> Any suggestions where we can go from here?
> >>
> > Hi Jan,
> >
> > I think you are hitting a bug in Windows itself that was worked around by 
> > this
> commit in XENVIF:
> >
> > https://xenbits.xen.org/gitweb/?p=pvdrivers/win/xenvif.git;a=commit;h=
> > 4f85d00477b0931d4367a34de4f84d54b0f04d4e
> >
> > ---
> > Replace uses of MmAllocatePagesForMdlEx in __AllocatePage
> >
> > Windows appears to have an edge case bug in which zeroing memory using
> > MmAllocatePAgesForMdlEx (which in Win 10 1803 happens even if you
> > specify MM_DONT_ZERO_ALLOCATION) can cause a BSOD 139 1e.
> >
> > This commit uses MmAllocateContinguousMemorySpecifyCache
> > to allocate memory instead, then builds and Mdl to wrap it up.
> >
> > __AllocatePages is left unchanged (as we don't want to allocate
> > multiple contiguous pages).  This issue has not been seen outside of
> > xenvif calls to __AllocatePage and we expect a fix to the underlying
> > Windows problem in the near future
> >
> > Signed-off-by: Ben.Chalmers <ben.chalmers@xxxxxxxxxx>
> > ---
> >
> > Firstly, is your installation fully updated?
>
> That depends on Microsoft :-) ... the server is set to auto update.
>
> I just hit "Check for Updates" and the server pulled in three updates:
> one for Windows Defender, one KB4551853 and one for Adobe Flash, none of
> them related.
>
> > If so then it appears Microsoft have *still* not fixed this, despite it 
> > being
> identified in 2018, in which case I will clone the above commit into XENVBD 
> and
> also amend any other drivers using MmAllocatePagesForMdlEx() with that
> option.
>
> I think it's safe to conclude that Microsoft indeed has not fixed this.
> Not really surprising, eh?
>
> Many thanks for your help, looking forward to the new drivers.
>
> kind regards,
> Jan
>
>




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.