[Libva] [PATCH] drm: remove va_drm_is_authenticated check
Sean V Kelley
seanvk at posteo.de
Thu Nov 17 22:46:14 UTC 2016
On Tue, 2016-11-15 at 15:24 +0000, Emil Velikov wrote:
> 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 at gmail.com>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
After some discussion in this thread, lgtm, applied.
Thanks,
Sean
> ---
> David, Daniel, I believe things are perfectly reasonable on kernel
> side.
> If not please shout.
> ---
> va/drm/va_drm.c | 8 ++------
> va/drm/va_drm_auth.c | 35 -----------------------------------
> 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 */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/libva/attachments/20161117/99d236c3/attachment.sig>
More information about the Libva
mailing list