Module Name: xsrc Committed By: maya Date: Thu Dec 5 17:41:10 UTC 2019
Modified Files: xsrc/external/mit/MesaLib/dist/src/intel/dev: gen_device_info.c xsrc/external/mit/MesaLib/dist/src/loader: loader.c xsrc/external/mit/MesaLib/dist/src/mesa/main: context.c xsrc/external/mit/MesaLib/dist/src/util: disk_cache.c Log Message: 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.4 -r1.5 \ xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c cvs rdiff -u -r1.1.1.3 -r1.2 \ xsrc/external/mit/MesaLib/dist/src/loader/loader.c cvs rdiff -u -r1.7 -r1.8 \ xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c cvs rdiff -u -r1.3 -r1.4 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.4 xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c:1.5 --- xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c:1.4 Tue Sep 24 19:26:45 2019 +++ xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c Thu Dec 5 17:41:10 2019 @@ -83,7 +83,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.3 xsrc/external/mit/MesaLib/dist/src/loader/loader.c:1.2 --- xsrc/external/mit/MesaLib/dist/src/loader/loader.c:1.1.1.3 Tue Sep 24 17:55:48 2019 +++ xsrc/external/mit/MesaLib/dist/src/loader/loader.c Thu Dec 5 17:41:10 2019 @@ -445,7 +445,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); @@ -533,7 +533,7 @@ loader_open_driver(const char *driver_na const struct __DRIextensionRec **(*get_extensions)(void); search_paths = NULL; - if (geteuid() == getuid() && search_path_vars) { + if (!issetugid() && search_path_vars) { for (int i = 0; search_path_vars[i] != NULL; i++) { search_paths = getenv(search_path_vars[i]); if (search_paths) Index: xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c diff -u xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c:1.7 xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c:1.8 --- xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c:1.7 Tue Sep 24 19:26:50 2019 +++ xsrc/external/mit/MesaLib/dist/src/mesa/main/context.c Thu Dec 5 17:41:10 2019 @@ -1240,7 +1240,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.3 xsrc/external/mit/MesaLib/dist/src/util/disk_cache.c:1.4 --- xsrc/external/mit/MesaLib/dist/src/util/disk_cache.c:1.3 Tue Sep 24 19:26:51 2019 +++ xsrc/external/mit/MesaLib/dist/src/util/disk_cache.c Thu Dec 5 17:41:10 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. */