lib/test_printf.c: don't BUG
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Sat, 16 Jan 2016 00:58:50 +0000 (16:58 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 16 Jan 2016 19:17:27 +0000 (11:17 -0800)
BUG is a completely unnecessarily big hammer, and we're more likely to
get the internal bug reported if we just pr_err() and ensure the test
suite fails.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Joe Perches <joe@perches.com>
Cc: Maurizio Lombardi <mlombard@redhat.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
lib/test_printf.c

index c5a666af9ba5a4536edd58b626f2b0b339b2138d..9232a2add28cf8fe505515e34020f20dcfb6573f 100644 (file)
@@ -91,7 +91,12 @@ __test(const char *expect, int elen, const char *fmt, ...)
        int rand;
        char *p;
 
-       BUG_ON(elen >= BUF_SIZE);
+       if (elen >= BUF_SIZE) {
+               pr_err("error in test suite: expected output length %d too long. Format was '%s'.\n",
+                      elen, fmt);
+               failed_tests++;
+               return;
+       }
 
        va_start(ap, fmt);