igt_wan and other log functions are not async-signal safe, so should not
be used in signal handlers.

Reported-by: Paulo Zanoni <paulo.r.zan...@intel.com>
Signed-off-by: Thomas Wood <thomas.w...@intel.com>
---
 lib/igt_aux.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index e77392c..04ca25b 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -47,6 +47,7 @@
 #include <sys/syscall.h>
 #include <sys/utsname.h>
 #include <termios.h>
+#include <assert.h>
 
 #include "drmtest.h"
 #include "i915_drm.h"
@@ -769,9 +770,13 @@ static void igt_module_param_exit_handler(int sig)
                if (fd >= 0) {
                        int size = strlen (data->original_value);
 
-                       if (size != write(fd, data->original_value, size))
-                               igt_warn("%s may not have been reset to its"
-                                        " original value\n", file_path);
+                       if (size != write(fd, data->original_value, size)) {
+                               const char msg[] = "WARNING: Module parameters "
+                                       "may not have been reset to their "
+                                       "original values\n";
+                               assert(write(STDERR_FILENO, msg, sizeof(msg))
+                                      == sizeof(msg));
+                       }
 
                        close(fd);
                }
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to