On Fri, 2015-04-24 at 11:44 +0800, Jammy Zhou wrote:
xf86drm.c:356:2: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] group = (serv_group >= 0) ? serv_group : DRM_DEV_GID; ^
Signed-off-by: Jammy Zhou Jammy.Zhou@amd.com
xf86drm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xf86drm.c b/xf86drm.c index 4d67861..fbda2aa 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -353,7 +353,7 @@ static int drmOpenDevice(dev_t dev, int minor, int type) }
if (drm_server_info) {
- group = (serv_group >= 0) ? serv_group : DRM_DEV_GID;
- group = serv_group;
I don't think this change is correct. get_perms can return errors as negative values. I found that xserver does, see [0] for my take on fixing this, as well as Emil's response [1].
I think changing the condition to: ((int)serv_group >= 0)
should be ok(I don't think there are systems with GID_MAX greater than 2^31-1), but I never bothered sending v2.
jan
[0]http://lists.freedesktop.org/archives/dri-devel/2015-February/077276.html [1]http://lists.freedesktop.org/archives/dri-devel/2015-February/078171.html
chown_check_return(buf, user, group); chmod(buf, devmode); }