diff options
-rw-r--r-- | va/drm/va_drm.c | 8 | ||||
-rw-r--r-- | va/drm/va_drm_auth.c | 35 | ||||
-rw-r--r-- | va/drm/va_drm_auth.h | 4 |
3 files changed, 2 insertions, 45 deletions
diff --git a/va/drm/va_drm.c b/va/drm/va_drm.c index 08071cf..59e33fa 100644 --- a/va/drm/va_drm.c +++ b/va/drm/va_drm.c @@ -74,12 +74,8 @@ va_DisplayContextGetDriverName( if (ret < 0) return VA_STATUS_ERROR_OPERATION_FAILED; - if (!va_drm_is_authenticated(drm_state->fd)) { - if (!va_drm_authenticate(drm_state->fd, magic)) - return VA_STATUS_ERROR_OPERATION_FAILED; - if (!va_drm_is_authenticated(drm_state->fd)) - return VA_STATUS_ERROR_OPERATION_FAILED; - } + if (!va_drm_authenticate(drm_state->fd, magic)) + return VA_STATUS_ERROR_OPERATION_FAILED; } drm_state->auth_type = VA_DRM_AUTH_CUSTOM; diff --git a/va/drm/va_drm_auth.c b/va/drm/va_drm_auth.c index 53794d3..592381d 100644 --- a/va/drm/va_drm_auth.c +++ b/va/drm/va_drm_auth.c @@ -28,41 +28,6 @@ #include "va_drm_auth.h" #include "va_drm_auth_x11.h" -#if defined __linux__ -# include <sys/syscall.h> -#endif - -/* Checks whether the thread id is the current thread */ -static bool -is_local_tid(pid_t tid) -{ -#if defined __linux__ - /* On Linux systems, drmGetClient() would return the thread ID - instead of the actual process ID */ - return syscall(SYS_gettid) == tid; -#else - return false; -#endif -} - -/* Checks whether DRM connection is authenticated */ -bool -va_drm_is_authenticated(int fd) -{ - pid_t client_pid; - int i, auth, pid, uid; - unsigned long magic, iocs; - bool is_authenticated = false; - - client_pid = getpid(); - for (i = 0; !is_authenticated; i++) { - if (drmGetClient(fd, i, &auth, &pid, &uid, &magic, &iocs) != 0) - break; - is_authenticated = auth && (pid == client_pid || is_local_tid(pid)); - } - return is_authenticated; -} - /* Try to authenticate the DRM connection with the supplied magic id */ bool va_drm_authenticate(int fd, uint32_t magic) diff --git a/va/drm/va_drm_auth.h b/va/drm/va_drm_auth.h index 1aa6989..a8ca794 100644 --- a/va/drm/va_drm_auth.h +++ b/va/drm/va_drm_auth.h @@ -30,10 +30,6 @@ DLL_HIDDEN bool -va_drm_is_authenticated(int fd); - -DLL_HIDDEN -bool va_drm_authenticate(int fd, uint32_t magic); #endif /* VA_DRM_AUTH_H */ |