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>
This commit is contained in:
Joshua Watt 2022-08-31 08:04:39 -05:00 committed by Marge Bot
parent c1cb168888
commit 730834aa6b

View file

@ -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);
}