public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] runner_tests: Fix the file descriptor leakage subtest
@ 2019-06-04 15:12 Arkadiusz Hiler
  2019-06-04 16:13 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Arkadiusz Hiler @ 2019-06-04 15:12 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

Some libraries (looking at you, GnuTLS) may leave fds opened after the
implicitly called library constructor. We don't have full control over
them as they may be dependencies of our dependencies and may get pulled
in if the user's and distribution's compile/configure/USE are just
right.

Let's close all the non-standard fds ahead of executing anything in the
igt_runner tests, so we can test for descriptor leakage caused by any of
the igt_runner code-paths exercised there.

Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 runner/runner_tests.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/runner/runner_tests.c b/runner/runner_tests.c
index 1fc09688..c09cda70 100644
--- a/runner/runner_tests.c
+++ b/runner/runner_tests.c
@@ -208,8 +208,27 @@ igt_main
 {
 	struct settings *settings = malloc(sizeof(*settings));
 
-	igt_fixture
+	igt_fixture {
+		int i;
+
+		/*
+		 * Let's close all the non-standard fds ahead of executing
+		 * anything, so we can test for descriptor leakage caused by
+		 * any of the igt_runner code-paths exercised here.
+		 *
+		 * See file-descriptor-leakage subtest at the end.
+		 *
+		 * Some libraries (looking at you, GnuTLS) may leave fds opened
+		 * after the implicitly called library constructor. We don't
+		 * have full control over them as they may be dependencies of
+		 * our dependencies and may get pulled in if the user's and
+		 * distribution's compile/configure/USE are just right.
+		 */
+		for (i = 3; i < 400; i++)
+			close(i);
+
 		init_settings(settings);
+	}
 
 	igt_subtest("default-settings") {
 		const char *argv[] = { "runner",
-- 
2.21.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-06-05 10:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-04 15:12 [igt-dev] [PATCH i-g-t] runner_tests: Fix the file descriptor leakage subtest Arkadiusz Hiler
2019-06-04 16:13 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-06-04 16:16 ` [igt-dev] [PATCH i-g-t] " Antonio Argenziano
2019-06-05 10:02 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork
2019-06-05 10:04 ` [igt-dev] [PATCH i-g-t] " Ser, Simon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox