From 365f4812b12323336e5b54befdbb2628b78713f0 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Thu, 5 Dec 2013 13:35:50 +0100 Subject: tests: rename get_client_auth to have a core_ prefix Also sort .gitignore. Signed-off-by: Daniel Vetter --- tests/.gitignore | 4 +- tests/Makefile.sources | 2 +- tests/core_get_client_auth.c | 88 ++++++++++++++++++++++++++++++++++++++++++++ tests/drm_get_client_auth.c | 88 -------------------------------------------- 4 files changed, 91 insertions(+), 91 deletions(-) create mode 100644 tests/core_get_client_auth.c delete mode 100644 tests/drm_get_client_auth.c diff --git a/tests/.gitignore b/tests/.gitignore index 1bab1cb7..4448cb64 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1,14 +1,14 @@ # Please keep sorted alphabetically core_getclient +core_get_client_auth core_getstats core_getversion ddi_compute_wrpll -drv_suspend -drm_get_client_auth drm_vma_limiter drm_vma_limiter_cached drm_vma_limiter_cpu drm_vma_limiter_gtt +drv_suspend gem_bad_address gem_bad_batch gem_bad_blit diff --git a/tests/Makefile.sources b/tests/Makefile.sources index d201809b..0fa7afcd 100644 --- a/tests/Makefile.sources +++ b/tests/Makefile.sources @@ -63,7 +63,7 @@ TESTS_progs = \ core_getclient \ core_getstats \ core_getversion \ - drm_get_client_auth \ + core_get_client_auth \ drm_vma_limiter \ drm_vma_limiter_cached \ drm_vma_limiter_cpu \ diff --git a/tests/core_get_client_auth.c b/tests/core_get_client_auth.c new file mode 100644 index 00000000..2f493f94 --- /dev/null +++ b/tests/core_get_client_auth.c @@ -0,0 +1,88 @@ +/* + * Copyright © 2012,2013 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Daniel Vetter + * + * Based upon code from libva/va/drm/va_drm_auth.c: + */ + +/* + * Testcase: Check that the hollowed-out get_client ioctl still works for libva + * + * Oh dear, libva, why do you do such funny things? + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +# include + +#include "drm.h" +#include "i915_drm.h" +#include "drmtest.h" + +/* Checks whether the thread id is the current thread */ +static bool +is_local_tid(pid_t tid) +{ +#ifndef ANDROID + /* On Linux systems, drmGetClient() would return the thread ID + instead of the actual process ID */ + return syscall(SYS_gettid) == tid; +#else + return gettid() == tid; +#endif +} + + +static bool check_auth(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; +} + +int main(int argc, char **argv) +{ + int fd; + bool auth; + + fd = drm_open_any(); + + /* root (which we run igt as) should always be authenticated */ + auth = check_auth(fd); + igt_assert(auth); + + return 0; +} diff --git a/tests/drm_get_client_auth.c b/tests/drm_get_client_auth.c deleted file mode 100644 index 2f493f94..00000000 --- a/tests/drm_get_client_auth.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright © 2012,2013 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - * - * Authors: - * Daniel Vetter - * - * Based upon code from libva/va/drm/va_drm_auth.c: - */ - -/* - * Testcase: Check that the hollowed-out get_client ioctl still works for libva - * - * Oh dear, libva, why do you do such funny things? - */ - -#define _GNU_SOURCE -#include -#include -#include -#include -# include - -#include "drm.h" -#include "i915_drm.h" -#include "drmtest.h" - -/* Checks whether the thread id is the current thread */ -static bool -is_local_tid(pid_t tid) -{ -#ifndef ANDROID - /* On Linux systems, drmGetClient() would return the thread ID - instead of the actual process ID */ - return syscall(SYS_gettid) == tid; -#else - return gettid() == tid; -#endif -} - - -static bool check_auth(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; -} - -int main(int argc, char **argv) -{ - int fd; - bool auth; - - fd = drm_open_any(); - - /* root (which we run igt as) should always be authenticated */ - auth = check_auth(fd); - igt_assert(auth); - - return 0; -} -- cgit v1.2.3