summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2022-08-31 08:04:39 -0500
committerMarge Bot <emma+marge@anholt.net>2023-05-16 04:31:22 +0000
commit730834aa6b3794128dac0daea4b1eb1212a6b163 (patch)
treec2641a76bf733ae8d57eea94239b9d6f9b990efd
parentc1cb168888e469dc560d130b1653d35576d840c8 (diff)
downloadmesa-730834aa6b3794128dac0daea4b1eb1212a6b163.tar.gz
drm-shim: Set file type in readdir()
Some programs (in particular, older QEMU) will check the type of the rendernode returned in readdir() to see if it is a character device before opening it. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18341>
-rw-r--r--src/drm-shim/drm_shim.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/drm-shim/drm_shim.c b/src/drm-shim/drm_shim.c
index 5bbbb12132e..dec8e69a219 100644
--- a/src/drm-shim/drm_shim.c
+++ b/src/drm-shim/drm_shim.c
@@ -632,6 +632,7 @@ readdir(DIR *dir)
if (_mesa_set_search(opendir_set, dir)) {
strcpy(render_node_dirent.d_name,
render_node_dirent_name);
+ render_node_dirent.d_type = DT_CHR;
ent = &render_node_dirent;
_mesa_set_remove_key(opendir_set, dir);
}
@@ -659,6 +660,7 @@ readdir64(DIR *dir)
if (_mesa_set_search(opendir_set, dir)) {
strcpy(render_node_dirent.d_name,
render_node_dirent_name);
+ render_node_dirent.d_type = DT_CHR;
ent = &render_node_dirent;
_mesa_set_remove_key(opendir_set, dir);
}