Module Name: xsrc Committed By: martin Date: Thu Dec 12 11:36:34 UTC 2019
Modified Files: xsrc/external/mit/MesaLib/dist/src/intel/dev [netbsd-9]: gen_device_info.c xsrc/external/mit/MesaLib/dist/src/loader [netbsd-9]: loader.c xsrc/external/mit/MesaLib/dist/src/mesa/main [netbsd-9]: context.c xsrc/external/mit/MesaLib/dist/src/util [netbsd-9]: disk_cache.c Log Message: Pull up following revision(s) (requested by maya in ticket #526): external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c: revision 1.5 external/mit/MesaLib/dist/src/loader/loader.c: revision 1.2 external/mit/MesaLib/dist/src/mesa/main/context.c: revision 1.8 external/mit/MesaLib/dist/src/util/disk_cache.c: revision 1.4 (all via patch) Wherever we test for setuid, also test for setgid. Inspired by a diff to openbsd but with a few more instances. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.3.2.1 \ xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c cvs rdiff -u -r1.1.1.2 -r1.1.1.2.2.1 \ xsrc/external/mit/MesaLib/dist/src/loader/loader.c cvs rdiff -u -r1.6 -r1.6.2.1 \ xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c cvs rdiff -u -r1.2 -r1.2.2.1 \ xsrc/external/mit/MesaLib/dist/src/util/disk_cache.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c diff -u xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c:1.3 xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c:1.3.2.1 --- xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c:1.3 Sat Jun 1 07:53:00 2019 +++ xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c Thu Dec 12 11:36:34 2019 @@ -82,7 +82,7 @@ gen_device_name_to_pci_device_id(const c int gen_get_pci_device_id_override(void) { - if (geteuid() == getuid()) { + if (!issetugid()) { const char *devid_override = getenv("INTEL_DEVID_OVERRIDE"); if (devid_override) { const int id = gen_device_name_to_pci_device_id(devid_override); Index: xsrc/external/mit/MesaLib/dist/src/loader/loader.c diff -u xsrc/external/mit/MesaLib/dist/src/loader/loader.c:1.1.1.2 xsrc/external/mit/MesaLib/dist/src/loader/loader.c:1.1.1.2.2.1 --- xsrc/external/mit/MesaLib/dist/src/loader/loader.c:1.1.1.2 Sun Mar 10 03:42:46 2019 +++ xsrc/external/mit/MesaLib/dist/src/loader/loader.c Thu Dec 12 11:36:34 2019 @@ -441,7 +441,7 @@ loader_get_driver_for_fd(int fd) * user's problem, but this allows vc4 simulator to run on an i965 host, * and may be useful for some touch testing of i915 on an i965 host. */ - if (geteuid() == getuid()) { + if (!issetugid()) { driver = getenv("MESA_LOADER_DRIVER_OVERRIDE"); if (driver) return strdup(driver); Index: xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c diff -u xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c:1.6 xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c:1.6.2.1 --- xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c:1.6 Sun Mar 10 04:15:55 2019 +++ xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c Thu Dec 12 11:36:34 2019 @@ -1223,7 +1223,7 @@ _mesa_initialize_context(struct gl_conte */ if (env_var_as_boolean("MESA_NO_ERROR", false)) { #if !defined(_WIN32) - if (geteuid() == getuid()) + if (!issetugid()) #endif ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR; } Index: xsrc/external/mit/MesaLib/dist/src/util/disk_cache.c diff -u xsrc/external/mit/MesaLib/dist/src/util/disk_cache.c:1.2 xsrc/external/mit/MesaLib/dist/src/util/disk_cache.c:1.2.2.1 --- xsrc/external/mit/MesaLib/dist/src/util/disk_cache.c:1.2 Sun Mar 10 04:15:57 2019 +++ xsrc/external/mit/MesaLib/dist/src/util/disk_cache.c Thu Dec 12 11:36:34 2019 @@ -212,7 +212,7 @@ disk_cache_create(const char *gpu_name, size_t cv_size = sizeof(cache_version); /* If running as a users other than the real user disable cache */ - if (geteuid() != getuid()) + if (issetugid()) return NULL; /* A ralloc context for transient data during this invocation. */