summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Velikov <emil.l.velikov@gmail.com>2016-11-15 15:24:15 +0000
committerSean V Kelley <seanvk@posteo.de>2016-11-17 14:38:19 -0800
commit4dc07b2298840bb75de2f7e78a5abe63adaff236 (patch)
tree6bd366c1c5900e10fc4c6067fe2a78a3cafc228e
parent6b8fbf6ea348bb2970af2df9b8e0b3493e3e86f5 (diff)
drm: remove va_drm_is_authenticated check
If we do not use a render node we must authenticate. Doing the extra GetClient calls/ioctls does not help much, so don't bother. Cc: David Herrmann <dh.herrmann@gmail.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Sean V Kelley <seanvk@posteo.de>
-rw-r--r--va/drm/va_drm.c8
-rw-r--r--va/drm/va_drm_auth.c35
-rw-r--r--va/drm/va_drm_auth.h4
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 */