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

Reply via email to