[Spice-devel] [PATCH 0/8] Win32 driver fixes for 0.6.0

Alexander Larsson alexl at redhat.com
Mon Aug 23 01:01:09 PDT 2010


On Sun, 2010-08-22 at 16:51 +0300, Yonit Halperin wrote:
> On 08/20/2010 09:54 PM, alexl at redhat.com wrote:
> > With surfaces_info global we avoid the problem with late resource
> > freeing accessing the wrong surface_info[id]. However, isn't there
> > also a possible problem where the pdev is not only inactive, but also
> > disabled. DrvDisablePDEV frees the pdev, which any outstanding
> > surface_info points to, so the late free would access a freed
> > pointer. Is there some way to have the surface resources ref the pdev
> > to make it not be disabled? Or is something else guaranteeing this
> > already?
> >
> In FreeDelSurface there is no problem, since you access surface_info 
> through an active pdev.
> Regarding DrvDeleteDeviceBitmap: I understood from Izik, at least from 
> his observations, that before disabling a pdev (DrvDisablePDEV), Windows 
> calls DrvDeleteDeviceBitmap for all the previously created device 
> bitmaps. Since all the calls to GetSurfaceId should be preformed on 
> valid device bitmaps, I assume their pdev is still alive.

Sounds about right.


-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
       alexl at redhat.com            alexander.larsson at gmail.com 
He's a fast talking soccer-playing stage actor plagued by the memory of his 
family's brutal murder. She's a wealthy cigar-chomping cab driver from Mars. 
They fight crime! 



More information about the Spice-devel mailing list