From patchwork Fri Jul 13 15:49:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Obermayr X-Patchwork-Id: 1196231 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork1.kernel.org (Postfix) with ESMTP id BC7D63FC4C for ; Fri, 13 Jul 2012 15:55:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D19C39E93B for ; Fri, 13 Jul 2012 08:55:01 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by gabe.freedesktop.org (Postfix) with SMTP id 7B19D9E8B6 for ; Fri, 13 Jul 2012 08:51:25 -0700 (PDT) Received: (qmail invoked by alias); 13 Jul 2012 15:51:24 -0000 Received: from p57915C2C.dip.t-dialin.net (EHLO jobermayr.MSHEIMNETZ) [87.145.92.44] by mail.gmx.net (mp024) with SMTP; 13 Jul 2012 17:51:24 +0200 X-Authenticated: #1405430 X-Provags-ID: V01U2FsdGVkX18tV7lbC0ktmwb22yUSC+ZdHipRJq+GwB29BaKV9X 1E1vGH+o2WB7ZC From: Johannes Obermayr To: dri-devel@lists.freedesktop.org Subject: [PATCH 4/5] xf86drm.c: Make more code UDEV unrelevant and fix a memory leak. Date: Fri, 13 Jul 2012 17:49:16 +0200 Message-Id: <1342194557-4144-5-git-send-email-johannesobermayr@gmx.de> X-Mailer: git-send-email 1.7.7 In-Reply-To: <1342194557-4144-1-git-send-email-johannesobermayr@gmx.de> References: <1342194557-4144-1-git-send-email-johannesobermayr@gmx.de> X-Y-GMX-Trusted: 0 Cc: Johannes Obermayr X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org --- xf86drm.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/xf86drm.c b/xf86drm.c index 6ea068f..e3789c8 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -255,6 +255,7 @@ static int drmMatchBusID(const char *id1, const char *id2, int pci_domain_ok) return 0; } +#if !defined(UDEV) /** * Handles error checking for chown call. * @@ -284,6 +285,7 @@ static int chown_check_return(const char *path, uid_t owner, gid_t group) path, errno, strerror(errno)); return -1; } +#endif /** * Open the DRM device, creating it if necessary. @@ -303,14 +305,17 @@ static int drmOpenDevice(long dev, int minor, int type) stat_t st; char buf[64]; int fd; +#if !defined(UDEV) mode_t devmode = DRM_DEV_MODE, serv_mode; int isroot = !geteuid(); uid_t user = DRM_DEV_UID; gid_t group = DRM_DEV_GID, serv_group; - +#endif + sprintf(buf, type ? DRM_DEV_NAME : DRM_CONTROL_DEV_NAME, DRM_DIR_NAME, minor); drmMsg("drmOpenDevice: node name is %s\n", buf); +#if !defined(UDEV) if (drm_server_info) { drm_server_info->get_perms(&serv_group, &serv_mode); devmode = serv_mode ? serv_mode : DRM_DEV_MODE; @@ -318,7 +323,6 @@ static int drmOpenDevice(long dev, int minor, int type) group = (serv_group >= 0) ? serv_group : DRM_DEV_GID; } -#if !defined(UDEV) if (stat(DRM_DIR_NAME, &st)) { if (!isroot) return DRM_ERR_NOT_ROOT; @@ -1395,8 +1399,10 @@ drm_context_t *drmGetReservedContextList(int fd, int *count) } res.contexts = list; - if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) + if (drmIoctl(fd, DRM_IOCTL_RES_CTX, &res)) { + drmFree(retval); return NULL; + } for (i = 0; i < res.count; i++) retval[i] = list[i].handle;