On Thu, 26 May 2022 09:14:56 +0200
Landry Breuil <[email protected]> wrote:

> looking at mesa code, the only occurence i've found of /dev/dri that
> wasnt /dev/dri/card0 is
> https://github.com/openbsd/xenocara/blob/e26c45de6dcbcdbd24a9f4c0b565fc5b1fb86b1e/lib/mesa/src/gallium/drivers/radeonsi/glsl_tests/amdgcn_glslc.c#L75
> - does it work for you with /dev/dri/renderD128 unveiled (in addition to
>   card0, without completely unveiling /dev/dri) ? I would also have
> expected a "ERROR: Couldn't open /dev/dri/renderD128" message on stderr.

firefox-esr-91.9.1 still crashes if I unveil /dev/dri/renderD128
(with card0 and without /dev/dri).

firefox-100.0.2 with an unmodified /etc/firefox does not crash.

I believe that amdgcn_glslc.c is never compiled.  I did find 2 of
opendir("/dev/dri") in /usr/xenocara/lib/libdrm/xf86drm.c

Index: xf86drm.c
===================================================================
RCS file: /cvs/xenocara/lib/libdrm/xf86drm.c,v
retrieving revision 1.40
diff -u -p -r1.40 xf86drm.c
--- xf86drm.c   29 Apr 2022 10:16:20 -0000      1.40
+++ xf86drm.c   26 May 2022 18:47:49 -0000
@@ -4564,6 +4564,8 @@ drm_public int drmGetDeviceFromDevId(dev
     if (subsystem_type < 0)
         return subsystem_type;
 
+    int utrace(const char *, void *, size_t);
+    utrace("AAA drmGetDeviceFromDevId", NULL, 0);
     sysdir = opendir(DRM_DIR_NAME);
     if (!sysdir)
         return -errno;
@@ -4676,6 +4678,8 @@ drm_public int drmGetDevices2(uint32_t f
     if (drm_device_validate_flags(flags))
         return -EINVAL;
 
+    int utrace(const char *, void *, size_t);
+    utrace("AAA drmGetDevices2", NULL, 0);
     sysdir = opendir(DRM_DIR_NAME);
     if (!sysdir)
         return -errno;

After I installed libdrm with this diff, I saw "AAA drmGetDevices2" in
my kdump.  I never saw "AAA drmGetDeviceFromDevId".  Something else
opened "/dev/dri" without an AAA message; it might be another
opendir("/dev/dri"), but I have not found it.

Reply via email to