[Intel-gfx] [PATCH i-g-t] lib/debugfs: Close dir before returning open debugs file

Ander Conselvan de Oliveira ander.conselvan.de.oliveira at intel.com
Fri Apr 7 08:34:34 UTC 2017


The function igt_debugfs_open() would not close the debugfs dir before
returning. Tests that do a lot of pipe CRC comparaions, such as
kms_cursor_crc,  would eventually fail.

(kms_cursor_crc:3853) igt-debugfs-CRITICAL: Test assertion failure function igt_pipe_crc_do_start, file igt_debugfs.c:387:
(kms_cursor_crc:3853) igt-debugfs-CRITICAL: Failed assertion: err == 0
(kms_cursor_crc:3853) igt-debugfs-CRITICAL: Last errno: 24, Too many open files
(kms_cursor_crc:3853) igt-debugfs-CRITICAL: error: -24 != 0

83884e97e187 ("Restore "lib: Open debugfs files for the given DRM device"")
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
---
 lib/igt_debugfs.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
index d64694c..fb6d521 100644
--- a/lib/igt_debugfs.c
+++ b/lib/igt_debugfs.c
@@ -212,13 +212,17 @@ int igt_debugfs_dir(int device)
  */
 int igt_debugfs_open(int device, const char *filename, int mode)
 {
-	int dir;
+	int dir, ret;
 
 	dir = igt_debugfs_dir(device);
 	if (dir < 0)
 		return dir;
 
-	return openat(dir, filename, mode);
+	ret = openat(dir, filename, mode);
+
+	close(dir);
+
+	return ret;
 }
 
 /**
-- 
2.9.3



More information about the Intel-gfx mailing list