[PATCH] xfree86: vgaarb: Initialize local variable rsrc_decodes

Michel Dänzer michel at daenzer.net
Mon Jul 25 09:01:02 UTC 2016


On 25.07.2016 17:12, Emily Deng wrote:
> In function xf86VGAarbiterScrnInit when the "pEnt->bus.type" is
> BUS_PLATFORM, the "pScrn->vgaDev" won't be set, so the "pScrn->vgaDev" is
> equal to zero.
> 
> The variable "rsrc_decodes" in function "xf86VGAarbiterAllowDRI" is not
> initialized. So it will occur error when "pScrn->vgaDev == 0", and
> "vga_count > 1". For this case, as "pScrn->vgaDev == 0", the function
> "pci_device_vgaarb_get_info" will only set the value of "vga_count",
> but won't set the value of "rsrc_decodes", so it will has two different
> return values for function "xf86VGAarbiterAllowDRI" in different
> platforms. One platform will return TRUE, as the "rsrc_decodes" 's
> default value is 0, but another platform will return FALSE, as the
> "rsrc_decodes" 's default value is "32767", this will cause disable
> direct rendering.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96937
> 
> Signed-off-by: Emily Deng <Emily.Deng at amd.com>
> ---
>  hw/xfree86/common/xf86VGAarbiter.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/xfree86/common/xf86VGAarbiter.c b/hw/xfree86/common/xf86VGAarbiter.c
> index 5cc2429..0a3d6c6 100644
> --- a/hw/xfree86/common/xf86VGAarbiter.c
> +++ b/hw/xfree86/common/xf86VGAarbiter.c
> @@ -105,7 +105,7 @@ Bool
>  xf86VGAarbiterAllowDRI(ScreenPtr pScreen)
>  {
>      int vga_count;
> -    int rsrc_decodes;
> +    int rsrc_decodes = 0;
>      ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
>  
>      if (vga_no_arb)
> 

Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the xorg-devel mailing list