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. */