[libdrm][PATCH 3/2] Fix always true comparison.

Emil Velikov emil.l.velikov at gmail.com
Wed Feb 25 10:41:25 PST 2015


On 25/02/15 17:11, Jan Vesely wrote:
> gentle ping
> 
Afaics it's very had to get in this code nowadays - drm_server_info is
set only via the legacy (?) function drmSetServerInfo. With the latter
only(?) used by the xserver when working with dri1 modules. So testing
this is likely to be very painful :-(

This code hasn't changed since before 2007, so I doubt there are many
people that know the details about it, so we might as well leave it for
now ?

-Emil

> 
> On Mon, 2015-02-09 at 19:10 -0500, Jan Vesely wrote:
>> The only user I found is xserver, it can return -1 under certain conditions.
>> So check for -1 explicitly.
>>
>> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
>> ---
>>
>> I could not find whether it's actually legal to return encoded negative values
>> in get_perm. This is a quick fix to detect the one case that I found.
>>
>>  xf86drm.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xf86drm.c b/xf86drm.c
>> index fb673b5..8e54ac9 100644
>> --- a/xf86drm.c
>> +++ b/xf86drm.c
>> @@ -335,7 +335,7 @@ static int drmOpenDevice(dev_t dev, int minor, int type)
>>  	drm_server_info->get_perms(&serv_group, &serv_mode);
>>  	devmode  = serv_mode ? serv_mode : DRM_DEV_MODE;
>>  	devmode &= ~(S_IXUSR|S_IXGRP|S_IXOTH);
>> -	group = (serv_group >= 0) ? serv_group : DRM_DEV_GID;
>> +	group = (serv_group != ~0U) ? serv_group : DRM_DEV_GID;
>>      }
>>  
>>  #if !defined(UDEV)
> 



More information about the dri-devel mailing list