Message ID | 20170407083434.28466-1-ander.conselvan.de.oliveira@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Apr 07, 2017 at 11:34:34AM +0300, Ander Conselvan de Oliveira wrote: > 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 Whoops. Also for any test that repeatedly opens a debugfs, please do move the igt_debugfs_dir() into the caller so we can cache the lookup inside the fd. > 83884e97e187 ("Restore "lib: Open debugfs files for the given DRM device"") > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> -Chris
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; } /**
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@chris-wilson.co.uk> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> --- lib/igt_debugfs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)